Skip to content

Instantly share code, notes, and snippets.

@petermreid
Last active October 23, 2015 11:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save petermreid/23e64049b0aa270a1240 to your computer and use it in GitHub Desktop.
Save petermreid/23e64049b0aa270a1240 to your computer and use it in GitHub Desktop.
let
Source = Web.Page(Web.Contents("https://countrycode.org/")),
Data0 = Source{0}[Data],
#"Changed Type" = Table.TransformColumnTypes(Data0,{{"COUNTRY", type text}, {"COUNTRY CODE", type text}, {"ISO CODES", type text}, {"POPULATION", Int64.Type}, {"AREA KM2", Int64.Type}, {"GDP $USD", type text}}),
#"Renamed Columns" = Table.RenameColumns(#"Changed Type",{{"GDP $USD", "GDP"}}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Renamed Columns","GDP",Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.None, false),{"GDP.1", "GDP.2"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"GDP.1", type number}, {"GDP.2", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type1", "Multipler", each
if [GDP.2]="Million" then 1000000 else
if [GDP.2]="Billion" then 1000000000 else
if [GDP.2]="Trillion" then 1000000000000 else 1),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "GDP", each [GDP.1]*[Multipler]),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom1",{"GDP.1", "GDP.2", "Multipler"}),
#"Split Column by Delimiter1" = Table.SplitColumn(#"Removed Columns","ISO CODES",Splitter.SplitTextByEachDelimiter({"/"}, QuoteStyle.Csv, false),{"ISO CODES.1", "ISO CODES.2"}),
#"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Delimiter1",{{"ISO CODES.1", type text}, {"ISO CODES.2", type text}}),
#"Removed Columns1" = Table.RemoveColumns(#"Changed Type2",{"COUNTRY CODE", "ISO CODES.2"}),
#"Renamed Columns1" = Table.RenameColumns(#"Removed Columns1",{{"ISO CODES.1", "CountryCode"}}),
#"Indexed Table" = Table.AddKey( #"Renamed Columns1", {"CountryCode"}, true)
in
#"Indexed Table"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment