-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPortofolio 01 Canada Immigrant.sql
108 lines (93 loc) · 2.58 KB
/
Portofolio 01 Canada Immigrant.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/****** Script for SelectTopNRows command from SSMS ******/
SELECT TOP (1000) [Type]
,[Coverage]
,[OdName]
,[AREA]
,[AreaName]
,[REG]
,[RegName]
,[DEV]
,[DevName]
,[1980]
,[1981]
,[1982]
,[1983]
,[1984]
,[1985]
,[1986]
,[1987]
,[1988]
,[1989]
,[1990]
,[1991]
,[1992]
,[1993]
,[1994]
,[1995]
,[1996]
,[1997]
,[1998]
,[1999]
,[2000]
,[2001]
,[2002]
,[2003]
,[2004]
,[2005]
,[2006]
,[2007]
,[2008]
,[2009]
,[2010]
,[2011]
,[2012]
,[2013]
,[F44]
,[F45]
,[F46]
,[F47]
,[F48]
,[F49]
,[F50]
,[F51]
FROM [Portofolio Project].[dbo].['Canada by Citizenship$']
-- PART 1 : DATA PREPARATION
-- Drop Several Columns
alter table [Portofolio Project].[dbo].['Canada by Citizenship$']
Drop column F44, F45, F46, F47, F48, F49, F50, F51
alter table [Portofolio Project].[dbo].['Canada by Citizenship$']
Drop column AREA, REG, DEV, Type
alter table [Portofolio Project].[dbo].['Canada by Citizenship$']
Drop column type
select * from [Portofolio Project].[dbo].['Canada by Citizenship$']
Delete from [Portofolio Project].[dbo].['Canada by Citizenship$']
where AreaName = 'World';
-- Unpivot the year column
Create view canadav2 as
select Coverage, OdName, AreaName, RegName, DevName, Year, NumOfImm
from [Portofolio Project].[dbo].['Canada by Citizenship$']
unpivot (
NumOfImm for year in ([1980], [1981], [1982], [1983], [1984], [1985],[1986],[1987],[1988],[1989],[1990],[1991],[1992],[1993],
[1994],[1995],[1996],[1997],[1998],[1999],[2000],[2001],[2002],[2003],[2004],[2005],[2006],[2007],[2008],[2009],[2010],[2011],
[2012],[2013]
)
) as imm
select * from canadav2
-- PART 2 : DATA UNDERSTANDING (UNIVARIATE ANALYSIS)
-- Average immigrant per year
Select avg(y.TotImm) AverageImmigrant from (
select sum(NumOfImm) TotImm
from canadav2
group by year) y
-- Top 10 year with Highest Immigrants
Select top 10 year, sum(NumOfImm) TotalOfImmigrants from canadav2
group by year
order by sum(NumOfImm) Desc
-- Total Immigrant per Continent
Select AreaName, sum(NumOfImm) TotalOfImmigrant from canadav2
group by AreaName
Order by sum(NumOfImm) Desc
-- Top 10 country which has the highest immigrants to Canada
Select top 10 OdName, sum(NumOfImm) TotalOfImmigrants from canadav2
group by OdName
order by sum(NumOfImm) Desc