├── .gitignore ├── Data ├── Environment │ └── CO2_Emmisions.xls ├── births-and-deaths-projected-to-2100.csv ├── carbon-intensity-electricity.csv ├── countries.xlsx ├── expected-years-of-schooling.csv ├── freedom-of-expression-index.csv ├── gdp-per-capita.csv ├── gdp.csv ├── human-development-index.csv ├── life-expectancy.csv ├── major_cities.xlsx ├── merchandise-exports-gdp-cepii.csv ├── metrics_metadata.xlsx ├── population.csv └── world-banks-income-groups.csv ├── LICENSE ├── LightBlueTheme.json ├── README.md ├── World Data and Weather.Dataset ├── .pbi │ ├── editorSettings.json │ └── unappliedChanges.json ├── definition.pbidataset ├── diagramLayout.json ├── item.config.json ├── item.metadata.json └── model.bim ├── World Data and Weather.Report ├── StaticResources │ ├── RegisteredResources │ │ ├── Brunner_BI-_Simply_Modern_Ligh8862026161132219.json │ │ ├── earth-globe-planet-svgrepo-com3921575188824318.png │ │ ├── filter_add21850998406874056.png │ │ ├── filter_off3289687722501209.png │ │ └── filter_remove5921798705167054.png │ └── SharedResources │ │ └── BaseThemes │ │ └── CY23SU04.json ├── definition.pbir ├── item.config.json ├── item.metadata.json └── report.json └── World Data and Weather.pbip /.gitignore: -------------------------------------------------------------------------------- 1 | **/.pbi/localSettings.json 2 | **/.pbi/cache.abf -------------------------------------------------------------------------------- /Data/Environment/CO2_Emmisions.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurgenfolz/WorldDataReport/73f7cd7f5f2f930f173ba82d5e96929c94465d3c/Data/Environment/CO2_Emmisions.xls -------------------------------------------------------------------------------- /Data/countries.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurgenfolz/WorldDataReport/73f7cd7f5f2f930f173ba82d5e96929c94465d3c/Data/countries.xlsx -------------------------------------------------------------------------------- /Data/major_cities.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurgenfolz/WorldDataReport/73f7cd7f5f2f930f173ba82d5e96929c94465d3c/Data/major_cities.xlsx -------------------------------------------------------------------------------- /Data/metrics_metadata.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurgenfolz/WorldDataReport/73f7cd7f5f2f930f173ba82d5e96929c94465d3c/Data/metrics_metadata.xlsx -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Klaus Folz 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /LightBlueTheme.json: -------------------------------------------------------------------------------- 1 | {"name":"LightBlueTheme","visualStyles":{"page":{"*":{"background":[{"color":{"solid":{"color":"#FFFFFF"}},"transparency":100}],"outspace":[{"color":{"solid":{"color":"#FFFFFF"}},"transparency":100}]}},"*":{"*":{"outspacePane":[{"backgroundColor":{"solid":{"color":"#FFFFFF"}},"foregroundColor":{"solid":{"color":"#323447"}},"checkboxAndApplyColor":{"solid":{"color":"#15CAB6"}}}],"filterCard":[{"$id":"Applied","backgroundColor":{"solid":{"color":"#FCFDFE"}},"foregroundColor":{"solid":{"color":"#323447"}},"transparency":0},{"$id":"Available","backgroundColor":{"solid":{"color":"#F1F2F7"}},"foregroundColor":{"solid":{"color":"#323447"}},"transparency":0}],"background":[{"color":{"solid":{"color":"#FFFFFF"}},"transparency":100}],"border":[{"color":{"solid":{"color":"#F8FAFC"}},"show":true,"radius":5}],"visualHeader":[{"background":{"solid":{"color":"#F8FAF7"}},"foreground":{"solid":{"color":"#323447"}},"border":{"solid":{"color":"#F8FAFC"}}}],"visualTooltip":[{"titleFontColor":{"solid":{"color":"#DFDFE9"}},"valueFontColor":{"solid":{"color":"#F1F2F7"}},"background":{"solid":{"color":"#323447"}}}],"visualHeaderTooltip":[{"titleFontColor":{"solid":{"color":"#DFDFE9"}},"background":{"solid":{"color":"#323447"}}}]}}},"dataColors":["#287E8F","#E7FF6E","#F6B53D","#EF8A5A","#EB0000","#696CB5","#0F488C","#383838","#3599B8","#DFBFBF","#4AC5BB","#5F6B6D","#FB8281","#F4D25A","#7F898A","#A4DDEE","#FDAB89","#B687AC","#28738A","#A78F8F","#168980","#293537","#BB4A4A","#B59525","#475052","#6A9FB0","#BD7150","#7B4F71","#1B4D5C","#706060","#0F5C55","#1C2325"],"textClasses":{"label":{"fontFace":"Calibri","color":"#323447","fontSize":9},"callout":{"color":"#323447","fontSize":24},"title":{"color":"#323447","fontFace":"Calibri","fontSize":10},"header":{"color":"#323447","fontSize":10,"fontFace":"Calibri"}},"bad":"#E85E76","neutral":"#CCCCCC","good":"#15CAB6","minimum":"#E85E76","center":"#CCCCCC","maximum":"#15CAB6","foreground":"#323447"} -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # World Data Report 2 | This repository contains the Power BI report for analyzing various world data metrics, including births, deaths, carbon intensity of electricity, freedom of expression index, GDP, HDI, merchandise exports as GDP, population, life expectancy, expected years of schooling, GNI, and weather forecasts for major cities. 3 | Gathers weather data from cities across the globe with a population greater than 15,000. 4 | Geography and Demographics: Includes a diverse range of indexes and metrics like population, births, deaths, life expectancy, expected years of schooling, and more. 5 | Socio-Economics: Delivers insights on various economic indicators such as GDP, GDP per capita, GNI, and the HDI to gauge economic health and living standards across different regions. 6 | The extensive range of data provides a comprehensive view of global trends and patterns, making it an invaluable resource for analysts, policymakers, data enthusiasts, and anyone interested in understanding the world better through data. 7 | ![image](https://github.com/jurgenfolz/WorldDataReport/assets/98173546/88c2e0f2-d105-46cd-8b3e-5377c0c2fe84) 8 | ![image](https://github.com/jurgenfolz/WorldDataReport/assets/98173546/79ca3f30-fc10-44af-b6f2-4d3d2fefbafb) 9 | 10 | 11 | ## Getting Started 12 | 13 | To use this report, you'll need Power BI Desktop installed on your computer. After cloning or downloading this repository, open the `.pbip` file in Power BI Desktop. 14 | 15 | ### Configuring Parameters 16 | 17 | The report uses several parameters to dynamically load data. Before you can refresh the data in Power BI, you'll need to configure these parameters: 18 | 19 | 1\. **PathToData**: Set this to the local path where your `.csv` and `.xlsx` files are stored. For example, if your data files are located in `C:\Users\YourName\Documents\WorldDataReport\Data`, you'll set the `PathToData` parameter to this path. 20 | 21 | 2\. **API Key**: Some data sources in this report require an API key. You'll need to replace the default API key with your own. Obtain an API key from the respective data provider's website and update the `API Key` parameter in the report. 22 | 23 | ### Data Files 24 | 25 | This report requires the following data files to be placed in the `PathToData` directory: 26 | 27 | - births-and-deaths-projected-to-2100.csv 28 | 29 | - carbon-intensity-electricity.csv 30 | 31 | - freedom-of-expression-index.csv 32 | 33 | - gdp.csv 34 | 35 | - gdp-per-capita.csv 36 | 37 | - human-development-index.csv 38 | 39 | - merchandise-exports-gdp-cepii.csv 40 | 41 | - population.csv 42 | 43 | - life-expectancy.csv 44 | 45 | - expected-years-of-schooling.csv 46 | 47 | - world-banks-income-groups.csv 48 | 49 | - major_cities.xlsx (For weather forecast data) 50 | 51 | Ensure these files are present in your specified `PathToData` directory before refreshing the data in Power BI. 52 | 53 | ### Creating and Changing the API Key 54 | 55 | Create a free account to get an API key here: [weatherapi.com](https://www.weatherapi.com/) 56 | 57 | To change the API key: 58 | 59 | 1\. Go to the `Transform Data` section in Power BI. 60 | 61 | 2\. Navigate to the `API Key` query under the `Parameters` folder. 62 | 63 | 3\. Replace the existing value with your new API key. 64 | 65 | 4\. Apply the changes. 66 | 67 | ### Changing the Path to Data Files 68 | 69 | To change the path to your data files: 70 | 71 | 1\. Go to the `Transform Data` section in Power BI. 72 | 73 | 2\. Navigate to the `PathToData` query under the `Parameters` folder. 74 | 75 | 3\. Replace the existing path with the path to your data directory. 76 | 77 | 4\. Apply the changes. 78 | 79 | ## Refreshing the Data 80 | 81 | Once the parameters are correctly set, you can refresh the data in Power BI to load the latest data from your files and APIs. 82 | 83 | ## Report Usage 84 | 85 | Explore the various pages and visuals in the report to analyze the data. Use slicers and filters to narrow down the data and uncover insights. 86 | 87 | ## Contributing 88 | 89 | We welcome contributions to improve the report or fix issues. Please feel free to fork the repository, make changes, and submit a pull request. 90 | 91 | ## License 92 | 93 | This project is licensed under the MIT License - see the LICENSE file for details. 94 | -------------------------------------------------------------------------------- /World Data and Weather.Dataset/.pbi/editorSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "autodetectRelationships": true, 4 | "parallelQueryLoading": true, 5 | "typeDetectionEnabled": true, 6 | "relationshipImportEnabled": true, 7 | "shouldNotifyUserOfNameConflictResolution": true 8 | } -------------------------------------------------------------------------------- /World Data and Weather.Dataset/.pbi/unappliedChanges.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "conceptualSchemaSettings": {}, 4 | "queries": [ 5 | { 6 | "name": "dMetricSystem", 7 | "lineageTag": "8bd251fb-eb01-4896-86e7-8540caece494", 8 | "queryGroupId": "65b26c0a-696f-4291-a301-00e87b035f01", 9 | "navigationStepName": "Navigation", 10 | "text": [ 11 | "let", 12 | " Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText(\"i45W8swrSS3KSyzJzM9LzFEoriwuSc1VitUBSuQWpBZlIonFAgA=\", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#\"Metric System\" = _t]),", 13 | " #\"Changed Type\" = Table.TransformColumnTypes(Source,{{\"Metric System\", type text}})", 14 | "in", 15 | " #\"Changed Type\"" 16 | ], 17 | "isDirectQuery": false, 18 | "lastLoadedAsTableFormulaText": "{\"IncludesReferencedQueries\":false,\"RootFormulaText\":\"let\\n Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText(\\\"i45W8swrSS3KSyzJzM9LzFEoriwuSc1VitUBSuQWpBZlIonFAgA=\\\", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#\\\"Metric System\\\" = _t]),\\n #\\\"Changed Type\\\" = Table.TransformColumnTypes(Source,{{\\\"Metric System\\\", type text}})\\nin\\n #\\\"Changed Type\\\"\",\"ReferencedQueriesFormulaText\":{}}", 19 | "loadAsTableDisabled": false, 20 | "resultType": "Table", 21 | "isHidden": false 22 | }, 23 | { 24 | "name": "dMetrics", 25 | "lineageTag": "92283c49-0c4d-4746-854f-9b05a6273ecf", 26 | "queryGroupId": "65b26c0a-696f-4291-a301-00e87b035f01", 27 | "navigationStepName": "Navigation", 28 | "text": [ 29 | "let", 30 | " Source = Excel.Workbook(File.Contents(PathToData&\"\\metrics_metadata.xlsx\"), null, true),", 31 | " Tabelle1_Sheet = Source{[Item=\"Tabelle1\",Kind=\"Sheet\"]}[Data],", 32 | " #\"Promoted Headers\" = Table.PromoteHeaders(Tabelle1_Sheet, [PromoteAllScalars=true]),", 33 | " #\"Changed Type1\" = Table.TransformColumnTypes(#\"Promoted Headers\",{{\"Attribute\", type text}, {\"Alias\", type text}, {\"Description\", type text}, {\"Source\", type text}, {\"Link\", type text}, {\"Parameter name\", type text}})", 34 | "in", 35 | " #\"Changed Type1\"" 36 | ], 37 | "isDirectQuery": false, 38 | "lastLoadedAsTableFormulaText": "{\"IncludesReferencedQueries\":false,\"RootFormulaText\":\"let\\n Source = PowerPlatform.Dataflows(null),\\n Workspaces = Source{[Id=\\\"Workspaces\\\"]}[Data],\\n #\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\" = Workspaces{[workspaceId=\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\"]}[Data],\\n #\\\"b02f07c5-fa20-4031-bad4-cfad35b11035\\\" = #\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\"{[dataflowId=\\\"b02f07c5-fa20-4031-bad4-cfad35b11035\\\"]}[Data],\\n dMetrics_ = #\\\"b02f07c5-fa20-4031-bad4-cfad35b11035\\\"{[entity=\\\"dMetrics\\\",version=\\\"\\\"]}[Data]\\nin\\n dMetrics_\",\"ReferencedQueriesFormulaText\":{}}", 39 | "loadAsTableDisabled": false, 40 | "resultType": "Table", 41 | "isHidden": false 42 | }, 43 | { 44 | "name": "dCountries", 45 | "lineageTag": "79a7641b-6474-4e48-831c-d7d94faf95e9", 46 | "queryGroupId": "65b26c0a-696f-4291-a301-00e87b035f01", 47 | "navigationStepName": "Navigation", 48 | "refreshWhenRefreshingAll": false, 49 | "text": [ 50 | "let", 51 | " Source = Excel.Workbook(File.Contents(PathToData & \"\\countries.xlsx\"), null, true), ", 52 | " countries_Sheet = Source{[Item = \"countries\", Kind = \"Sheet\"]}[Data], ", 53 | " #\"Promoted Headers\" = Table.PromoteHeaders(countries_Sheet, [PromoteAllScalars = true]), ", 54 | " #\"Changed Type\" = Table.TransformColumnTypes(", 55 | " #\"Promoted Headers\", ", 56 | " {", 57 | " {\"ISO\", type text}, ", 58 | " {\"ISO3\", type text}, ", 59 | " {\"ISO-Numeric\", Int64.Type}, ", 60 | " {\"fips\", type text}, ", 61 | " {\"Country\", type text}, ", 62 | " {\"Capital\", type text}, ", 63 | " {\"Area(in sq km)\", Int64.Type}, ", 64 | " {\"Population\", Int64.Type}, ", 65 | " {\"ContinentAbreviation\", type text}, ", 66 | " {\"tld\", type text}, ", 67 | " {\"CurrencyCode\", type text}, ", 68 | " {\"CurrencyName\", type text}, ", 69 | " {\"Phone\", type text}, ", 70 | " {\"Postal Code Format\", type text}, ", 71 | " {\"Postal Code Regex\", type text}, ", 72 | " {\"Languages\", type text}, ", 73 | " {\"geonameid\", Int64.Type}, ", 74 | " {\"neighbours\", type text}, ", 75 | " {\"EquivalentFipsCode\", type text}", 76 | " }", 77 | " ), ", 78 | " #\"Added ContinentName\" = Table.AddColumn(", 79 | " #\"Changed Type\", ", 80 | " \"ContinentName\", ", 81 | " each Switch(", 82 | " {", 83 | " [ContinentAbreviation], ", 84 | " \"EU\", \"Europe\", ", 85 | " \"NA\", \"North America\", ", 86 | " \"SA\", \"South America\", ", 87 | " \"OC\", \"Oceania\", ", 88 | " \"AF\", \"Africa\", ", 89 | " \"AS\", \"Asia\", ", 90 | " \"AN\", \"Antartica\"", 91 | " }", 92 | " ), ", 93 | " type text", 94 | " )", 95 | "in", 96 | " #\"Added ContinentName\"" 97 | ], 98 | "isDirectQuery": false, 99 | "lastLoadedAsTableFormulaText": "{\"IncludesReferencedQueries\":false,\"RootFormulaText\":\"let\\n Source = PowerPlatform.Dataflows(null),\\n Workspaces = Source{[Id=\\\"Workspaces\\\"]}[Data],\\n #\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\" = Workspaces{[workspaceId=\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\"]}[Data],\\n #\\\"b02f07c5-fa20-4031-bad4-cfad35b11035\\\" = #\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\"{[dataflowId=\\\"b02f07c5-fa20-4031-bad4-cfad35b11035\\\"]}[Data],\\n dCountries_ = #\\\"b02f07c5-fa20-4031-bad4-cfad35b11035\\\"{[entity=\\\"dCountries\\\",version=\\\"\\\"]}[Data],\\n #\\\"Renamed Columns\\\" = Table.RenameColumns(dCountries_,{{\\\"Continent\\\", \\\"Continent\\\"}})\\nin\\n #\\\"Renamed Columns\\\"\",\"ReferencedQueriesFormulaText\":{}}", 100 | "loadAsTableDisabled": false, 101 | "resultType": "Table", 102 | "isHidden": false 103 | }, 104 | { 105 | "name": "dCities", 106 | "lineageTag": "ccb7bde8-a249-4d43-a02b-2c1cdba50e95", 107 | "queryGroupId": "65b26c0a-696f-4291-a301-00e87b035f01", 108 | "navigationStepName": "Navigation", 109 | "refreshWhenRefreshingAll": false, 110 | "text": [ 111 | "let", 112 | " Source = Excel.Workbook(File.Contents(PathToData&\"\\major_cities.xlsx\"), null, true),", 113 | " cities_Sheet = Source{[Item=\"cities\",Kind=\"Sheet\"]}[Data],", 114 | " #\"Promoted Headers\" = Table.PromoteHeaders(cities_Sheet, [PromoteAllScalars=true]),", 115 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Promoted Headers\",{{\"name\", type text}, {\"asciiname\", type text}, {\"lat\", type number}, {\"lon\", type number}, {\"class\", type text}, {\"country_code\", type text}, {\"pop\", Int64.Type}, {\"elevation\", Int64.Type}, {\"timezone\", type text}, {\"ID\", Int64.Type}})", 116 | "in", 117 | " #\"Changed Type\"" 118 | ], 119 | "isDirectQuery": false, 120 | "lastLoadedAsTableFormulaText": "{\"IncludesReferencedQueries\":false,\"RootFormulaText\":\"let\\n Source = PowerPlatform.Dataflows(null),\\n Workspaces = Source{[Id=\\\"Workspaces\\\"]}[Data],\\n #\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\" = Workspaces{[workspaceId=\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\"]}[Data],\\n #\\\"b02f07c5-fa20-4031-bad4-cfad35b11035\\\" = #\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\"{[dataflowId=\\\"b02f07c5-fa20-4031-bad4-cfad35b11035\\\"]}[Data],\\n dCities_ = #\\\"b02f07c5-fa20-4031-bad4-cfad35b11035\\\"{[entity=\\\"dCities\\\",version=\\\"\\\"]}[Data]\\nin\\n dCities_\",\"ReferencedQueriesFormulaText\":{}}", 121 | "loadAsTableDisabled": false, 122 | "resultType": "Table", 123 | "isHidden": false 124 | }, 125 | { 126 | "name": "factBirthsDeaths", 127 | "lineageTag": "cfeefc50-eedb-4aef-9650-bf325106a155", 128 | "queryGroupId": "2f1e849e-c48e-4da3-b41e-56e540a5dfff", 129 | "navigationStepName": "Navigation", 130 | "text": [ 131 | "let", 132 | " Source = Csv.Document(File.Contents(PathToData&\"\\births-and-deaths-projected-to-2100.csv\"), [Delimiter = \",\", Columns = 7, QuoteStyle = QuoteStyle.None]),", 133 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 134 | " #\"Extracted Text Before Delimiter\" = Table.TransformColumns(#\"Promoted Headers\", {{\"Deaths - Sex: all - Age: all - Variant: estimates\", each Text.BeforeDelimiter(_, \".\"), type text}, {\"Births - Sex: all - Age: all - Variant: estimates\", each Text.BeforeDelimiter(_, \".\"), type text}}),", 135 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Extracted Text Before Delimiter\",{{\"Entity\", type text}, {\"Code\", type text}, {\"Year\", Int64.Type}, {\"Deaths - Sex: all - Age: all - Variant: estimates\", type number}, {\"Deaths - Sex: all - Age: all - Variant: medium\", type number}, {\"Births - Sex: all - Age: all - Variant: estimates\", type number}, {\"Births - Sex: all - Age: all - Variant: medium\", type number}}),", 136 | " #\"Filtered only past\" = Table.SelectRows(#\"Changed Type\", each ([#\"Deaths - Sex: all - Age: all - Variant: estimates\"] <> null and [#\"Deaths - Sex: all - Age: all - Variant: estimates\"] <> \"\")),", 137 | " #\"Renamed Columns\" = Table.RenameColumns(#\"Filtered only past\",{{\"Deaths - Sex: all - Age: all - Variant: estimates\", \"Deaths\"}, {\"Births - Sex: all - Age: all - Variant: estimates\", \"Births\"}}),", 138 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Renamed Columns\", each ([Code] <> \"\")),", 139 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Filtered blanks on ISO\",{\"Entity\", \"Code\", \"Year\", \"Deaths\", \"Births\"}),", 140 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Removed Other Columns\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\")", 141 | "in", 142 | " #\"Unpivoted Columns\"" 143 | ], 144 | "loadAsTableDisabled": true, 145 | "resultType": "Table" 146 | }, 147 | { 148 | "name": "factCarbonIntensityElectricity", 149 | "lineageTag": "2ea2a37b-cffc-4c4d-9b01-f8e07538ff37", 150 | "queryGroupId": "2f1e849e-c48e-4da3-b41e-56e540a5dfff", 151 | "navigationStepName": "Navigation", 152 | "text": [ 153 | "let", 154 | " Source = Csv.Document(File.Contents(PathToData&\"\\carbon-intensity-electricity.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 155 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 156 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"Carbon intensity of electricity (gCO2/kWh)\"}),", 157 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Removed Other Columns\", each ([Code] <> \"\")),", 158 | " #\"Changed Type with Locale\" = Table.TransformColumnTypes(#\"Filtered blanks on ISO\", {{\"Carbon intensity of electricity (gCO2/kWh)\", type number}}, \"en-US\"),", 159 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Changed Type with Locale\",{{\"Year\", Int64.Type}}),", 160 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Changed Type\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\")", 161 | "in", 162 | " #\"Unpivoted Columns\"" 163 | ], 164 | "loadAsTableDisabled": true, 165 | "resultType": "Table" 166 | }, 167 | { 168 | "name": "factFreedomOfExpressionIndex", 169 | "lineageTag": "d0e63437-d9cb-4257-8326-0a60a2bb605d", 170 | "queryGroupId": "2f1e849e-c48e-4da3-b41e-56e540a5dfff", 171 | "navigationStepName": "Navigation", 172 | "text": [ 173 | "let", 174 | " Source = Csv.Document(File.Contents(PathToData&\"\\freedom-of-expression-index.csv\"), [Delimiter = \",\", Columns = 6, QuoteStyle = QuoteStyle.None]),", 175 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 176 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"freeexpr_vdem_owid\", \"freeexpr_vdem_high_owid\", \"freeexpr_vdem_low_owid\"}),", 177 | " #\"Changed Type with Locale\" = Table.TransformColumnTypes(#\"Removed Other Columns\", {{\"freeexpr_vdem_owid\", type number}, {\"freeexpr_vdem_high_owid\", type number}, {\"freeexpr_vdem_low_owid\", type number}}, \"en-US\"),", 178 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Changed Type with Locale\",{{\"Year\", Int64.Type}}),", 179 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Changed Type\", each [Code] <> null and [Code] <> \"\"),", 180 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Filtered blanks on ISO\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\")", 181 | "in", 182 | " #\"Unpivoted Columns\"" 183 | ], 184 | "loadAsTableDisabled": true, 185 | "resultType": "Table" 186 | }, 187 | { 188 | "name": "factGDP", 189 | "lineageTag": "3db46cc7-4587-4d21-99ea-4695c857dc6e", 190 | "queryGroupId": "2f1e849e-c48e-4da3-b41e-56e540a5dfff", 191 | "navigationStepName": "Navigation", 192 | "text": [ 193 | "let", 194 | " Source = Csv.Document(File.Contents(PathToData&\"\\gdp.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 195 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 196 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"GDP (constant 2015 US$)\"}),", 197 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Removed Other Columns\",{{\"GDP (constant 2015 US$)\", type number}, {\"Year\", Int64.Type}}),", 198 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Changed Type\", each [Code] <> null and [Code] <> \"\"),", 199 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Filtered blanks on ISO\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\")", 200 | "in", 201 | " #\"Unpivoted Columns\"" 202 | ], 203 | "loadAsTableDisabled": true, 204 | "resultType": "Table" 205 | }, 206 | { 207 | "name": "factGDPperCapita", 208 | "lineageTag": "3deb0b0d-2923-4aa4-bdab-89c1ad73c014", 209 | "queryGroupId": "2f1e849e-c48e-4da3-b41e-56e540a5dfff", 210 | "navigationStepName": "Navigation", 211 | "text": [ 212 | "let", 213 | " Source = Csv.Document(File.Contents(PathToData&\"\\gdp-per-capita.csv\"), [Delimiter = \",\", Columns = 5, QuoteStyle = QuoteStyle.None]),", 214 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 215 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"GDP per capita\"}),", 216 | " #\"Changed Type with Locale\" = Table.TransformColumnTypes(#\"Removed Other Columns\", {{\"GDP per capita\", type number}}, \"en-US\"),", 217 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Changed Type with Locale\", each [Code] <> null and [Code] <> \"\"),", 218 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Filtered blanks on ISO\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\"),", 219 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Unpivoted Columns\",{{\"Year\", Int64.Type}})", 220 | "in", 221 | " #\"Changed Type\"" 222 | ], 223 | "loadAsTableDisabled": true, 224 | "resultType": "Table" 225 | }, 226 | { 227 | "name": "factHDI", 228 | "lineageTag": "2ed8970f-cbaa-4332-80c8-38bfa43c27c9", 229 | "queryGroupId": "2f1e849e-c48e-4da3-b41e-56e540a5dfff", 230 | "navigationStepName": "Navigation", 231 | "text": [ 232 | "let", 233 | " Source = Csv.Document(File.Contents(PathToData&\"\\human-development-index.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 234 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 235 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"Human Development Index\"}),", 236 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Removed Other Columns\", each [Code] <> null and [Code] <> \"\"),", 237 | " #\"Changed Type with Locale\" = Table.TransformColumnTypes(#\"Filtered blanks on ISO\", {{\"Human Development Index\", type number}}, \"en-US\"),", 238 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Changed Type with Locale\",{{\"Year\", Int64.Type}}),", 239 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Changed Type\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\")", 240 | "in", 241 | " #\"Unpivoted Columns\"" 242 | ], 243 | "loadAsTableDisabled": true, 244 | "resultType": "Table" 245 | }, 246 | { 247 | "name": "factMerchandiseExportsGdp", 248 | "lineageTag": "2068a30a-3669-4452-9746-1fb28cc35095", 249 | "queryGroupId": "2f1e849e-c48e-4da3-b41e-56e540a5dfff", 250 | "navigationStepName": "Navigation", 251 | "text": [ 252 | "let", 253 | " Source = Csv.Document(File.Contents(PathToData&\"\\merchandise-exports-gdp-cepii.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 254 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 255 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"Value of global merchandise exports as a share of GDP (Fouquin and Hugot; CEPII 2016; National data)\"}),", 256 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Removed Other Columns\", each [Code] <> null and [Code] <> \"\"),", 257 | " #\"Changed Type with Locale\" = Table.TransformColumnTypes(#\"Filtered blanks on ISO\", {{\"Value of global merchandise exports as a share of GDP (Fouquin and Hugot; CEPII 2016; National data)\", type number}}, \"en-US\"),", 258 | " #\"Added % col\" = Table.AddColumn(#\"Changed Type with Locale\", \"Value of global merchandise exports as a share of GDP\", each [#\"Value of global merchandise exports as a share of GDP (Fouquin and Hugot; CEPII 2016; National data)\"]/100, type number),", 259 | " #\"Removed Columns\" = Table.RemoveColumns(#\"Added % col\",{\"Value of global merchandise exports as a share of GDP (Fouquin and Hugot; CEPII 2016; National data)\"}),", 260 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Removed Columns\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\"),", 261 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Unpivoted Columns\",{{\"Year\", Int64.Type}})", 262 | "in", 263 | " #\"Changed Type\"" 264 | ], 265 | "loadAsTableDisabled": true, 266 | "resultType": "Table" 267 | }, 268 | { 269 | "name": "factPopulation", 270 | "lineageTag": "1028f7cf-ba7b-4898-8949-21cd42886f8f", 271 | "queryGroupId": "2f1e849e-c48e-4da3-b41e-56e540a5dfff", 272 | "navigationStepName": "Navigation", 273 | "text": [ 274 | "let", 275 | " Source = Csv.Document(File.Contents(PathToData&\"\\population.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 276 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 277 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"Population (historical estimates)\"}),", 278 | " #\"Renamed Columns\" = Table.RenameColumns(#\"Removed Other Columns\",{{\"Population (historical estimates)\", \"Population\"}}),", 279 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Renamed Columns\", each [Code] <> null and [Code] <> \"\"),", 280 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Filtered blanks on ISO\",{{\"Population\", Int64.Type}, {\"Year\", Int64.Type}}),", 281 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Changed Type\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\")", 282 | "in", 283 | " #\"Unpivoted Columns\"" 284 | ], 285 | "loadAsTableDisabled": true, 286 | "resultType": "Table" 287 | }, 288 | { 289 | "name": "factLifeExpectancy", 290 | "lineageTag": "6a74860e-f691-4f0d-ab51-784c6ff82916", 291 | "queryGroupId": "2f1e849e-c48e-4da3-b41e-56e540a5dfff", 292 | "navigationStepName": "Navigation", 293 | "text": [ 294 | "let", 295 | " Source = Csv.Document(File.Contents(PathToData&\"\\life-expectancy.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 296 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 297 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"Life expectancy at birth (historical)\"}),", 298 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Removed Other Columns\",{{\"Year\", Int64.Type}}),", 299 | " #\"Changed Type with Locale\" = Table.TransformColumnTypes(#\"Changed Type\", {{\"Life expectancy at birth (historical)\", type number}}, \"en-US\"),", 300 | " #\"Renamed Columns\" = Table.RenameColumns(#\"Changed Type with Locale\",{{\"Life expectancy at birth (historical)\", \"Life expectancy at birth\"}}),", 301 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Renamed Columns\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\"),", 302 | " #\"Filtered Rows\" = Table.SelectRows(#\"Unpivoted Columns\", each [Code] <> null and [Code] <> \"\")", 303 | "in", 304 | " #\"Filtered Rows\"" 305 | ], 306 | "loadAsTableDisabled": true, 307 | "resultType": "Table" 308 | }, 309 | { 310 | "name": "factExpectedYearsSchooling", 311 | "lineageTag": "795dcaaa-ed68-4292-95e7-3884e9a90abc", 312 | "queryGroupId": "2f1e849e-c48e-4da3-b41e-56e540a5dfff", 313 | "navigationStepName": "Navigation", 314 | "text": [ 315 | "let", 316 | " Source = Csv.Document(File.Contents(PathToData&\"\\expected-years-of-schooling.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 317 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 318 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"Expected Years of Schooling\"}),", 319 | " #\"Changed Type with Locale\" = Table.TransformColumnTypes(#\"Removed Other Columns\", {{\"Expected Years of Schooling\", type number}}, \"en-US\"),", 320 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Changed Type with Locale\",{{\"Year\", Int64.Type}}),", 321 | " #\"Filtered Rows\" = Table.SelectRows(#\"Changed Type\", each [Code] <> null and [Code] <> \"\"),", 322 | " #\"Renamed Columns\" = Table.RenameColumns(#\"Filtered Rows\",{{\"Expected Years of Schooling\", \"Expected years of schooling\"}}),", 323 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Renamed Columns\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\")", 324 | "in", 325 | " #\"Unpivoted Columns\"" 326 | ], 327 | "loadAsTableDisabled": true, 328 | "resultType": "Table" 329 | }, 330 | { 331 | "name": "factGNI", 332 | "lineageTag": "4e43e820-093a-4051-8b81-b667388a928d", 333 | "queryGroupId": "2f1e849e-c48e-4da3-b41e-56e540a5dfff", 334 | "navigationStepName": "Navigation", 335 | "text": [ 336 | "let", 337 | " Source = Csv.Document(File.Contents(PathToData&\"\\world-banks-income-groups.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 338 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 339 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"Income classifications (World Bank (2021))\"}),", 340 | " #\"Renamed Columns\" = Table.RenameColumns(#\"Removed Other Columns\",{{\"Income classifications (World Bank (2021))\", \"Gross national income\"}}),", 341 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Renamed Columns\",{{\"Year\", Int64.Type}}),", 342 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Changed Type\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Class\"),", 343 | " #\"Filtered Rows\" = Table.SelectRows(#\"Unpivoted Columns\", each [Code] <> null and [Code] <> \"\")", 344 | "in", 345 | " #\"Filtered Rows\"" 346 | ], 347 | "loadAsTableDisabled": true, 348 | "resultType": "Table" 349 | }, 350 | { 351 | "name": "factForecast", 352 | "lineageTag": "912d1b37-c7b5-4a9a-a3d9-ac691a5c0bed", 353 | "queryGroupId": "70d3ac90-b51c-4cfb-bd18-ba3f1788e92f", 354 | "navigationStepName": "Navigation", 355 | "text": [ 356 | "let", 357 | " Source = dCities,", 358 | " #\"Kept only city col\" = Table.SelectColumns(Source, {\"name\", \"ID\"}),", 359 | " #\"Added API Forecast call\" = Table.AddColumn(#\"Kept only city col\", \"APicall\", each Json.Document(", 360 | " Web.Contents(", 361 | " \"http://api.weatherapi.com\",[RelativePath=\"v1/forecast.json?\", Query=[", 362 | " key=#\"API Key\",", 363 | " days=\"10\",", 364 | " aqi=\"no\",", 365 | " q=[name]", 366 | " ]]))),", 367 | " #\"Removed Errors\" = Table.RemoveRowsWithErrors(#\"Added API Forecast call\", {\"APicall\"}),", 368 | " #\"Expanded APicall\" = Table.ExpandRecordColumn(#\"Removed Errors\", \"APicall\", {\"forecast\"}, {\"forecast\"}),", 369 | " #\"Expanded forecast\" = Table.ExpandRecordColumn(#\"Expanded APicall\", \"forecast\", {\"forecastday\"}, {\"forecastday\"}),", 370 | " #\"Expanded forecastday\" = Table.ExpandListColumn(#\"Expanded forecast\", \"forecastday\"),", 371 | " #\"Expanded forecastday1\" = Table.ExpandRecordColumn(#\"Expanded forecastday\", \"forecastday\", {\"hour\"}, {\"hour\"}),", 372 | " #\"Expanded hour\" = Table.ExpandListColumn(#\"Expanded forecastday1\", \"hour\"),", 373 | " #\"Expanded hour1\" = Table.ExpandRecordColumn(#\"Expanded hour\", \"hour\", {\"time\", \"temp_c\", \"temp_f\", \"condition\", \"wind_mph\", \"wind_kph\", \"wind_degree\", \"wind_dir\", \"pressure_mb\", \"pressure_in\", \"precip_mm\", \"precip_in\", \"humidity\", \"cloud\", \"feelslike_c\", \"feelslike_f\", \"windchill_c\", \"windchill_f\", \"chance_of_rain\", \"chance_of_snow\", \"uv\"}, {\"time\", \"temp_c\", \"temp_f\", \"condition\", \"wind_mph\", \"wind_kph\", \"wind_degree\", \"wind_dir\", \"pressure_mb\", \"pressure_in\", \"precip_mm\", \"precip_in\", \"humidity\", \"cloud\", \"feelslike_c\", \"feelslike_f\", \"windchill_c\", \"windchill_f\", \"chance_of_rain\", \"chance_of_snow\", \"uv\"}),", 374 | " #\"Expanded condition\" = Table.ExpandRecordColumn(#\"Expanded hour1\", \"condition\", {\"text\", \"icon\"}, {\"text\", \"icon\"}),", 375 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Expanded condition\", {{\"temp_f\", type number}, {\"temp_c\", type number}, {\"wind_mph\", type number}, {\"wind_kph\", type number}, {\"pressure_in\", type number}, {\"precip_mm\", type number}, {\"precip_in\", type number}, {\"feelslike_c\", type number}, {\"feelslike_f\", type number}, {\"windchill_c\", type number}, {\"windchill_f\", type number}, {\"time\", type datetime}, {\"text\", type text}, {\"icon\", type text}, {\"wind_dir\", type text}, {\"wind_degree\", Int64.Type}, {\"pressure_mb\", Int64.Type}, {\"humidity\", Int64.Type}, {\"cloud\", Int64.Type}, {\"chance_of_rain\", Int64.Type}, {\"chance_of_snow\", Int64.Type}}),", 376 | " #\"Added Cond. Icon url\" = Table.AddColumn(#\"Changed Type\", \"ConditionIcon\", each \"https:\" & [icon], type text),", 377 | " #\"Removed Columns\" = Table.RemoveColumns(#\"Added Cond. Icon url\", {\"icon\"}),", 378 | " #\"Transform columns\" = Table.TransformColumnTypes(#\"Removed Columns\", {{\"uv\", type text}}),", 379 | " #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"uv\", null}})", 380 | "in", 381 | " #\"Replace errors\"" 382 | ], 383 | "isDirectQuery": false, 384 | "lastLoadedAsTableFormulaText": "{\"IncludesReferencedQueries\":false,\"RootFormulaText\":\"let\\n Source = PowerPlatform.Dataflows(null),\\n Workspaces = Source{[Id=\\\"Workspaces\\\"]}[Data],\\n #\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\" = Workspaces{[workspaceId=\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\"]}[Data],\\n #\\\"1fbcaa61-d1bc-4f1d-93fe-422731f2e3eb\\\" = #\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\"{[dataflowId=\\\"1fbcaa61-d1bc-4f1d-93fe-422731f2e3eb\\\"]}[Data],\\n factForecast_ = #\\\"1fbcaa61-d1bc-4f1d-93fe-422731f2e3eb\\\"{[entity=\\\"factForecast\\\",version=\\\"\\\"]}[Data]\\nin\\n factForecast_\",\"ReferencedQueriesFormulaText\":{}}", 385 | "loadAsTableDisabled": false, 386 | "resultType": "Table", 387 | "isHidden": false 388 | }, 389 | { 390 | "name": "factData", 391 | "lineageTag": "4d5f63d6-1249-4e3e-bf00-329693145aeb", 392 | "queryGroupId": "2f1e849e-c48e-4da3-b41e-56e540a5dfff", 393 | "navigationStepName": "Navigation", 394 | "refreshWhenRefreshingAll": false, 395 | "text": [ 396 | "let", 397 | " Source = Table.Combine({factBirthsDeaths, factCarbonIntensityElectricity, factFreedomOfExpressionIndex, factGDP, factGDPperCapita, factHDI, factMerchandiseExportsGdp, factPopulation, factLifeExpectancy, factExpectedYearsSchooling, factGNI})", 398 | "in", 399 | " Source" 400 | ], 401 | "isDirectQuery": false, 402 | "lastLoadedAsTableFormulaText": "{\"IncludesReferencedQueries\":false,\"RootFormulaText\":\"let\\n Source = PowerPlatform.Dataflows(null),\\n Workspaces = Source{[Id=\\\"Workspaces\\\"]}[Data],\\n #\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\" = Workspaces{[workspaceId=\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\"]}[Data],\\n #\\\"b02f07c5-fa20-4031-bad4-cfad35b11035\\\" = #\\\"296b51c5-fe7c-4dee-8cd5-584adc6c5f3a\\\"{[dataflowId=\\\"b02f07c5-fa20-4031-bad4-cfad35b11035\\\"]}[Data],\\n factData_ = #\\\"b02f07c5-fa20-4031-bad4-cfad35b11035\\\"{[entity=\\\"factData\\\",version=\\\"\\\"]}[Data]\\nin\\n factData_\",\"ReferencedQueriesFormulaText\":{}}", 403 | "loadAsTableDisabled": false, 404 | "resultType": "Table", 405 | "isHidden": false 406 | }, 407 | { 408 | "name": "_Measures", 409 | "lineageTag": "094665df-3b7b-40b1-8e37-58373a21a77c", 410 | "navigationStepName": "Navigation", 411 | "text": [ 412 | "let", 413 | " Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText(\"i44FAA==\", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),", 414 | " #\"Changed Type\" = Table.TransformColumnTypes(Source,{{\"Column1\", type text}}),", 415 | " #\"Removed Columns\" = Table.RemoveColumns(#\"Changed Type\",{\"Column1\"})", 416 | "in", 417 | " #\"Removed Columns\"" 418 | ], 419 | "isDirectQuery": false, 420 | "lastLoadedAsTableFormulaText": "{\"IncludesReferencedQueries\":false,\"RootFormulaText\":\"let\\n Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText(\\\"i44FAA==\\\", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),\\n #\\\"Changed Type\\\" = Table.TransformColumnTypes(Source,{{\\\"Column1\\\", type text}}),\\n #\\\"Removed Columns\\\" = Table.RemoveColumns(#\\\"Changed Type\\\",{\\\"Column1\\\"})\\nin\\n #\\\"Removed Columns\\\"\",\"ReferencedQueriesFormulaText\":{}}", 421 | "loadAsTableDisabled": false, 422 | "resultType": "Table", 423 | "isHidden": false 424 | }, 425 | { 426 | "name": "PathToData", 427 | "lineageTag": "9d288fd6-ffbd-435f-aa9d-319e9a1d33a4", 428 | "queryGroupId": "872297ae-8489-4690-b34b-de0b00e5c6ef", 429 | "navigationStepName": "Navigation", 430 | "text": [ 431 | "\"C:\\Users\\KlausFolz\\Desktop\\GD\\Repositories\\WorldDataReport\\Data\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true]" 432 | ], 433 | "loadAsTableDisabled": true, 434 | "resultType": "Text" 435 | }, 436 | { 437 | "name": "API Key", 438 | "lineageTag": "52cace48-003f-4a92-8d7c-f6e5453ff675", 439 | "queryGroupId": "872297ae-8489-4690-b34b-de0b00e5c6ef", 440 | "navigationStepName": "Navigation", 441 | "text": [ 442 | "\"api_key_here\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true]" 443 | ], 444 | "loadAsTableDisabled": true, 445 | "resultType": "Text" 446 | }, 447 | { 448 | "name": "Switch", 449 | "lineageTag": "c110ed8b-cf89-4046-b8ff-65d82941dddd", 450 | "queryGroupId": "872297ae-8489-4690-b34b-de0b00e5c6ef", 451 | "navigationStepName": "Navigation", 452 | "text": [ 453 | "let", 454 | " // Created by Daniil Maslyuk", 455 | " Switch =", 456 | " let", 457 | " Function = (input as list) as any =>", 458 | " let", 459 | " Source = List.Buffer(input),", 460 | " Expression = List.First(Source),", 461 | " SkipExpression = List.Skip(Source),", 462 | " HasElse = Number.IsEven(List.Count(Source)),", 463 | " ElseValue = if HasElse then List.Last(Source) else null,", 464 | " ValuesResults = List.RemoveLastN(SkipExpression, Number.From(HasElse)),", 465 | " Values = List.Alternate(ValuesResults, 1, 1, 1),", 466 | " Results = List.Alternate(ValuesResults, 1, 1, 0),", 467 | " FirstResult = List.PositionOf(Values, Expression),", 468 | " FunctionResult = if FirstResult = -1 then ElseValue else Results{FirstResult}", 469 | " in", 470 | " FunctionResult,", 471 | " FunctionType = type function (input as list) as any", 472 | " meta [", 473 | " Documentation.Name = \"Switch\",", 474 | " Documentation.LongDescription = \"Evaluates an expression against a list of values and returns one of multiple possible result expressions.\",", 475 | " Documentation.Examples = {", 476 | " [Description = \"Simple Switch expression\", Code = \"Switch({2, 1, \"\"A\"\", 2, \"\"B\"\"})\", Result = \"\"\"B\"\"\"],", 477 | " [Description = \"An equivalent of SWITCH(TRUE... in DAX\", Code = \"Switch({true, 1 > 2, \"\"A\"\", 1 < 2, \"\"B\"\", \"\"No result\"\"})\", Result = \"\"\"B\"\"\"]", 478 | " }", 479 | " ],", 480 | " TypedFunction = Value.ReplaceType(Function, FunctionType)", 481 | " in", 482 | " TypedFunction", 483 | "in", 484 | " Switch" 485 | ], 486 | "resultType": "Function" 487 | } 488 | ], 489 | "queryGroups": [ 490 | { 491 | "name": "Dimension Tables", 492 | "id": "65b26c0a-696f-4291-a301-00e87b035f01", 493 | "order": 2, 494 | "description": "" 495 | }, 496 | { 497 | "name": "Fact World Data", 498 | "id": "2f1e849e-c48e-4da3-b41e-56e540a5dfff", 499 | "order": 3, 500 | "description": "" 501 | }, 502 | { 503 | "name": "Parameters and Functions", 504 | "id": "872297ae-8489-4690-b34b-de0b00e5c6ef", 505 | "order": 2, 506 | "description": "" 507 | }, 508 | { 509 | "name": "Fact Weather", 510 | "id": "70d3ac90-b51c-4cfb-bd18-ba3f1788e92f", 511 | "order": 3, 512 | "description": "" 513 | } 514 | ], 515 | "culture": "pt-BR" 516 | } -------------------------------------------------------------------------------- /World Data and Weather.Dataset/definition.pbidataset: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "settings": {} 4 | } -------------------------------------------------------------------------------- /World Data and Weather.Dataset/diagramLayout.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.1.0", 3 | "diagrams": [ 4 | { 5 | "ordinal": 0, 6 | "scrollPosition": { 7 | "x": 0, 8 | "y": 0 9 | }, 10 | "nodes": [ 11 | { 12 | "location": { 13 | "x": 574.26584234930453, 14 | "y": 17.156105100463677 15 | }, 16 | "nodeIndex": "dCities", 17 | "nodeLineageTag": "ccb7bde8-a249-4d43-a02b-2c1cdba50e95", 18 | "size": { 19 | "height": 128, 20 | "width": 234 21 | }, 22 | "zIndex": 1, 23 | "expandedHeight": 296 24 | }, 25 | { 26 | "location": { 27 | "x": 557.41561051004646, 28 | "y": 394.59041731066458 29 | }, 30 | "nodeIndex": "factForecast", 31 | "nodeLineageTag": "912d1b37-c7b5-4a9a-a3d9-ac691a5c0bed", 32 | "size": { 33 | "height": 128, 34 | "width": 234 35 | }, 36 | "zIndex": 2, 37 | "expandedHeight": 300 38 | }, 39 | { 40 | "location": { 41 | "x": 995.13663060278213, 42 | "y": 0 43 | }, 44 | "nodeIndex": "dCountries", 45 | "nodeLineageTag": "79a7641b-6474-4e48-831c-d7d94faf95e9", 46 | "size": { 47 | "height": 128, 48 | "width": 234 49 | }, 50 | "zIndex": 7, 51 | "expandedHeight": 300 52 | }, 53 | { 54 | "location": { 55 | "x": 833.70927357032463, 56 | "y": 432.71715610510051 57 | }, 58 | "nodeIndex": "factData", 59 | "nodeLineageTag": "4d5f63d6-1249-4e3e-bf00-329693145aeb", 60 | "size": { 61 | "height": 152, 62 | "width": 234 63 | }, 64 | "zIndex": 3, 65 | "expandedHeight": 200 66 | }, 67 | { 68 | "location": { 69 | "x": 293.70000000000005, 70 | "y": 888 71 | }, 72 | "nodeIndex": "_Measures", 73 | "nodeLineageTag": "094665df-3b7b-40b1-8e37-58373a21a77c", 74 | "size": { 75 | "height": 72, 76 | "width": 234 77 | }, 78 | "zIndex": 4, 79 | "expandedHeight": 104 80 | }, 81 | { 82 | "location": { 83 | "x": 40.700000000000045, 84 | "y": 888 85 | }, 86 | "nodeIndex": "dMetricSystem", 87 | "nodeLineageTag": "8bd251fb-eb01-4896-86e7-8540caece494", 88 | "size": { 89 | "height": 72, 90 | "width": 234 91 | }, 92 | "zIndex": 5, 93 | "expandedHeight": 104 94 | }, 95 | { 96 | "location": { 97 | "x": 1380.4703245749615, 98 | "y": 400.258114374034 99 | }, 100 | "nodeIndex": "dMetrics", 101 | "nodeLineageTag": "92283c49-0c4d-4746-854f-9b05a6273ecf", 102 | "size": { 103 | "height": 104, 104 | "width": 234 105 | }, 106 | "zIndex": 6, 107 | "expandedHeight": 200 108 | }, 109 | { 110 | "location": { 111 | "x": 811.5, 112 | "y": 718.97372488408041 113 | }, 114 | "nodeIndex": "dYear", 115 | "nodeLineageTag": "f6e40dbb-8985-4414-826c-a724dfe70ad2", 116 | "size": { 117 | "height": 104, 118 | "width": 234 119 | }, 120 | "zIndex": 0, 121 | "expandedHeight": 200 122 | } 123 | ], 124 | "name": "All tables", 125 | "zoomValue": 58.288288288288292, 126 | "pinKeyFieldsToTop": false, 127 | "showExtraHeaderInfo": false, 128 | "hideKeyFieldsWhenCollapsed": false, 129 | "tablesLocked": false 130 | } 131 | ], 132 | "selectedDiagram": "All tables", 133 | "defaultDiagram": "All tables" 134 | } -------------------------------------------------------------------------------- /World Data and Weather.Dataset/item.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "logicalId": "ae3cad37-a43f-4090-8e04-b78a32e828cd" 4 | } -------------------------------------------------------------------------------- /World Data and Weather.Dataset/item.metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "dataset", 3 | "displayName": "World Data and Weather" 4 | } -------------------------------------------------------------------------------- /World Data and Weather.Dataset/model.bim: -------------------------------------------------------------------------------- 1 | { 2 | "compatibilityLevel": 1550, 3 | "model": { 4 | "annotations": [ 5 | { 6 | "name": "PBI_QueryOrder", 7 | "value": "[\"dMetricSystem\",\"dMetrics\",\"dCountries\",\"dCities\",\"factBirthsDeaths\",\"factCarbonIntensityElectricity\",\"factFreedomOfExpressionIndex\",\"factGDP\",\"factGDPperCapita\",\"factHDI\",\"factMerchandiseExportsGdp\",\"factPopulation\",\"factLifeExpectancy\",\"factExpectedYearsSchooling\",\"factGNI\",\"factForecast\",\"factData\",\"_Measures\",\"PathToData\",\"API Key\",\"Switch\"]" 8 | }, 9 | { 10 | "name": "__PBI_TimeIntelligenceEnabled", 11 | "value": "0" 12 | }, 13 | { 14 | "name": "PBIDesktopVersion", 15 | "value": "2.126.1261.0 (24.02)" 16 | }, 17 | { 18 | "name": "PBI_ProTooling", 19 | "value": "[\"DevMode\"]" 20 | } 21 | ], 22 | "culture": "en-US", 23 | "cultures": [ 24 | { 25 | "name": "en-US", 26 | "linguisticMetadata": { 27 | "content": { 28 | "DynamicImprovement": "HighConfidence", 29 | "Language": "en-US", 30 | "Version": "1.0.0" 31 | }, 32 | "contentType": "json" 33 | } 34 | } 35 | ], 36 | "dataAccessOptions": { 37 | "fastCombine": true, 38 | "legacyRedirects": true, 39 | "returnErrorValuesAsNull": true 40 | }, 41 | "defaultPowerBIDataSourceVersion": "powerBI_V3", 42 | "expressions": [ 43 | { 44 | "name": "factBirthsDeaths", 45 | "annotations": [ 46 | { 47 | "name": "PBI_NavigationStepName", 48 | "value": "Navigation" 49 | }, 50 | { 51 | "name": "PBI_ResultType", 52 | "value": "Table" 53 | } 54 | ], 55 | "expression": [ 56 | "let", 57 | " Source = Csv.Document(File.Contents(PathToData&\"\\births-and-deaths-projected-to-2100.csv\"), [Delimiter = \",\", Columns = 7, QuoteStyle = QuoteStyle.None]),", 58 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 59 | " #\"Extracted Text Before Delimiter\" = Table.TransformColumns(#\"Promoted Headers\", {{\"Deaths - Sex: all - Age: all - Variant: estimates\", each Text.BeforeDelimiter(_, \".\"), type text}, {\"Births - Sex: all - Age: all - Variant: estimates\", each Text.BeforeDelimiter(_, \".\"), type text}}),", 60 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Extracted Text Before Delimiter\",{{\"Entity\", type text}, {\"Code\", type text}, {\"Year\", Int64.Type}, {\"Deaths - Sex: all - Age: all - Variant: estimates\", type number}, {\"Deaths - Sex: all - Age: all - Variant: medium\", type number}, {\"Births - Sex: all - Age: all - Variant: estimates\", type number}, {\"Births - Sex: all - Age: all - Variant: medium\", type number}}),", 61 | " #\"Filtered only past\" = Table.SelectRows(#\"Changed Type\", each ([#\"Deaths - Sex: all - Age: all - Variant: estimates\"] <> null and [#\"Deaths - Sex: all - Age: all - Variant: estimates\"] <> \"\")),", 62 | " #\"Renamed Columns\" = Table.RenameColumns(#\"Filtered only past\",{{\"Deaths - Sex: all - Age: all - Variant: estimates\", \"Deaths\"}, {\"Births - Sex: all - Age: all - Variant: estimates\", \"Births\"}}),", 63 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Renamed Columns\", each ([Code] <> \"\")),", 64 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Filtered blanks on ISO\",{\"Entity\", \"Code\", \"Year\", \"Deaths\", \"Births\"}),", 65 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Removed Other Columns\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\")", 66 | "in", 67 | " #\"Unpivoted Columns\"" 68 | ], 69 | "kind": "m", 70 | "lineageTag": "cfeefc50-eedb-4aef-9650-bf325106a155", 71 | "queryGroup": "Fact World Data" 72 | }, 73 | { 74 | "name": "factCarbonIntensityElectricity", 75 | "annotations": [ 76 | { 77 | "name": "PBI_NavigationStepName", 78 | "value": "Navigation" 79 | }, 80 | { 81 | "name": "PBI_ResultType", 82 | "value": "Table" 83 | } 84 | ], 85 | "expression": [ 86 | "let", 87 | " Source = Csv.Document(File.Contents(PathToData&\"\\carbon-intensity-electricity.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 88 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 89 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"Carbon intensity of electricity (gCO2/kWh)\"}),", 90 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Removed Other Columns\", each ([Code] <> \"\")),", 91 | " #\"Changed Type with Locale\" = Table.TransformColumnTypes(#\"Filtered blanks on ISO\", {{\"Carbon intensity of electricity (gCO2/kWh)\", type number}}, \"en-US\"),", 92 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Changed Type with Locale\",{{\"Year\", Int64.Type}}),", 93 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Changed Type\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\")", 94 | "in", 95 | " #\"Unpivoted Columns\"" 96 | ], 97 | "kind": "m", 98 | "lineageTag": "2ea2a37b-cffc-4c4d-9b01-f8e07538ff37", 99 | "queryGroup": "Fact World Data" 100 | }, 101 | { 102 | "name": "factFreedomOfExpressionIndex", 103 | "annotations": [ 104 | { 105 | "name": "PBI_NavigationStepName", 106 | "value": "Navigation" 107 | }, 108 | { 109 | "name": "PBI_ResultType", 110 | "value": "Table" 111 | } 112 | ], 113 | "expression": [ 114 | "let", 115 | " Source = Csv.Document(File.Contents(PathToData&\"\\freedom-of-expression-index.csv\"), [Delimiter = \",\", Columns = 6, QuoteStyle = QuoteStyle.None]),", 116 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 117 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"freeexpr_vdem_owid\", \"freeexpr_vdem_high_owid\", \"freeexpr_vdem_low_owid\"}),", 118 | " #\"Changed Type with Locale\" = Table.TransformColumnTypes(#\"Removed Other Columns\", {{\"freeexpr_vdem_owid\", type number}, {\"freeexpr_vdem_high_owid\", type number}, {\"freeexpr_vdem_low_owid\", type number}}, \"en-US\"),", 119 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Changed Type with Locale\",{{\"Year\", Int64.Type}}),", 120 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Changed Type\", each [Code] <> null and [Code] <> \"\"),", 121 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Filtered blanks on ISO\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\")", 122 | "in", 123 | " #\"Unpivoted Columns\"" 124 | ], 125 | "kind": "m", 126 | "lineageTag": "d0e63437-d9cb-4257-8326-0a60a2bb605d", 127 | "queryGroup": "Fact World Data" 128 | }, 129 | { 130 | "name": "factGDP", 131 | "annotations": [ 132 | { 133 | "name": "PBI_NavigationStepName", 134 | "value": "Navigation" 135 | }, 136 | { 137 | "name": "PBI_ResultType", 138 | "value": "Table" 139 | } 140 | ], 141 | "expression": [ 142 | "let", 143 | " Source = Csv.Document(File.Contents(PathToData&\"\\gdp.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 144 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 145 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"GDP (constant 2015 US$)\"}),", 146 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Removed Other Columns\",{{\"GDP (constant 2015 US$)\", type number}, {\"Year\", Int64.Type}}),", 147 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Changed Type\", each [Code] <> null and [Code] <> \"\"),", 148 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Filtered blanks on ISO\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\")", 149 | "in", 150 | " #\"Unpivoted Columns\"" 151 | ], 152 | "kind": "m", 153 | "lineageTag": "3db46cc7-4587-4d21-99ea-4695c857dc6e", 154 | "queryGroup": "Fact World Data" 155 | }, 156 | { 157 | "name": "factGDPperCapita", 158 | "annotations": [ 159 | { 160 | "name": "PBI_NavigationStepName", 161 | "value": "Navigation" 162 | }, 163 | { 164 | "name": "PBI_ResultType", 165 | "value": "Table" 166 | } 167 | ], 168 | "expression": [ 169 | "let", 170 | " Source = Csv.Document(File.Contents(PathToData&\"\\gdp-per-capita.csv\"), [Delimiter = \",\", Columns = 5, QuoteStyle = QuoteStyle.None]),", 171 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 172 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"GDP per capita\"}),", 173 | " #\"Changed Type with Locale\" = Table.TransformColumnTypes(#\"Removed Other Columns\", {{\"GDP per capita\", type number}}, \"en-US\"),", 174 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Changed Type with Locale\", each [Code] <> null and [Code] <> \"\"),", 175 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Filtered blanks on ISO\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\"),", 176 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Unpivoted Columns\",{{\"Year\", Int64.Type}})", 177 | "in", 178 | " #\"Changed Type\"" 179 | ], 180 | "kind": "m", 181 | "lineageTag": "3deb0b0d-2923-4aa4-bdab-89c1ad73c014", 182 | "queryGroup": "Fact World Data" 183 | }, 184 | { 185 | "name": "factHDI", 186 | "annotations": [ 187 | { 188 | "name": "PBI_NavigationStepName", 189 | "value": "Navigation" 190 | }, 191 | { 192 | "name": "PBI_ResultType", 193 | "value": "Table" 194 | } 195 | ], 196 | "expression": [ 197 | "let", 198 | " Source = Csv.Document(File.Contents(PathToData&\"\\human-development-index.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 199 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 200 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"Human Development Index\"}),", 201 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Removed Other Columns\", each [Code] <> null and [Code] <> \"\"),", 202 | " #\"Changed Type with Locale\" = Table.TransformColumnTypes(#\"Filtered blanks on ISO\", {{\"Human Development Index\", type number}}, \"en-US\"),", 203 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Changed Type with Locale\",{{\"Year\", Int64.Type}}),", 204 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Changed Type\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\")", 205 | "in", 206 | " #\"Unpivoted Columns\"" 207 | ], 208 | "kind": "m", 209 | "lineageTag": "2ed8970f-cbaa-4332-80c8-38bfa43c27c9", 210 | "queryGroup": "Fact World Data" 211 | }, 212 | { 213 | "name": "factMerchandiseExportsGdp", 214 | "annotations": [ 215 | { 216 | "name": "PBI_NavigationStepName", 217 | "value": "Navigation" 218 | }, 219 | { 220 | "name": "PBI_ResultType", 221 | "value": "Table" 222 | } 223 | ], 224 | "expression": [ 225 | "let", 226 | " Source = Csv.Document(File.Contents(PathToData&\"\\merchandise-exports-gdp-cepii.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 227 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 228 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"Value of global merchandise exports as a share of GDP (Fouquin and Hugot; CEPII 2016; National data)\"}),", 229 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Removed Other Columns\", each [Code] <> null and [Code] <> \"\"),", 230 | " #\"Changed Type with Locale\" = Table.TransformColumnTypes(#\"Filtered blanks on ISO\", {{\"Value of global merchandise exports as a share of GDP (Fouquin and Hugot; CEPII 2016; National data)\", type number}}, \"en-US\"),", 231 | " #\"Added % col\" = Table.AddColumn(#\"Changed Type with Locale\", \"Value of global merchandise exports as a share of GDP\", each [#\"Value of global merchandise exports as a share of GDP (Fouquin and Hugot; CEPII 2016; National data)\"]/100, type number),", 232 | " #\"Removed Columns\" = Table.RemoveColumns(#\"Added % col\",{\"Value of global merchandise exports as a share of GDP (Fouquin and Hugot; CEPII 2016; National data)\"}),", 233 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Removed Columns\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\"),", 234 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Unpivoted Columns\",{{\"Year\", Int64.Type}})", 235 | "in", 236 | " #\"Changed Type\"" 237 | ], 238 | "kind": "m", 239 | "lineageTag": "2068a30a-3669-4452-9746-1fb28cc35095", 240 | "queryGroup": "Fact World Data" 241 | }, 242 | { 243 | "name": "factPopulation", 244 | "annotations": [ 245 | { 246 | "name": "PBI_NavigationStepName", 247 | "value": "Navigation" 248 | }, 249 | { 250 | "name": "PBI_ResultType", 251 | "value": "Table" 252 | } 253 | ], 254 | "expression": [ 255 | "let", 256 | " Source = Csv.Document(File.Contents(PathToData&\"\\population.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 257 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 258 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"Population (historical estimates)\"}),", 259 | " #\"Renamed Columns\" = Table.RenameColumns(#\"Removed Other Columns\",{{\"Population (historical estimates)\", \"Population\"}}),", 260 | " #\"Filtered blanks on ISO\" = Table.SelectRows(#\"Renamed Columns\", each [Code] <> null and [Code] <> \"\"),", 261 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Filtered blanks on ISO\",{{\"Population\", Int64.Type}, {\"Year\", Int64.Type}}),", 262 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Changed Type\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\")", 263 | "in", 264 | " #\"Unpivoted Columns\"" 265 | ], 266 | "kind": "m", 267 | "lineageTag": "1028f7cf-ba7b-4898-8949-21cd42886f8f", 268 | "queryGroup": "Fact World Data" 269 | }, 270 | { 271 | "name": "factLifeExpectancy", 272 | "annotations": [ 273 | { 274 | "name": "PBI_NavigationStepName", 275 | "value": "Navigation" 276 | }, 277 | { 278 | "name": "PBI_ResultType", 279 | "value": "Table" 280 | } 281 | ], 282 | "expression": [ 283 | "let", 284 | " Source = Csv.Document(File.Contents(PathToData&\"\\life-expectancy.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 285 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 286 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"Life expectancy at birth (historical)\"}),", 287 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Removed Other Columns\",{{\"Year\", Int64.Type}}),", 288 | " #\"Changed Type with Locale\" = Table.TransformColumnTypes(#\"Changed Type\", {{\"Life expectancy at birth (historical)\", type number}}, \"en-US\"),", 289 | " #\"Renamed Columns\" = Table.RenameColumns(#\"Changed Type with Locale\",{{\"Life expectancy at birth (historical)\", \"Life expectancy at birth\"}}),", 290 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Renamed Columns\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\"),", 291 | " #\"Filtered Rows\" = Table.SelectRows(#\"Unpivoted Columns\", each [Code] <> null and [Code] <> \"\")", 292 | "in", 293 | " #\"Filtered Rows\"" 294 | ], 295 | "kind": "m", 296 | "lineageTag": "6a74860e-f691-4f0d-ab51-784c6ff82916", 297 | "queryGroup": "Fact World Data" 298 | }, 299 | { 300 | "name": "factExpectedYearsSchooling", 301 | "annotations": [ 302 | { 303 | "name": "PBI_NavigationStepName", 304 | "value": "Navigation" 305 | }, 306 | { 307 | "name": "PBI_ResultType", 308 | "value": "Table" 309 | } 310 | ], 311 | "expression": [ 312 | "let", 313 | " Source = Csv.Document(File.Contents(PathToData&\"\\expected-years-of-schooling.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 314 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 315 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"Expected Years of Schooling\"}),", 316 | " #\"Changed Type with Locale\" = Table.TransformColumnTypes(#\"Removed Other Columns\", {{\"Expected Years of Schooling\", type number}}, \"en-US\"),", 317 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Changed Type with Locale\",{{\"Year\", Int64.Type}}),", 318 | " #\"Filtered Rows\" = Table.SelectRows(#\"Changed Type\", each [Code] <> null and [Code] <> \"\"),", 319 | " #\"Renamed Columns\" = Table.RenameColumns(#\"Filtered Rows\",{{\"Expected Years of Schooling\", \"Expected years of schooling\"}}),", 320 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Renamed Columns\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Value\")", 321 | "in", 322 | " #\"Unpivoted Columns\"" 323 | ], 324 | "kind": "m", 325 | "lineageTag": "795dcaaa-ed68-4292-95e7-3884e9a90abc", 326 | "queryGroup": "Fact World Data" 327 | }, 328 | { 329 | "name": "factGNI", 330 | "annotations": [ 331 | { 332 | "name": "PBI_NavigationStepName", 333 | "value": "Navigation" 334 | }, 335 | { 336 | "name": "PBI_ResultType", 337 | "value": "Table" 338 | } 339 | ], 340 | "expression": [ 341 | "let", 342 | " Source = Csv.Document(File.Contents(PathToData&\"\\world-banks-income-groups.csv\"), [Delimiter = \",\", Columns = 4, QuoteStyle = QuoteStyle.None]),", 343 | " #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),", 344 | " #\"Removed Other Columns\" = Table.SelectColumns(#\"Promoted Headers\",{\"Entity\", \"Code\", \"Year\", \"Income classifications (World Bank (2021))\"}),", 345 | " #\"Renamed Columns\" = Table.RenameColumns(#\"Removed Other Columns\",{{\"Income classifications (World Bank (2021))\", \"Gross national income\"}}),", 346 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Renamed Columns\",{{\"Year\", Int64.Type}}),", 347 | " #\"Unpivoted Columns\" = Table.UnpivotOtherColumns(#\"Changed Type\", {\"Entity\", \"Code\", \"Year\"}, \"Attribute\", \"Class\"),", 348 | " #\"Filtered Rows\" = Table.SelectRows(#\"Unpivoted Columns\", each [Code] <> null and [Code] <> \"\")", 349 | "in", 350 | " #\"Filtered Rows\"" 351 | ], 352 | "kind": "m", 353 | "lineageTag": "4e43e820-093a-4051-8b81-b667388a928d", 354 | "queryGroup": "Fact World Data" 355 | }, 356 | { 357 | "name": "PathToData", 358 | "annotations": [ 359 | { 360 | "name": "PBI_NavigationStepName", 361 | "value": "Navigation" 362 | }, 363 | { 364 | "name": "PBI_ResultType", 365 | "value": "Text" 366 | } 367 | ], 368 | "expression": "\"C:\\Users\\KlausFolz\\Desktop\\GD\\Repositories\\WorldDataReport\\Data\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true]", 369 | "kind": "m", 370 | "lineageTag": "9d288fd6-ffbd-435f-aa9d-319e9a1d33a4", 371 | "queryGroup": "Parameters and Functions" 372 | }, 373 | { 374 | "name": "API Key", 375 | "annotations": [ 376 | { 377 | "name": "PBI_NavigationStepName", 378 | "value": "Navigation" 379 | }, 380 | { 381 | "name": "PBI_ResultType", 382 | "value": "Text" 383 | } 384 | ], 385 | "expression": [ 386 | "let", 387 | " Source = \"03717c3603924a39ad4122604222405\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true]", 388 | "in", 389 | " Source" 390 | ], 391 | "kind": "m", 392 | "lineageTag": "52cace48-003f-4a92-8d7c-f6e5453ff675", 393 | "queryGroup": "Parameters and Functions" 394 | }, 395 | { 396 | "name": "Switch", 397 | "annotations": [ 398 | { 399 | "name": "PBI_NavigationStepName", 400 | "value": "Navigation" 401 | }, 402 | { 403 | "name": "PBI_ResultType", 404 | "value": "Function" 405 | } 406 | ], 407 | "expression": [ 408 | "let", 409 | " // Created by Daniil Maslyuk", 410 | " Switch =", 411 | " let", 412 | " Function = (input as list) as any =>", 413 | " let", 414 | " Source = List.Buffer(input),", 415 | " Expression = List.First(Source),", 416 | " SkipExpression = List.Skip(Source),", 417 | " HasElse = Number.IsEven(List.Count(Source)),", 418 | " ElseValue = if HasElse then List.Last(Source) else null,", 419 | " ValuesResults = List.RemoveLastN(SkipExpression, Number.From(HasElse)),", 420 | " Values = List.Alternate(ValuesResults, 1, 1, 1),", 421 | " Results = List.Alternate(ValuesResults, 1, 1, 0),", 422 | " FirstResult = List.PositionOf(Values, Expression),", 423 | " FunctionResult = if FirstResult = -1 then ElseValue else Results{FirstResult}", 424 | " in", 425 | " FunctionResult,", 426 | " FunctionType = type function (input as list) as any", 427 | " meta [", 428 | " Documentation.Name = \"Switch\",", 429 | " Documentation.LongDescription = \"Evaluates an expression against a list of values and returns one of multiple possible result expressions.\",", 430 | " Documentation.Examples = {", 431 | " [Description = \"Simple Switch expression\", Code = \"Switch({2, 1, \"\"A\"\", 2, \"\"B\"\"})\", Result = \"\"\"B\"\"\"],", 432 | " [Description = \"An equivalent of SWITCH(TRUE... in DAX\", Code = \"Switch({true, 1 > 2, \"\"A\"\", 1 < 2, \"\"B\"\", \"\"No result\"\"})\", Result = \"\"\"B\"\"\"]", 433 | " }", 434 | " ],", 435 | " TypedFunction = Value.ReplaceType(Function, FunctionType)", 436 | " in", 437 | " TypedFunction", 438 | "in", 439 | " Switch" 440 | ], 441 | "kind": "m", 442 | "lineageTag": "c110ed8b-cf89-4046-b8ff-65d82941dddd", 443 | "queryGroup": "Parameters and Functions" 444 | } 445 | ], 446 | "queryGroups": [ 447 | { 448 | "annotations": [ 449 | { 450 | "name": "PBI_QueryGroupOrder", 451 | "value": "2" 452 | } 453 | ], 454 | "folder": "Dimension Tables" 455 | }, 456 | { 457 | "annotations": [ 458 | { 459 | "name": "PBI_QueryGroupOrder", 460 | "value": "3" 461 | } 462 | ], 463 | "folder": "Fact World Data" 464 | }, 465 | { 466 | "annotations": [ 467 | { 468 | "name": "PBI_QueryGroupOrder", 469 | "value": "3" 470 | } 471 | ], 472 | "folder": "Fact Weather" 473 | }, 474 | { 475 | "annotations": [ 476 | { 477 | "name": "PBI_QueryGroupOrder", 478 | "value": "2" 479 | } 480 | ], 481 | "folder": "Parameters and Functions" 482 | } 483 | ], 484 | "relationships": [ 485 | { 486 | "name": "c3430d98-7716-4e7e-8a79-463bf7585f6f", 487 | "fromColumn": "Code", 488 | "fromTable": "factData", 489 | "toColumn": "ISO3", 490 | "toTable": "dCountries" 491 | }, 492 | { 493 | "name": "9535ecec-770b-48a1-aae5-e1d1d545e227", 494 | "fromColumn": "Year", 495 | "fromTable": "factData", 496 | "toColumn": "Year", 497 | "toTable": "dYear" 498 | }, 499 | { 500 | "name": "b31eb89b-85d5-48b7-957c-f1192602f1f9", 501 | "fromColumn": "ID", 502 | "fromTable": "factForecast", 503 | "toColumn": "ID", 504 | "toTable": "dCities" 505 | }, 506 | { 507 | "name": "373f2bdf-ed10-4e5a-a2bd-f846b227a763", 508 | "fromColumn": "Attribute", 509 | "fromTable": "factData", 510 | "toColumn": "Attribute", 511 | "toTable": "dMetrics" 512 | }, 513 | { 514 | "name": "97b93d46-f4c6-4163-ab4d-0536e1f923e9", 515 | "fromColumn": "country_code", 516 | "fromTable": "dCities", 517 | "toColumn": "ISO", 518 | "toTable": "dCountries" 519 | } 520 | ], 521 | "sourceQueryCulture": "pt-BR", 522 | "tables": [ 523 | { 524 | "name": "dCities", 525 | "annotations": [ 526 | { 527 | "name": "PBI_ResultType", 528 | "value": "Table" 529 | }, 530 | { 531 | "name": "PBI_NavigationStepName", 532 | "value": "Navigation" 533 | } 534 | ], 535 | "columns": [ 536 | { 537 | "name": "name", 538 | "annotations": [ 539 | { 540 | "name": "SummarizationSetBy", 541 | "value": "Automatic" 542 | } 543 | ], 544 | "dataType": "string", 545 | "lineageTag": "be6b83f7-ce79-49f9-b655-b0166d6c4408", 546 | "sourceColumn": "name", 547 | "summarizeBy": "none" 548 | }, 549 | { 550 | "name": "asciiname", 551 | "annotations": [ 552 | { 553 | "name": "SummarizationSetBy", 554 | "value": "Automatic" 555 | } 556 | ], 557 | "dataType": "string", 558 | "lineageTag": "22c569db-906e-4f6c-8988-3cf0587b6cf4", 559 | "sourceColumn": "asciiname", 560 | "summarizeBy": "none" 561 | }, 562 | { 563 | "name": "lat", 564 | "annotations": [ 565 | { 566 | "name": "SummarizationSetBy", 567 | "value": "Automatic" 568 | }, 569 | { 570 | "name": "PBI_FormatHint", 571 | "value": "{\"isGeneralNumber\":true}" 572 | } 573 | ], 574 | "dataType": "double", 575 | "lineageTag": "2ed269d8-63e0-4655-b7c4-71f107f34a02", 576 | "sourceColumn": "lat", 577 | "summarizeBy": "sum" 578 | }, 579 | { 580 | "name": "lon", 581 | "annotations": [ 582 | { 583 | "name": "SummarizationSetBy", 584 | "value": "Automatic" 585 | }, 586 | { 587 | "name": "PBI_FormatHint", 588 | "value": "{\"isGeneralNumber\":true}" 589 | } 590 | ], 591 | "dataType": "double", 592 | "lineageTag": "5386f211-67d6-49da-bdca-9bf67e3c7f33", 593 | "sourceColumn": "lon", 594 | "summarizeBy": "sum" 595 | }, 596 | { 597 | "name": "class", 598 | "annotations": [ 599 | { 600 | "name": "SummarizationSetBy", 601 | "value": "Automatic" 602 | } 603 | ], 604 | "dataType": "string", 605 | "lineageTag": "de6df6e1-e77c-4f3c-915e-288c5ec2f21d", 606 | "sourceColumn": "class", 607 | "summarizeBy": "none" 608 | }, 609 | { 610 | "name": "country_code", 611 | "annotations": [ 612 | { 613 | "name": "SummarizationSetBy", 614 | "value": "Automatic" 615 | } 616 | ], 617 | "dataType": "string", 618 | "lineageTag": "1d58bcc3-cb25-421e-80a6-51c1501e0992", 619 | "sourceColumn": "country_code", 620 | "summarizeBy": "none" 621 | }, 622 | { 623 | "name": "pop", 624 | "annotations": [ 625 | { 626 | "name": "SummarizationSetBy", 627 | "value": "Automatic" 628 | } 629 | ], 630 | "dataType": "int64", 631 | "formatString": "0", 632 | "lineageTag": "a9925d51-7c6b-46e3-a1b2-f86462e65151", 633 | "sourceColumn": "pop", 634 | "summarizeBy": "sum" 635 | }, 636 | { 637 | "name": "elevation", 638 | "annotations": [ 639 | { 640 | "name": "SummarizationSetBy", 641 | "value": "Automatic" 642 | } 643 | ], 644 | "dataType": "int64", 645 | "formatString": "0", 646 | "lineageTag": "f80363ce-69c7-4215-ada0-36dcf1e4c133", 647 | "sourceColumn": "elevation", 648 | "summarizeBy": "sum" 649 | }, 650 | { 651 | "name": "timezone", 652 | "annotations": [ 653 | { 654 | "name": "SummarizationSetBy", 655 | "value": "Automatic" 656 | } 657 | ], 658 | "dataType": "string", 659 | "lineageTag": "242ad1cd-bf71-4707-a3e8-a466489eb6c7", 660 | "sourceColumn": "timezone", 661 | "summarizeBy": "none" 662 | }, 663 | { 664 | "name": "ID", 665 | "annotations": [ 666 | { 667 | "name": "SummarizationSetBy", 668 | "value": "Automatic" 669 | } 670 | ], 671 | "dataType": "int64", 672 | "formatString": "0", 673 | "lineageTag": "de68b91e-1cfc-45de-b3ab-cfd2a222d37f", 674 | "sourceColumn": "ID", 675 | "summarizeBy": "none" 676 | } 677 | ], 678 | "excludeFromModelRefresh": true, 679 | "lineageTag": "ccb7bde8-a249-4d43-a02b-2c1cdba50e95", 680 | "partitions": [ 681 | { 682 | "name": "dCities-5f84777c-8240-489c-96de-fb0817a2ff77", 683 | "mode": "import", 684 | "queryGroup": "Dimension Tables", 685 | "source": { 686 | "expression": [ 687 | "let", 688 | " Source = Excel.Workbook(File.Contents(PathToData&\"\\major_cities.xlsx\"), null, true),", 689 | " cities_Sheet = Source{[Item=\"cities\",Kind=\"Sheet\"]}[Data],", 690 | " #\"Promoted Headers\" = Table.PromoteHeaders(cities_Sheet, [PromoteAllScalars=true]),", 691 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Promoted Headers\",{{\"name\", type text}, {\"asciiname\", type text}, {\"lat\", type number}, {\"lon\", type number}, {\"class\", type text}, {\"country_code\", type text}, {\"pop\", Int64.Type}, {\"elevation\", Int64.Type}, {\"timezone\", type text}, {\"ID\", Int64.Type}})", 692 | "in", 693 | " #\"Changed Type\"" 694 | ], 695 | "type": "m" 696 | } 697 | } 698 | ] 699 | }, 700 | { 701 | "name": "factForecast", 702 | "annotations": [ 703 | { 704 | "name": "PBI_ResultType", 705 | "value": "Table" 706 | }, 707 | { 708 | "name": "PBI_NavigationStepName", 709 | "value": "Navigation" 710 | } 711 | ], 712 | "columns": [ 713 | { 714 | "name": "time", 715 | "annotations": [ 716 | { 717 | "name": "SummarizationSetBy", 718 | "value": "Automatic" 719 | } 720 | ], 721 | "dataType": "dateTime", 722 | "formatString": "General Date", 723 | "lineageTag": "d9486651-8885-4ba4-ac3e-bf860912fb52", 724 | "sourceColumn": "time", 725 | "summarizeBy": "none" 726 | }, 727 | { 728 | "name": "temp_c", 729 | "annotations": [ 730 | { 731 | "name": "SummarizationSetBy", 732 | "value": "Automatic" 733 | }, 734 | { 735 | "name": "PBI_FormatHint", 736 | "value": "{\"isGeneralNumber\":true}" 737 | } 738 | ], 739 | "dataType": "double", 740 | "lineageTag": "8e5ea67c-2dec-433d-8eba-810b816d3086", 741 | "sourceColumn": "temp_c", 742 | "summarizeBy": "sum" 743 | }, 744 | { 745 | "name": "temp_f", 746 | "annotations": [ 747 | { 748 | "name": "SummarizationSetBy", 749 | "value": "Automatic" 750 | }, 751 | { 752 | "name": "PBI_FormatHint", 753 | "value": "{\"isGeneralNumber\":true}" 754 | } 755 | ], 756 | "dataType": "double", 757 | "lineageTag": "1577a6ac-1837-45bd-b424-a3ea38b94039", 758 | "sourceColumn": "temp_f", 759 | "summarizeBy": "sum" 760 | }, 761 | { 762 | "name": "text", 763 | "annotations": [ 764 | { 765 | "name": "SummarizationSetBy", 766 | "value": "Automatic" 767 | } 768 | ], 769 | "dataType": "string", 770 | "lineageTag": "d63b95e3-2a3e-4f56-b7e6-ecd1fbc0d8c4", 771 | "sourceColumn": "text", 772 | "summarizeBy": "none" 773 | }, 774 | { 775 | "name": "wind_mph", 776 | "annotations": [ 777 | { 778 | "name": "SummarizationSetBy", 779 | "value": "Automatic" 780 | }, 781 | { 782 | "name": "PBI_FormatHint", 783 | "value": "{\"isGeneralNumber\":true}" 784 | } 785 | ], 786 | "dataType": "double", 787 | "lineageTag": "05352f3d-5538-4d78-8637-7bb8f8088887", 788 | "sourceColumn": "wind_mph", 789 | "summarizeBy": "sum" 790 | }, 791 | { 792 | "name": "wind_kph", 793 | "annotations": [ 794 | { 795 | "name": "SummarizationSetBy", 796 | "value": "Automatic" 797 | }, 798 | { 799 | "name": "PBI_FormatHint", 800 | "value": "{\"isGeneralNumber\":true}" 801 | } 802 | ], 803 | "dataType": "double", 804 | "lineageTag": "4e50b9a4-d9a9-488d-b80e-0fc6f2d1b4e9", 805 | "sourceColumn": "wind_kph", 806 | "summarizeBy": "sum" 807 | }, 808 | { 809 | "name": "wind_degree", 810 | "annotations": [ 811 | { 812 | "name": "SummarizationSetBy", 813 | "value": "Automatic" 814 | } 815 | ], 816 | "dataType": "int64", 817 | "formatString": "0", 818 | "lineageTag": "ac8776a0-f7d9-48e3-9ba2-18914312ec8e", 819 | "sourceColumn": "wind_degree", 820 | "summarizeBy": "sum" 821 | }, 822 | { 823 | "name": "wind_dir", 824 | "annotations": [ 825 | { 826 | "name": "SummarizationSetBy", 827 | "value": "Automatic" 828 | } 829 | ], 830 | "dataType": "string", 831 | "lineageTag": "a5dfab4f-e9fc-4735-9c80-74202cd9ac75", 832 | "sourceColumn": "wind_dir", 833 | "summarizeBy": "none" 834 | }, 835 | { 836 | "name": "pressure_mb", 837 | "annotations": [ 838 | { 839 | "name": "SummarizationSetBy", 840 | "value": "Automatic" 841 | } 842 | ], 843 | "dataType": "int64", 844 | "formatString": "0", 845 | "lineageTag": "568343ad-add0-4504-a4d3-35dc74e2c4f0", 846 | "sourceColumn": "pressure_mb", 847 | "summarizeBy": "sum" 848 | }, 849 | { 850 | "name": "pressure_in", 851 | "annotations": [ 852 | { 853 | "name": "SummarizationSetBy", 854 | "value": "Automatic" 855 | }, 856 | { 857 | "name": "PBI_FormatHint", 858 | "value": "{\"isGeneralNumber\":true}" 859 | } 860 | ], 861 | "dataType": "double", 862 | "lineageTag": "1a860cc1-3033-42bd-aac7-6d001c26a95d", 863 | "sourceColumn": "pressure_in", 864 | "summarizeBy": "sum" 865 | }, 866 | { 867 | "name": "precip_mm", 868 | "annotations": [ 869 | { 870 | "name": "SummarizationSetBy", 871 | "value": "Automatic" 872 | }, 873 | { 874 | "name": "PBI_FormatHint", 875 | "value": "{\"isGeneralNumber\":true}" 876 | } 877 | ], 878 | "dataType": "double", 879 | "lineageTag": "7089f20e-19b2-45e6-b830-731bc017bd5f", 880 | "sourceColumn": "precip_mm", 881 | "summarizeBy": "sum" 882 | }, 883 | { 884 | "name": "precip_in", 885 | "annotations": [ 886 | { 887 | "name": "SummarizationSetBy", 888 | "value": "Automatic" 889 | }, 890 | { 891 | "name": "PBI_FormatHint", 892 | "value": "{\"isGeneralNumber\":true}" 893 | } 894 | ], 895 | "dataType": "double", 896 | "lineageTag": "d7987cb9-98d2-4043-b694-d682adcefc9b", 897 | "sourceColumn": "precip_in", 898 | "summarizeBy": "sum" 899 | }, 900 | { 901 | "name": "humidity", 902 | "annotations": [ 903 | { 904 | "name": "SummarizationSetBy", 905 | "value": "Automatic" 906 | } 907 | ], 908 | "dataType": "int64", 909 | "formatString": "0", 910 | "lineageTag": "58bb114f-fa35-4e88-aa46-fdd2e3773dc4", 911 | "sourceColumn": "humidity", 912 | "summarizeBy": "sum" 913 | }, 914 | { 915 | "name": "cloud", 916 | "annotations": [ 917 | { 918 | "name": "SummarizationSetBy", 919 | "value": "Automatic" 920 | } 921 | ], 922 | "dataType": "int64", 923 | "formatString": "0", 924 | "lineageTag": "141fd607-78a5-46b3-9b29-046d14778599", 925 | "sourceColumn": "cloud", 926 | "summarizeBy": "sum" 927 | }, 928 | { 929 | "name": "feelslike_c", 930 | "annotations": [ 931 | { 932 | "name": "SummarizationSetBy", 933 | "value": "Automatic" 934 | }, 935 | { 936 | "name": "PBI_FormatHint", 937 | "value": "{\"isGeneralNumber\":true}" 938 | } 939 | ], 940 | "dataType": "double", 941 | "lineageTag": "d79491c3-595a-4ae7-a972-f75156376b7d", 942 | "sourceColumn": "feelslike_c", 943 | "summarizeBy": "sum" 944 | }, 945 | { 946 | "name": "feelslike_f", 947 | "annotations": [ 948 | { 949 | "name": "SummarizationSetBy", 950 | "value": "Automatic" 951 | }, 952 | { 953 | "name": "PBI_FormatHint", 954 | "value": "{\"isGeneralNumber\":true}" 955 | } 956 | ], 957 | "dataType": "double", 958 | "lineageTag": "db578e91-78e1-4324-9a3a-fbbc6d69afd7", 959 | "sourceColumn": "feelslike_f", 960 | "summarizeBy": "sum" 961 | }, 962 | { 963 | "name": "windchill_c", 964 | "annotations": [ 965 | { 966 | "name": "SummarizationSetBy", 967 | "value": "Automatic" 968 | }, 969 | { 970 | "name": "PBI_FormatHint", 971 | "value": "{\"isGeneralNumber\":true}" 972 | } 973 | ], 974 | "dataType": "double", 975 | "lineageTag": "14592d13-b991-4cd3-9ae9-d403c43ba858", 976 | "sourceColumn": "windchill_c", 977 | "summarizeBy": "sum" 978 | }, 979 | { 980 | "name": "windchill_f", 981 | "annotations": [ 982 | { 983 | "name": "SummarizationSetBy", 984 | "value": "Automatic" 985 | }, 986 | { 987 | "name": "PBI_FormatHint", 988 | "value": "{\"isGeneralNumber\":true}" 989 | } 990 | ], 991 | "dataType": "double", 992 | "lineageTag": "e780feaf-ebdd-4590-a891-d4a6c688ace9", 993 | "sourceColumn": "windchill_f", 994 | "summarizeBy": "sum" 995 | }, 996 | { 997 | "name": "chance_of_rain", 998 | "annotations": [ 999 | { 1000 | "name": "SummarizationSetBy", 1001 | "value": "Automatic" 1002 | } 1003 | ], 1004 | "dataType": "int64", 1005 | "formatString": "0", 1006 | "lineageTag": "01d87ffe-0900-4bec-a358-5b7f3b2d3109", 1007 | "sourceColumn": "chance_of_rain", 1008 | "summarizeBy": "sum" 1009 | }, 1010 | { 1011 | "name": "chance_of_snow", 1012 | "annotations": [ 1013 | { 1014 | "name": "SummarizationSetBy", 1015 | "value": "Automatic" 1016 | } 1017 | ], 1018 | "dataType": "int64", 1019 | "formatString": "0", 1020 | "lineageTag": "ebb656f2-91c0-4045-b007-d3d76a4fce59", 1021 | "sourceColumn": "chance_of_snow", 1022 | "summarizeBy": "sum" 1023 | }, 1024 | { 1025 | "name": "uv", 1026 | "annotations": [ 1027 | { 1028 | "name": "SummarizationSetBy", 1029 | "value": "Automatic" 1030 | } 1031 | ], 1032 | "dataType": "string", 1033 | "lineageTag": "d9608eef-5f2d-46b5-8252-2ad541f089da", 1034 | "sourceColumn": "uv", 1035 | "summarizeBy": "none" 1036 | }, 1037 | { 1038 | "name": "ConditionIcon", 1039 | "annotations": [ 1040 | { 1041 | "name": "SummarizationSetBy", 1042 | "value": "Automatic" 1043 | } 1044 | ], 1045 | "dataType": "string", 1046 | "lineageTag": "514fa2c3-9bb7-46de-b42b-86395db3803a", 1047 | "sourceColumn": "ConditionIcon", 1048 | "summarizeBy": "none" 1049 | }, 1050 | { 1051 | "name": "name", 1052 | "annotations": [ 1053 | { 1054 | "name": "SummarizationSetBy", 1055 | "value": "Automatic" 1056 | } 1057 | ], 1058 | "dataType": "string", 1059 | "lineageTag": "c3e84857-fb1f-461a-badd-d132d66dee0f", 1060 | "sourceColumn": "name", 1061 | "summarizeBy": "none" 1062 | }, 1063 | { 1064 | "name": "ID", 1065 | "annotations": [ 1066 | { 1067 | "name": "SummarizationSetBy", 1068 | "value": "Automatic" 1069 | } 1070 | ], 1071 | "dataType": "int64", 1072 | "formatString": "0", 1073 | "lineageTag": "f2cfa520-04e8-42de-890b-b1bbb89b1da7", 1074 | "sourceColumn": "ID", 1075 | "summarizeBy": "none" 1076 | } 1077 | ], 1078 | "lineageTag": "912d1b37-c7b5-4a9a-a3d9-ac691a5c0bed", 1079 | "partitions": [ 1080 | { 1081 | "name": "factForecast-5633c81c-6965-4df5-b584-d8f107ccfd1a", 1082 | "mode": "import", 1083 | "queryGroup": "Fact Weather", 1084 | "source": { 1085 | "expression": [ 1086 | "let", 1087 | " Source = dCities,", 1088 | " #\"Kept only city col\" = Table.SelectColumns(Source, {\"name\", \"ID\"}),", 1089 | " #\"Added API Forecast call\" = Table.AddColumn(#\"Kept only city col\", \"APicall\", each Json.Document(", 1090 | " Web.Contents(", 1091 | " \"http://api.weatherapi.com\",[RelativePath=\"v1/forecast.json?\", Query=[", 1092 | " key=#\"API Key\",", 1093 | " days=\"10\",", 1094 | " aqi=\"no\",", 1095 | " q=[name]", 1096 | " ]]))),", 1097 | " #\"Removed Errors\" = Table.RemoveRowsWithErrors(#\"Added API Forecast call\", {\"APicall\"}),", 1098 | " #\"Expanded APicall\" = Table.ExpandRecordColumn(#\"Removed Errors\", \"APicall\", {\"forecast\"}, {\"forecast\"}),", 1099 | " #\"Expanded forecast\" = Table.ExpandRecordColumn(#\"Expanded APicall\", \"forecast\", {\"forecastday\"}, {\"forecastday\"}),", 1100 | " #\"Expanded forecastday\" = Table.ExpandListColumn(#\"Expanded forecast\", \"forecastday\"),", 1101 | " #\"Expanded forecastday1\" = Table.ExpandRecordColumn(#\"Expanded forecastday\", \"forecastday\", {\"hour\"}, {\"hour\"}),", 1102 | " #\"Expanded hour\" = Table.ExpandListColumn(#\"Expanded forecastday1\", \"hour\"),", 1103 | " #\"Expanded hour1\" = Table.ExpandRecordColumn(#\"Expanded hour\", \"hour\", {\"time\", \"temp_c\", \"temp_f\", \"condition\", \"wind_mph\", \"wind_kph\", \"wind_degree\", \"wind_dir\", \"pressure_mb\", \"pressure_in\", \"precip_mm\", \"precip_in\", \"humidity\", \"cloud\", \"feelslike_c\", \"feelslike_f\", \"windchill_c\", \"windchill_f\", \"chance_of_rain\", \"chance_of_snow\", \"uv\"}, {\"time\", \"temp_c\", \"temp_f\", \"condition\", \"wind_mph\", \"wind_kph\", \"wind_degree\", \"wind_dir\", \"pressure_mb\", \"pressure_in\", \"precip_mm\", \"precip_in\", \"humidity\", \"cloud\", \"feelslike_c\", \"feelslike_f\", \"windchill_c\", \"windchill_f\", \"chance_of_rain\", \"chance_of_snow\", \"uv\"}),", 1104 | " #\"Expanded condition\" = Table.ExpandRecordColumn(#\"Expanded hour1\", \"condition\", {\"text\", \"icon\"}, {\"text\", \"icon\"}),", 1105 | " #\"Changed Type\" = Table.TransformColumnTypes(#\"Expanded condition\", {{\"temp_f\", type number}, {\"temp_c\", type number}, {\"wind_mph\", type number}, {\"wind_kph\", type number}, {\"pressure_in\", type number}, {\"precip_mm\", type number}, {\"precip_in\", type number}, {\"feelslike_c\", type number}, {\"feelslike_f\", type number}, {\"windchill_c\", type number}, {\"windchill_f\", type number}, {\"time\", type datetime}, {\"text\", type text}, {\"icon\", type text}, {\"wind_dir\", type text}, {\"wind_degree\", Int64.Type}, {\"pressure_mb\", Int64.Type}, {\"humidity\", Int64.Type}, {\"cloud\", Int64.Type}, {\"chance_of_rain\", Int64.Type}, {\"chance_of_snow\", Int64.Type}}),", 1106 | " #\"Added Cond. Icon url\" = Table.AddColumn(#\"Changed Type\", \"ConditionIcon\", each \"https:\" & [icon], type text),", 1107 | " #\"Removed Columns\" = Table.RemoveColumns(#\"Added Cond. Icon url\", {\"icon\"}),", 1108 | " #\"Transform columns\" = Table.TransformColumnTypes(#\"Removed Columns\", {{\"uv\", type text}}),", 1109 | " #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"uv\", null}})", 1110 | "in", 1111 | " #\"Replace errors\"" 1112 | ], 1113 | "type": "m" 1114 | } 1115 | } 1116 | ] 1117 | }, 1118 | { 1119 | "name": "dCountries", 1120 | "annotations": [ 1121 | { 1122 | "name": "PBI_ResultType", 1123 | "value": "Table" 1124 | }, 1125 | { 1126 | "name": "PBI_NavigationStepName", 1127 | "value": "Navigation" 1128 | } 1129 | ], 1130 | "columns": [ 1131 | { 1132 | "name": "ISO3", 1133 | "annotations": [ 1134 | { 1135 | "name": "SummarizationSetBy", 1136 | "value": "Automatic" 1137 | } 1138 | ], 1139 | "dataType": "string", 1140 | "lineageTag": "9dc8cd6f-f8cf-4f73-9478-2d1b6a2bf589", 1141 | "sourceColumn": "ISO3", 1142 | "summarizeBy": "none" 1143 | }, 1144 | { 1145 | "name": "ISO-Numeric", 1146 | "annotations": [ 1147 | { 1148 | "name": "SummarizationSetBy", 1149 | "value": "Automatic" 1150 | } 1151 | ], 1152 | "dataType": "int64", 1153 | "formatString": "0", 1154 | "lineageTag": "916434a9-0e3c-4f78-91a3-3caa89cd6b7a", 1155 | "sourceColumn": "ISO-Numeric", 1156 | "summarizeBy": "sum" 1157 | }, 1158 | { 1159 | "name": "fips", 1160 | "annotations": [ 1161 | { 1162 | "name": "SummarizationSetBy", 1163 | "value": "Automatic" 1164 | } 1165 | ], 1166 | "dataType": "string", 1167 | "lineageTag": "c7db0e4f-7379-47ef-a482-968bec895882", 1168 | "sourceColumn": "fips", 1169 | "summarizeBy": "none" 1170 | }, 1171 | { 1172 | "name": "Country", 1173 | "annotations": [ 1174 | { 1175 | "name": "SummarizationSetBy", 1176 | "value": "Automatic" 1177 | } 1178 | ], 1179 | "dataType": "string", 1180 | "lineageTag": "568351e3-10db-409c-a978-77bba2cb1998", 1181 | "sourceColumn": "Country", 1182 | "summarizeBy": "none" 1183 | }, 1184 | { 1185 | "name": "Capital", 1186 | "annotations": [ 1187 | { 1188 | "name": "SummarizationSetBy", 1189 | "value": "Automatic" 1190 | } 1191 | ], 1192 | "dataType": "string", 1193 | "lineageTag": "5bd2862d-9e8e-45ac-ae9f-0908be07ba27", 1194 | "sourceColumn": "Capital", 1195 | "summarizeBy": "none" 1196 | }, 1197 | { 1198 | "name": "Area(in sq km)", 1199 | "annotations": [ 1200 | { 1201 | "name": "SummarizationSetBy", 1202 | "value": "Automatic" 1203 | } 1204 | ], 1205 | "dataType": "int64", 1206 | "formatString": "0", 1207 | "lineageTag": "e6269021-c286-45d1-8ad0-37f08a725761", 1208 | "sourceColumn": "Area(in sq km)", 1209 | "summarizeBy": "sum" 1210 | }, 1211 | { 1212 | "name": "Population", 1213 | "annotations": [ 1214 | { 1215 | "name": "SummarizationSetBy", 1216 | "value": "Automatic" 1217 | } 1218 | ], 1219 | "dataType": "int64", 1220 | "formatString": "0", 1221 | "lineageTag": "81dd5210-b060-4092-9023-6906fb249f08", 1222 | "sourceColumn": "Population", 1223 | "summarizeBy": "sum" 1224 | }, 1225 | { 1226 | "name": "tld", 1227 | "annotations": [ 1228 | { 1229 | "name": "SummarizationSetBy", 1230 | "value": "Automatic" 1231 | } 1232 | ], 1233 | "dataType": "string", 1234 | "lineageTag": "2a18d090-9a5e-4bc5-a410-731d3f562a25", 1235 | "sourceColumn": "tld", 1236 | "summarizeBy": "none" 1237 | }, 1238 | { 1239 | "name": "CurrencyCode", 1240 | "annotations": [ 1241 | { 1242 | "name": "SummarizationSetBy", 1243 | "value": "Automatic" 1244 | } 1245 | ], 1246 | "dataType": "string", 1247 | "lineageTag": "530e586d-d6fc-4fe3-a7ff-66cc23fa8494", 1248 | "sourceColumn": "CurrencyCode", 1249 | "summarizeBy": "none" 1250 | }, 1251 | { 1252 | "name": "CurrencyName", 1253 | "annotations": [ 1254 | { 1255 | "name": "SummarizationSetBy", 1256 | "value": "Automatic" 1257 | } 1258 | ], 1259 | "dataType": "string", 1260 | "lineageTag": "3e5427ea-8bec-43fd-96a1-c61ad9914e66", 1261 | "sourceColumn": "CurrencyName", 1262 | "summarizeBy": "none" 1263 | }, 1264 | { 1265 | "name": "Phone", 1266 | "annotations": [ 1267 | { 1268 | "name": "SummarizationSetBy", 1269 | "value": "Automatic" 1270 | } 1271 | ], 1272 | "dataType": "string", 1273 | "lineageTag": "a51d3afa-4c18-450e-8989-5481c95a520e", 1274 | "sourceColumn": "Phone", 1275 | "summarizeBy": "none" 1276 | }, 1277 | { 1278 | "name": "Postal Code Format", 1279 | "annotations": [ 1280 | { 1281 | "name": "SummarizationSetBy", 1282 | "value": "Automatic" 1283 | } 1284 | ], 1285 | "dataType": "string", 1286 | "lineageTag": "498d180e-efe2-4c96-b854-119c65d540f5", 1287 | "sourceColumn": "Postal Code Format", 1288 | "summarizeBy": "none" 1289 | }, 1290 | { 1291 | "name": "Postal Code Regex", 1292 | "annotations": [ 1293 | { 1294 | "name": "SummarizationSetBy", 1295 | "value": "Automatic" 1296 | } 1297 | ], 1298 | "dataType": "string", 1299 | "lineageTag": "58a8bfb9-cc5b-4af6-b509-43753f8f52e8", 1300 | "sourceColumn": "Postal Code Regex", 1301 | "summarizeBy": "none" 1302 | }, 1303 | { 1304 | "name": "Languages", 1305 | "annotations": [ 1306 | { 1307 | "name": "SummarizationSetBy", 1308 | "value": "Automatic" 1309 | } 1310 | ], 1311 | "dataType": "string", 1312 | "lineageTag": "07f8bf85-1295-4145-abd6-03ffae9cd437", 1313 | "sourceColumn": "Languages", 1314 | "summarizeBy": "none" 1315 | }, 1316 | { 1317 | "name": "geonameid", 1318 | "annotations": [ 1319 | { 1320 | "name": "SummarizationSetBy", 1321 | "value": "Automatic" 1322 | } 1323 | ], 1324 | "dataType": "int64", 1325 | "formatString": "0", 1326 | "lineageTag": "8a26b641-f3c2-41de-bdd5-ca99692d464e", 1327 | "sourceColumn": "geonameid", 1328 | "summarizeBy": "sum" 1329 | }, 1330 | { 1331 | "name": "neighbours", 1332 | "annotations": [ 1333 | { 1334 | "name": "SummarizationSetBy", 1335 | "value": "Automatic" 1336 | } 1337 | ], 1338 | "dataType": "string", 1339 | "lineageTag": "2c985943-66a9-42b3-bcf5-37016bebaa54", 1340 | "sourceColumn": "neighbours", 1341 | "summarizeBy": "none" 1342 | }, 1343 | { 1344 | "name": "EquivalentFipsCode", 1345 | "annotations": [ 1346 | { 1347 | "name": "SummarizationSetBy", 1348 | "value": "Automatic" 1349 | } 1350 | ], 1351 | "dataType": "string", 1352 | "lineageTag": "fc3d6a9f-51ab-4cf3-9b9d-5f6efd580619", 1353 | "sourceColumn": "EquivalentFipsCode", 1354 | "summarizeBy": "none" 1355 | }, 1356 | { 1357 | "name": "ISO", 1358 | "annotations": [ 1359 | { 1360 | "name": "SummarizationSetBy", 1361 | "value": "Automatic" 1362 | } 1363 | ], 1364 | "dataType": "string", 1365 | "lineageTag": "87300360-a3fd-4e45-b56a-2bdcfd2442b2", 1366 | "sourceColumn": "ISO", 1367 | "summarizeBy": "none" 1368 | }, 1369 | { 1370 | "name": "ContinentAbreviation", 1371 | "annotations": [ 1372 | { 1373 | "name": "SummarizationSetBy", 1374 | "value": "Automatic" 1375 | } 1376 | ], 1377 | "dataType": "string", 1378 | "lineageTag": "b202bbfb-5995-4fb9-8fea-39c18de183d0", 1379 | "sourceColumn": "ContinentAbreviation", 1380 | "summarizeBy": "none" 1381 | }, 1382 | { 1383 | "name": "ContinentName", 1384 | "annotations": [ 1385 | { 1386 | "name": "SummarizationSetBy", 1387 | "value": "Automatic" 1388 | } 1389 | ], 1390 | "dataType": "string", 1391 | "lineageTag": "236e03ba-159a-45da-8d73-2a7ea4f195b9", 1392 | "sourceColumn": "ContinentName", 1393 | "summarizeBy": "none" 1394 | } 1395 | ], 1396 | "excludeFromModelRefresh": true, 1397 | "lineageTag": "79a7641b-6474-4e48-831c-d7d94faf95e9", 1398 | "partitions": [ 1399 | { 1400 | "name": "dCountries-21b4f221-ff8d-4f24-9e39-e65177821a5c", 1401 | "mode": "import", 1402 | "queryGroup": "Dimension Tables", 1403 | "source": { 1404 | "expression": [ 1405 | "let", 1406 | " Source = Excel.Workbook(File.Contents(PathToData & \"\\countries.xlsx\"), null, true), ", 1407 | " countries_Sheet = Source{[Item = \"countries\", Kind = \"Sheet\"]}[Data], ", 1408 | " #\"Promoted Headers\" = Table.PromoteHeaders(countries_Sheet, [PromoteAllScalars = true]), ", 1409 | " #\"Changed Type\" = Table.TransformColumnTypes(", 1410 | " #\"Promoted Headers\", ", 1411 | " {", 1412 | " {\"ISO\", type text}, ", 1413 | " {\"ISO3\", type text}, ", 1414 | " {\"ISO-Numeric\", Int64.Type}, ", 1415 | " {\"fips\", type text}, ", 1416 | " {\"Country\", type text}, ", 1417 | " {\"Capital\", type text}, ", 1418 | " {\"Area(in sq km)\", Int64.Type}, ", 1419 | " {\"Population\", Int64.Type}, ", 1420 | " {\"ContinentAbreviation\", type text}, ", 1421 | " {\"tld\", type text}, ", 1422 | " {\"CurrencyCode\", type text}, ", 1423 | " {\"CurrencyName\", type text}, ", 1424 | " {\"Phone\", type text}, ", 1425 | " {\"Postal Code Format\", type text}, ", 1426 | " {\"Postal Code Regex\", type text}, ", 1427 | " {\"Languages\", type text}, ", 1428 | " {\"geonameid\", Int64.Type}, ", 1429 | " {\"neighbours\", type text}, ", 1430 | " {\"EquivalentFipsCode\", type text}", 1431 | " }", 1432 | " ), ", 1433 | " #\"Added ContinentName\" = Table.AddColumn(", 1434 | " #\"Changed Type\", ", 1435 | " \"ContinentName\", ", 1436 | " each Switch(", 1437 | " {", 1438 | " [ContinentAbreviation], ", 1439 | " \"EU\", \"Europe\", ", 1440 | " \"NA\", \"North America\", ", 1441 | " \"SA\", \"South America\", ", 1442 | " \"OC\", \"Oceania\", ", 1443 | " \"AF\", \"Africa\", ", 1444 | " \"AS\", \"Asia\", ", 1445 | " \"AN\", \"Antartica\"", 1446 | " }", 1447 | " ), ", 1448 | " type text", 1449 | " )", 1450 | "in", 1451 | " #\"Added ContinentName\"" 1452 | ], 1453 | "type": "m" 1454 | } 1455 | } 1456 | ] 1457 | }, 1458 | { 1459 | "name": "factData", 1460 | "annotations": [ 1461 | { 1462 | "name": "PBI_ResultType", 1463 | "value": "Table" 1464 | }, 1465 | { 1466 | "name": "PBI_NavigationStepName", 1467 | "value": "Navigation" 1468 | } 1469 | ], 1470 | "columns": [ 1471 | { 1472 | "name": "Entity", 1473 | "annotations": [ 1474 | { 1475 | "name": "SummarizationSetBy", 1476 | "value": "Automatic" 1477 | } 1478 | ], 1479 | "dataType": "string", 1480 | "lineageTag": "49a30893-59a7-4dca-a8a1-19c6f44ea06d", 1481 | "sourceColumn": "Entity", 1482 | "summarizeBy": "none" 1483 | }, 1484 | { 1485 | "name": "Code", 1486 | "annotations": [ 1487 | { 1488 | "name": "SummarizationSetBy", 1489 | "value": "Automatic" 1490 | } 1491 | ], 1492 | "dataType": "string", 1493 | "lineageTag": "e5d9c8b8-5c17-4dcb-b0da-5657df636d7d", 1494 | "sourceColumn": "Code", 1495 | "summarizeBy": "none" 1496 | }, 1497 | { 1498 | "name": "Year", 1499 | "annotations": [ 1500 | { 1501 | "name": "SummarizationSetBy", 1502 | "value": "Automatic" 1503 | } 1504 | ], 1505 | "dataType": "int64", 1506 | "formatString": "0", 1507 | "lineageTag": "0d8ed9ba-3361-4d1c-8c6f-19f9b32729e3", 1508 | "sourceColumn": "Year", 1509 | "summarizeBy": "none" 1510 | }, 1511 | { 1512 | "name": "Attribute", 1513 | "annotations": [ 1514 | { 1515 | "name": "SummarizationSetBy", 1516 | "value": "Automatic" 1517 | } 1518 | ], 1519 | "dataType": "string", 1520 | "lineageTag": "985125a2-7b37-4344-a3ba-fa2a658fb887", 1521 | "sourceColumn": "Attribute", 1522 | "summarizeBy": "none" 1523 | }, 1524 | { 1525 | "name": "Value", 1526 | "annotations": [ 1527 | { 1528 | "name": "SummarizationSetBy", 1529 | "value": "Automatic" 1530 | }, 1531 | { 1532 | "name": "PBI_FormatHint", 1533 | "value": "{\"isGeneralNumber\":true}" 1534 | } 1535 | ], 1536 | "dataType": "double", 1537 | "lineageTag": "5cd20fd0-d57a-48e9-885e-de8d0ecd87e8", 1538 | "sourceColumn": "Value", 1539 | "summarizeBy": "sum" 1540 | }, 1541 | { 1542 | "name": "Class", 1543 | "annotations": [ 1544 | { 1545 | "name": "SummarizationSetBy", 1546 | "value": "Automatic" 1547 | } 1548 | ], 1549 | "dataType": "string", 1550 | "lineageTag": "17998ed6-d50b-4a8c-b293-7844ca2a7930", 1551 | "sourceColumn": "Class", 1552 | "summarizeBy": "none" 1553 | } 1554 | ], 1555 | "excludeFromModelRefresh": true, 1556 | "lineageTag": "4d5f63d6-1249-4e3e-bf00-329693145aeb", 1557 | "partitions": [ 1558 | { 1559 | "name": "factData-4927dfcd-380e-4433-8886-7b519c372095", 1560 | "mode": "import", 1561 | "queryGroup": "Fact World Data", 1562 | "source": { 1563 | "expression": [ 1564 | "let", 1565 | " Source = Table.Combine({factBirthsDeaths, factCarbonIntensityElectricity, factFreedomOfExpressionIndex, factGDP, factGDPperCapita, factHDI, factMerchandiseExportsGdp, factPopulation, factLifeExpectancy, factExpectedYearsSchooling, factGNI})", 1566 | "in", 1567 | " Source" 1568 | ], 1569 | "type": "m" 1570 | } 1571 | } 1572 | ] 1573 | }, 1574 | { 1575 | "name": "_Measures", 1576 | "annotations": [ 1577 | { 1578 | "name": "PBI_ResultType", 1579 | "value": "Table" 1580 | }, 1581 | { 1582 | "name": "PBI_NavigationStepName", 1583 | "value": "Navigation" 1584 | } 1585 | ], 1586 | "lineageTag": "094665df-3b7b-40b1-8e37-58373a21a77c", 1587 | "measures": [ 1588 | { 1589 | "name": "MapOverlay", 1590 | "displayFolder": "Map Measures", 1591 | "expression": [ 1592 | "", 1593 | "VAR _key = \"ba65bf7ce74616797f7b2055aea2596e\"", 1594 | "VAR _type = ", 1595 | " SWITCH(", 1596 | " \"Temperature\",", 1597 | " \"Temperature\", \"temp_new\",", 1598 | " \"Condition\", \"temp_new\",", 1599 | " \"Pressure\",\"pressure_new\",", 1600 | " \"Humidity\",\"clouds_new\",", 1601 | " \"Wind direction\",\"wind_new\",", 1602 | " \"Wind speed\",\"wind_new\",", 1603 | " \"Rain probability\",\"precipitation_new\")", 1604 | "RETURN", 1605 | " \"https://tile.openweathermap.org/map/\"&_type&\"/{z}/{x}/{y}.png?appid=\"&_key" 1606 | ], 1607 | "lineageTag": "47e29671-4246-4be8-bd27-60ea52f05291" 1608 | }, 1609 | { 1610 | "name": "MapBackground", 1611 | "displayFolder": "Map Measures", 1612 | "expression": "\"https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png\"", 1613 | "lineageTag": "cc988bbd-9a07-4b2c-bf86-517d61129f06" 1614 | }, 1615 | { 1616 | "name": "MapSize", 1617 | "displayFolder": "Map Measures", 1618 | "expression": [ 1619 | "//If a country is selected shows all the cities, else show only capitals", 1620 | "VAR selected_country = ", 1621 | " SELECTEDVALUE(dCountries[Country])", 1622 | "VAR weather_icon = [MapIcon]", 1623 | "VAR capitals=", 1624 | " CALCULATE(", 1625 | " DISTINCTCOUNT(dCities[asciiname]),", 1626 | " dCities[class]=\"PPLC\")", 1627 | "", 1628 | "RETURN", 1629 | "IF(", 1630 | " NOT ISBLANK(weather_icon),", 1631 | " IF(", 1632 | " NOT ISBLANK(selected_country),", 1633 | " 1,", 1634 | " capitals", 1635 | " ),", 1636 | " BLANK()", 1637 | ")" 1638 | ], 1639 | "formatString": "0", 1640 | "lineageTag": "c00cf0cb-7034-4e89-8768-47c9e63781e7" 1641 | }, 1642 | { 1643 | "name": "Latitude", 1644 | "displayFolder": "Map Measures", 1645 | "expression": "MIN(dCities[lat])", 1646 | "lineageTag": "db0500e8-84a2-4a2e-8552-9d9e2395e047" 1647 | }, 1648 | { 1649 | "name": "Longitude", 1650 | "displayFolder": "Map Measures", 1651 | "expression": "MIN(dCities[lon])", 1652 | "lineageTag": "b7c50bed-bccb-4e95-be4a-77f3397cd48d" 1653 | }, 1654 | { 1655 | "name": "MapIcon", 1656 | "dataCategory": "ImageUrl", 1657 | "displayFolder": "Map Measures", 1658 | "expression": "CALCULATE(MIN(factForecast[ConditionIcon]))", 1659 | "lineageTag": "1c171fc9-04ae-4af8-af0c-1867403ffb56" 1660 | }, 1661 | { 1662 | "name": "Human Development Index (HDI)", 1663 | "annotations": [ 1664 | { 1665 | "name": "PBI_FormatHint", 1666 | "value": "{\"isGeneralNumber\":true}" 1667 | } 1668 | ], 1669 | "displayFolder": "Indexes", 1670 | "expression": [ 1671 | "", 1672 | "CALCULATE(", 1673 | " AVERAGE(factData[Value]),", 1674 | " dMetrics[Alias]=\"HDI\",", 1675 | " NOT ISBLANK(dCountries[ISO3])", 1676 | ")" 1677 | ], 1678 | "lineageTag": "8da5c1d4-997b-43b1-97e1-c80b64e567d0" 1679 | }, 1680 | { 1681 | "name": "Average Temperature", 1682 | "annotations": [ 1683 | { 1684 | "name": "PBI_FormatHint", 1685 | "value": "{\"isGeneralNumber\":true}" 1686 | } 1687 | ], 1688 | "displayFolder": "Weather", 1689 | "expression": [ 1690 | "", 1691 | "//Selected metric system", 1692 | "VAR system = SELECTEDVALUE(dMetricSystem[Metric System],\"International system\")", 1693 | "//International units", 1694 | "VAR si = AVERAGE(factForecast[temp_c])", 1695 | "//Imperial units", 1696 | "VAR imperial = AVERAGE(factForecast[temp_f])", 1697 | "RETURN", 1698 | "//Result", 1699 | "IF(", 1700 | " system=\"Imperial system\", ", 1701 | " imperial,", 1702 | " si)" 1703 | ], 1704 | "lineageTag": "94f5ae3d-1fb8-4574-9438-813171fbf75b" 1705 | }, 1706 | { 1707 | "name": "Deaths", 1708 | "displayFolder": "Indexes", 1709 | "expression": [ 1710 | "", 1711 | "CALCULATE(", 1712 | " AVERAGE(factData[Value]),", 1713 | " dMetrics[Alias]=\"Deaths\"", 1714 | ")" 1715 | ], 1716 | "formatString": "#,0", 1717 | "lineageTag": "69c449dc-8d7b-4801-86ab-c2cf2ae0c498" 1718 | }, 1719 | { 1720 | "name": "Births", 1721 | "displayFolder": "Indexes", 1722 | "expression": [ 1723 | "", 1724 | "CALCULATE(", 1725 | " AVERAGE(factData[Value]),", 1726 | " dMetrics[Alias]=\"Births\"", 1727 | ")" 1728 | ], 1729 | "formatString": "#,0", 1730 | "lineageTag": "eaf9cbdc-f543-4044-b1d6-569695d22c13" 1731 | }, 1732 | { 1733 | "name": "Carbon intensity of electricity (gCO2/kWh)", 1734 | "annotations": [ 1735 | { 1736 | "name": "PBI_FormatHint", 1737 | "value": "{\"isGeneralNumber\":true}" 1738 | } 1739 | ], 1740 | "displayFolder": "Indexes", 1741 | "expression": [ 1742 | "", 1743 | "CALCULATE(", 1744 | " AVERAGE(factData[Value]),", 1745 | " dMetrics[Alias]=\"CIE\"", 1746 | ")" 1747 | ], 1748 | "lineageTag": "01796fbe-e6ca-4250-9b41-486a2a1c0bc5" 1749 | }, 1750 | { 1751 | "name": "Democracy index (V-Dem)", 1752 | "displayFolder": "Indexes", 1753 | "expression": [ 1754 | "", 1755 | "CALCULATE(", 1756 | " AVERAGE(factData[Value]),", 1757 | " dMetrics[Alias]=\"V-Dem\"", 1758 | ")" 1759 | ], 1760 | "formatString": "0.00", 1761 | "lineageTag": "68f7add4-94d3-41fc-849a-8d80a817debb" 1762 | }, 1763 | { 1764 | "name": "Gross domestic product (GDP)", 1765 | "annotations": [ 1766 | { 1767 | "name": "PBI_FormatHint", 1768 | "value": "{\"currencyCulture\":\"en-US\"}" 1769 | } 1770 | ], 1771 | "displayFolder": "Indexes", 1772 | "expression": [ 1773 | "", 1774 | "CALCULATE(", 1775 | " AVERAGE(factData[Value]),", 1776 | " dMetrics[Alias]=\"GDP\"", 1777 | ")" 1778 | ], 1779 | "formatString": "\\$#,0;(\\$#,0);\\$#,0", 1780 | "lineageTag": "3163cbd4-7b9a-4534-a9da-6b97e8744068" 1781 | }, 1782 | { 1783 | "name": "Gross domestic product per capita (GDP per capita)", 1784 | "displayFolder": "Indexes", 1785 | "expression": [ 1786 | "", 1787 | "CALCULATE(", 1788 | " AVERAGE(factData[Value]),", 1789 | " dMetrics[Alias]=\"GDP/c\"", 1790 | ")" 1791 | ], 1792 | "formatString": "\\$#,0;(\\$#,0);\\$#,0", 1793 | "lineageTag": "9fc03b0f-c7da-4243-82ee-7628b74abf00" 1794 | }, 1795 | { 1796 | "name": "Population", 1797 | "displayFolder": "Indexes", 1798 | "expression": [ 1799 | "", 1800 | "CALCULATE(", 1801 | " SUM(factData[Value]),", 1802 | " dMetrics[Alias]=\"pop\"", 1803 | ")" 1804 | ], 1805 | "formatString": "#,0", 1806 | "lineageTag": "bf968075-d959-42af-9a31-0b0e36cadab2" 1807 | }, 1808 | { 1809 | "name": "SelectedMetric", 1810 | "displayFolder": "Indexes", 1811 | "expression": [ 1812 | "", 1813 | "SWITCH(", 1814 | " SELECTEDVALUE(dMetrics[Alias]),", 1815 | " \"Deaths\",[Deaths],", 1816 | " \"Births\",[Births],", 1817 | " \"CIE\",[Carbon intensity of electricity (gCO2/kWh)],", 1818 | " \"V-Dem\",[Democracy index (V-Dem)],", 1819 | " \"V-Dem High\",[V-Dem High],", 1820 | " \"V-Dem Low\",[V-Dem Low],", 1821 | " \"GDP\",[Gross domestic product (GDP)],", 1822 | " \"GDP/c\",[Gross domestic product per capita (GDP per capita)],", 1823 | " \"HDI\",[Human Development Index (HDI)],", 1824 | " \"Exports/GDP\",[Exports/GDP],", 1825 | " \"pop\",[Population])" 1826 | ], 1827 | "lineageTag": "7e6e3862-3dfa-417e-bf19-8cfd6d9c10cc" 1828 | }, 1829 | { 1830 | "name": "V-Dem High", 1831 | "annotations": [ 1832 | { 1833 | "name": "PBI_FormatHint", 1834 | "value": "{\"isGeneralNumber\":true}" 1835 | } 1836 | ], 1837 | "displayFolder": "Indexes", 1838 | "expression": [ 1839 | "", 1840 | "CALCULATE(", 1841 | " AVERAGE(factData[Value]),", 1842 | " dMetrics[Alias]=\"V-Dem High\"", 1843 | ")" 1844 | ], 1845 | "lineageTag": "76841d27-499e-4600-a4ad-32b2dc5f617d" 1846 | }, 1847 | { 1848 | "name": "V-Dem Low", 1849 | "annotations": [ 1850 | { 1851 | "name": "PBI_FormatHint", 1852 | "value": "{\"isGeneralNumber\":true}" 1853 | } 1854 | ], 1855 | "displayFolder": "Indexes", 1856 | "expression": [ 1857 | "", 1858 | "CALCULATE(", 1859 | " AVERAGE(factData[Value]),", 1860 | " dMetrics[Alias]=\"V-Dem Low\"", 1861 | ")" 1862 | ], 1863 | "lineageTag": "0298d7da-4cb5-473e-83b0-c68911ca2391" 1864 | }, 1865 | { 1866 | "name": "Exports/GDP", 1867 | "annotations": [ 1868 | { 1869 | "name": "PBI_FormatHint", 1870 | "value": "{\"isGeneralNumber\":true}" 1871 | } 1872 | ], 1873 | "displayFolder": "Indexes", 1874 | "expression": [ 1875 | "", 1876 | "CALCULATE(", 1877 | " AVERAGE(factData[Value]),", 1878 | " dMetrics[Alias]=\"Exports/GDP\"", 1879 | ")" 1880 | ], 1881 | "lineageTag": "1f47bfc1-041b-4609-9fe6-74da39e7cf44" 1882 | }, 1883 | { 1884 | "name": "HDI Class", 1885 | "displayFolder": "Classification and Conditionals", 1886 | "expression": [ 1887 | "", 1888 | "VAR HDI = [Human Development Index (HDI)]", 1889 | "return", 1890 | "IF(", 1891 | " HDI>=0.8,\"Very high human development\",", 1892 | " IF(", 1893 | " HDI>=0.7&&HDI<0.8, \"High human development\",", 1894 | " IF(", 1895 | " HDI>=0.55&&HDI<0.7,\"Medium human development\",", 1896 | " IF(", 1897 | " HDI>0&&HDI<0.55,\"Low human development\",\"No Data\")", 1898 | " )", 1899 | " )", 1900 | ")", 1901 | "", 1902 | "" 1903 | ], 1904 | "lineageTag": "476ae6fd-8b50-49c1-aab3-2e046ee04007" 1905 | }, 1906 | { 1907 | "name": "Dark Green", 1908 | "displayFolder": "Colors", 1909 | "expression": "\"#287e8f\"", 1910 | "lineageTag": "9bafffc9-264c-490b-ae87-86c17c11abe3" 1911 | }, 1912 | { 1913 | "name": "Light Green", 1914 | "displayFolder": "Colors", 1915 | "expression": "\"#7eb2bc\"", 1916 | "lineageTag": "a5c3e635-c702-447f-a5d2-220453253d5c" 1917 | }, 1918 | { 1919 | "name": "Orange", 1920 | "displayFolder": "Colors", 1921 | "expression": "\"#f6b53d\"", 1922 | "lineageTag": "52e57c69-02ea-467b-abda-931e93b14db6" 1923 | }, 1924 | { 1925 | "name": "Red", 1926 | "displayFolder": "Colors", 1927 | "expression": "\"#EB0000\"", 1928 | "lineageTag": "61753cd4-c0dc-492e-a1f7-245c1d773279" 1929 | }, 1930 | { 1931 | "name": "HDI Color", 1932 | "displayFolder": "Classification and Conditionals", 1933 | "expression": [ 1934 | "", 1935 | "SWITCH(", 1936 | " [HDI Class],", 1937 | " \"Very high human development\",[Dark Green],", 1938 | " \"High human development\",[Light Green],", 1939 | " \"Medium human development\",[Orange],", 1940 | " \"Low human development\",[Red],", 1941 | " \"No Data\",[No data])" 1942 | ], 1943 | "lineageTag": "fc71299e-7f1e-4342-8793-0b8470149027" 1944 | }, 1945 | { 1946 | "name": "No Data", 1947 | "displayFolder": "Colors", 1948 | "expression": "\"#E6E6E6\"", 1949 | "lineageTag": "cff4a9f0-2094-4499-9e12-0ff702dfaf44" 1950 | }, 1951 | { 1952 | "name": "Last year HDI", 1953 | "displayFolder": "Actual Values", 1954 | "expression": [ 1955 | "", 1956 | "CALCULATE(", 1957 | " MAX(factData[Year]),", 1958 | " dMetrics[Alias]=\"HDI\")" 1959 | ], 1960 | "formatString": "0", 1961 | "lineageTag": "9e07b681-61e9-424a-80b1-c2df54b5d29d" 1962 | }, 1963 | { 1964 | "name": "Actual Human Development Index (HDI)", 1965 | "annotations": [ 1966 | { 1967 | "name": "PBI_FormatHint", 1968 | "value": "{\"isGeneralNumber\":true}" 1969 | } 1970 | ], 1971 | "displayFolder": "Actual Values", 1972 | "expression": [ 1973 | "", 1974 | "VAR max_year = [Last year HDI]", 1975 | "RETURN", 1976 | "CALCULATE([Human Development Index (HDI)],factData[Year]=max_year)" 1977 | ], 1978 | "lineageTag": "95b990aa-9471-4022-87b5-39d6c648c5eb" 1979 | }, 1980 | { 1981 | "name": "Last year GDP/c", 1982 | "displayFolder": "Actual Values", 1983 | "expression": [ 1984 | "", 1985 | "CALCULATE(", 1986 | " MAX(factData[Year]),", 1987 | " dMetrics[Alias]=\"GDP/c\")" 1988 | ], 1989 | "formatString": "0", 1990 | "lineageTag": "0ee9234e-64b6-43c2-a01d-d4c5d76a2529" 1991 | }, 1992 | { 1993 | "name": "Actual GDP per capita", 1994 | "annotations": [ 1995 | { 1996 | "name": "PBI_FormatHint", 1997 | "value": "{\"currencyCulture\":\"en-US\"}" 1998 | } 1999 | ], 2000 | "displayFolder": "Actual Values", 2001 | "expression": [ 2002 | "", 2003 | "VAR max_year = [Last year GDP/c]", 2004 | "RETURN", 2005 | "CALCULATE(", 2006 | " [Gross domestic product per capita (GDP per capita)],", 2007 | " factData[Year]=max_year)" 2008 | ], 2009 | "formatString": "\\$#,0;(\\$#,0);\\$#,0", 2010 | "lineageTag": "8a20dcab-f04a-40c1-be0c-ce2d1c418a11" 2011 | }, 2012 | { 2013 | "name": "HDI Description", 2014 | "displayFolder": "Others", 2015 | "expression": "CALCULATE(MAX(dMetrics[Description]),dMetrics[Alias]=\"HDI\")", 2016 | "lineageTag": "c62781c1-d177-4255-ba12-740e503f8d64" 2017 | }, 2018 | { 2019 | "name": "Expected years of schooling", 2020 | "displayFolder": "Indexes", 2021 | "expression": [ 2022 | "", 2023 | "CALCULATE(", 2024 | " AVERAGE(factData[Value]),", 2025 | " dMetrics[Alias]=\"s_years\",", 2026 | " NOT ISBLANK(dCountries[ISO3])", 2027 | ")" 2028 | ], 2029 | "formatString": "0.0", 2030 | "lineageTag": "cc1b8f30-0f92-4dd9-b431-243bb45c67d5" 2031 | }, 2032 | { 2033 | "name": "Life expectancy at birth", 2034 | "displayFolder": "Indexes", 2035 | "expression": [ 2036 | "", 2037 | "CALCULATE(", 2038 | " AVERAGE(factData[Value]),", 2039 | " dMetrics[Alias]=\"life_exp\",", 2040 | " NOT ISBLANK(dCountries[ISO3])", 2041 | ")" 2042 | ], 2043 | "formatString": "0.0", 2044 | "lineageTag": "37fdfb72-7e5c-47f0-ad7a-307118f2befe" 2045 | }, 2046 | { 2047 | "name": "Gross national income (GNI)", 2048 | "displayFolder": "Indexes", 2049 | "expression": [ 2050 | "", 2051 | "CALCULATE(", 2052 | " MAX(factData[Class]),", 2053 | " dMetrics[Alias]=\"GNI\",", 2054 | " NOT ISBLANK(dCountries[ISO3])", 2055 | ")" 2056 | ], 2057 | "lineageTag": "48d02d4a-58c8-462d-a934-e4851e526ecb" 2058 | }, 2059 | { 2060 | "name": "HDI Sources", 2061 | "displayFolder": "Others", 2062 | "expression": [ 2063 | "\"Source: \"&", 2064 | " CALCULATE(", 2065 | " MAX(dMetrics[Source]),", 2066 | " dMetrics[Alias]=\"HDI\")" 2067 | ], 2068 | "lineageTag": "16dc725b-af39-4bf2-9fe5-3a6fb7ebddf8" 2069 | }, 2070 | { 2071 | "name": "Life Expectancy Color", 2072 | "displayFolder": "Classification and Conditionals", 2073 | "expression": [ 2074 | "", 2075 | "VAR CurrentLifeExpectancy = [Life expectancy at birth]", 2076 | "VAR MinLifeExpectancy = CALCULATE(MIN(factData[Value]), ALL('dCountries'),dMetrics[Alias]=\"life_exp\")", 2077 | "VAR MaxLifeExpectancy = CALCULATE(MAX(factData[Value]), ALL('dCountries'),dMetrics[Alias]=\"life_exp\")", 2078 | "VAR LifeExpectancyRange = MaxLifeExpectancy - MinLifeExpectancy", 2079 | "VAR FirstQuartile = MinLifeExpectancy + 0.25 * LifeExpectancyRange", 2080 | "VAR _Median = MinLifeExpectancy + 0.5 * LifeExpectancyRange", 2081 | "VAR ThirdQuartile = MinLifeExpectancy + 0.75 * LifeExpectancyRange", 2082 | "RETURN", 2083 | " SWITCH(TRUE(),", 2084 | " ISBLANK(CurrentLifeExpectancy),[No Data],", 2085 | " CurrentLifeExpectancy <= FirstQuartile, [Red],", 2086 | " CurrentLifeExpectancy <= _Median, [Orange],", 2087 | " CurrentLifeExpectancy <= ThirdQuartile, [Light Green],", 2088 | " CurrentLifeExpectancy > ThirdQuartile, [Dark Green],", 2089 | " BLANK()", 2090 | " )", 2091 | "" 2092 | ], 2093 | "lineageTag": "2269a1d8-88a0-49dc-ade2-0bc540681443" 2094 | }, 2095 | { 2096 | "name": "Expected years of schooling Color", 2097 | "displayFolder": "Classification and Conditionals", 2098 | "expression": [ 2099 | "", 2100 | "VAR ExpectedyearsSchooling = [Expected years of schooling]", 2101 | "VAR MinExpectedyearsSchooling = CALCULATE(MIN(factData[Value]), ALL('dCountries'),dMetrics[Alias]=\"s_years\")", 2102 | "VAR MaxExpectedyearsSchooling = CALCULATE(MAX(factData[Value]), ALL('dCountries'),dMetrics[Alias]=\"s_years\")", 2103 | "VAR ExpectedyearsSchoolingRange = MaxExpectedyearsSchooling - MinExpectedyearsSchooling", 2104 | "VAR FirstQuartile = MinExpectedyearsSchooling + 0.25 * ExpectedyearsSchoolingRange", 2105 | "VAR _Median = MinExpectedyearsSchooling + 0.5 * ExpectedyearsSchoolingRange", 2106 | "VAR ThirdQuartile = MinExpectedyearsSchooling + 0.75 * ExpectedyearsSchoolingRange", 2107 | "RETURN", 2108 | " SWITCH(TRUE(),", 2109 | " ISBLANK(ExpectedyearsSchooling),[No Data],", 2110 | " ExpectedyearsSchooling <= FirstQuartile, [Red],", 2111 | " ExpectedyearsSchooling <= _Median, [Orange],", 2112 | " ExpectedyearsSchooling <= ThirdQuartile, [Light Green],", 2113 | " ExpectedyearsSchooling > ThirdQuartile, [Dark Green],", 2114 | " BLANK()", 2115 | " )", 2116 | "" 2117 | ], 2118 | "lineageTag": "cb275cc4-1483-448e-b02d-dbfc54374da8" 2119 | }, 2120 | { 2121 | "name": "GNI Color", 2122 | "displayFolder": "Classification and Conditionals", 2123 | "expression": [ 2124 | "", 2125 | "SWITCH([Gross national income (GNI)],", 2126 | "\"High income\",[Dark Green],", 2127 | "\"Lower-middle income\",[Orange],", 2128 | "\"Upper-middle income\",[Light Green],", 2129 | "\"Low income\",[Red],[No Data])", 2130 | "" 2131 | ], 2132 | "lineageTag": "a082deec-3962-417d-b184-ee2c2d0eff59" 2133 | }, 2134 | { 2135 | "name": "HD Dynamic color", 2136 | "displayFolder": "Classification and Conditionals", 2137 | "expression": [ 2138 | "", 2139 | "SWITCH(", 2140 | " SELECTEDVALUE(dMetrics[Alias]),", 2141 | " \"HDI\",[HDI Color],", 2142 | " \"s_years\",[Expected years of schooling Color],", 2143 | " \"life_exp\",[Life Expectancy Color],", 2144 | " \"GNI\",[GNI Color])" 2145 | ], 2146 | "lineageTag": "d7a385b7-d083-4629-8660-02f180562d60" 2147 | }, 2148 | { 2149 | "name": "HDI Map Title", 2150 | "displayFolder": "Others", 2151 | "expression": "SELECTEDVALUE(dMetrics[Attribute])&\" (Year \"&SELECTEDVALUE(dYear[Year])&\")\"", 2152 | "lineageTag": "36bab4bf-4feb-427f-a5c4-2f04b22cbd4d" 2153 | }, 2154 | { 2155 | "name": "Population Sources", 2156 | "displayFolder": "Weather", 2157 | "expression": [ 2158 | "\"Source: \"&", 2159 | " CALCULATE(", 2160 | " MAX(dMetrics[Source]),", 2161 | " dMetrics[Alias]=\"pop\")" 2162 | ], 2163 | "lineageTag": "51606ce5-6002-4726-b7cc-3e319c34965e" 2164 | }, 2165 | { 2166 | "name": "Max Temperature", 2167 | "annotations": [ 2168 | { 2169 | "name": "PBI_FormatHint", 2170 | "value": "{\"isGeneralNumber\":true}" 2171 | } 2172 | ], 2173 | "displayFolder": "Weather", 2174 | "expression": [ 2175 | "", 2176 | "//Selected metric system", 2177 | "VAR system = SELECTEDVALUE(dMetricSystem[Metric System],\"International system\")", 2178 | "//International units", 2179 | "VAR si = MAX(factForecast[temp_c])", 2180 | "//Imperial units", 2181 | "VAR imperial = MAX(factForecast[temp_f])", 2182 | "RETURN", 2183 | "//Result", 2184 | "IF(", 2185 | " system=\"Imperial system\", ", 2186 | " imperial,", 2187 | " si)" 2188 | ], 2189 | "lineageTag": "bdcf8b94-97f4-48df-98e6-75bbdacbf151" 2190 | }, 2191 | { 2192 | "name": "Min Temperature", 2193 | "annotations": [ 2194 | { 2195 | "name": "PBI_FormatHint", 2196 | "value": "{\"isGeneralNumber\":true}" 2197 | } 2198 | ], 2199 | "displayFolder": "Weather", 2200 | "expression": [ 2201 | "", 2202 | "//Selected metric system", 2203 | "VAR system = SELECTEDVALUE(dMetricSystem[Metric System],\"International system\")", 2204 | "//International units", 2205 | "VAR si = MIN(factForecast[temp_c])", 2206 | "//Imperial units", 2207 | "VAR imperial = MIN(factForecast[temp_f])", 2208 | "RETURN", 2209 | "//Result", 2210 | "IF(", 2211 | " system=\"Imperial system\", ", 2212 | " imperial,", 2213 | " si)" 2214 | ], 2215 | "lineageTag": "2f02aad4-fe0b-4490-b2ff-600ea01b3d65" 2216 | }, 2217 | { 2218 | "name": "Rain (%)", 2219 | "displayFolder": "Weather", 2220 | "expression": "DIVIDE(AVERAGE(factForecast[chance_of_rain]),100)", 2221 | "formatString": "0\\ %;-0\\ %;0\\ %", 2222 | "lineageTag": "dc517bd6-2a54-49ec-a8be-84ef866c8216" 2223 | }, 2224 | { 2225 | "name": "TemperatureTitle", 2226 | "displayFolder": "Weather", 2227 | "expression": [ 2228 | "", 2229 | "VAR system = SELECTEDVALUE(dMetricSystem[Metric System],\"International system\")", 2230 | "RETURN", 2231 | "IF(system = \"International system\", \"Temperature in °C\", \"Temperature in ℉\")" 2232 | ], 2233 | "lineageTag": "4c692a57-7c60-4051-ae4c-254bb55d929c" 2234 | }, 2235 | { 2236 | "name": "Humidity", 2237 | "displayFolder": "Weather", 2238 | "expression": "DIVIDE(AVERAGE(factForecast[humidity]),100)", 2239 | "formatString": "0.0%;-0.0%;0.0%", 2240 | "lineageTag": "84a591a3-32e1-4b02-a940-fef0e59559fe" 2241 | }, 2242 | { 2243 | "name": "HDI Title", 2244 | "displayFolder": "Others", 2245 | "expression": "\"Human Development - Year \"&SELECTEDVALUE(dYear[Year])", 2246 | "lineageTag": "671151c4-61fa-4784-9da2-1bbd20e3ff9f" 2247 | }, 2248 | { 2249 | "name": "GDP Title", 2250 | "displayFolder": "Others", 2251 | "expression": "\"Gross Domestic Product - Year \"&SELECTEDVALUE(dYear[Year])", 2252 | "lineageTag": "dacda30e-7e2a-4b4b-949a-1595ecba28ce" 2253 | }, 2254 | { 2255 | "name": "GDP Description", 2256 | "displayFolder": "Others", 2257 | "expression": "CALCULATE(MAX(dMetrics[Description]),dMetrics[Alias]=\"GDP\")", 2258 | "lineageTag": "ddbb21ab-9a01-4ce0-b78c-a36eefe8e9ad" 2259 | }, 2260 | { 2261 | "name": "GDP Sources", 2262 | "displayFolder": "Others", 2263 | "expression": [ 2264 | "\"Source: \"&", 2265 | " CALCULATE(", 2266 | " MAX(dMetrics[Source]),", 2267 | " dMetrics[Alias]=\"GDP\")" 2268 | ], 2269 | "lineageTag": "8f00de55-ecac-4009-9ea8-d830c5c26eee" 2270 | }, 2271 | { 2272 | "name": "GDP per capita classification", 2273 | "displayFolder": "Classification and Conditionals", 2274 | "expression": [ 2275 | "", 2276 | "SWITCH(TRUE(),", 2277 | " [Gross domestic product per capita (GDP per capita)] <= 1035, \"Low\",", 2278 | " [Gross domestic product per capita (GDP per capita)] <= 4045, \"Lower-middle\",", 2279 | " [Gross domestic product per capita (GDP per capita)] <= 12535, \"Upper-middle\",", 2280 | " [Gross domestic product per capita (GDP per capita)] > 12535, \"High\"", 2281 | ")" 2282 | ], 2283 | "lineageTag": "fcc6eae4-bd84-4554-b941-869026d2b653" 2284 | }, 2285 | { 2286 | "name": "GDP per capita color", 2287 | "displayFolder": "Colors", 2288 | "expression": [ 2289 | "", 2290 | "SWITCH(TRUE(),", 2291 | " [Gross domestic product per capita (GDP per capita)] = BLANK(), [No Data],", 2292 | " [Gross domestic product per capita (GDP per capita)] <= 1035, [Red],", 2293 | " [Gross domestic product per capita (GDP per capita)] <= 4045, [Orange],", 2294 | " [Gross domestic product per capita (GDP per capita)] <= 12535, [Light Green],", 2295 | " [Gross domestic product per capita (GDP per capita)] > 12535, [Dark Green]", 2296 | ")" 2297 | ], 2298 | "lineageTag": "e971a4db-fad7-4960-b0ee-97b91728a10c" 2299 | }, 2300 | { 2301 | "name": "GDP Map Title", 2302 | "displayFolder": "Others", 2303 | "expression": "\"GDP per Capita\"&\" (Year \"&SELECTEDVALUE(dYear[Year])&\")\"", 2304 | "lineageTag": "b37393f8-7472-4c69-af29-6817dfd1f517" 2305 | }, 2306 | { 2307 | "name": "City name", 2308 | "expression": "SELECTEDVALUE(dCities[name])", 2309 | "lineageTag": "2c913444-1a15-407c-8ebe-68b7a9e3f79a" 2310 | } 2311 | ], 2312 | "partitions": [ 2313 | { 2314 | "name": "_Measures-4b5b93d2-f6cc-4e17-af03-2a326fb803ce", 2315 | "mode": "import", 2316 | "source": { 2317 | "expression": [ 2318 | "let", 2319 | " Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText(\"i44FAA==\", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),", 2320 | " #\"Changed Type\" = Table.TransformColumnTypes(Source,{{\"Column1\", type text}}),", 2321 | " #\"Removed Columns\" = Table.RemoveColumns(#\"Changed Type\",{\"Column1\"})", 2322 | "in", 2323 | " #\"Removed Columns\"" 2324 | ], 2325 | "type": "m" 2326 | } 2327 | } 2328 | ] 2329 | }, 2330 | { 2331 | "name": "dMetricSystem", 2332 | "annotations": [ 2333 | { 2334 | "name": "PBI_ResultType", 2335 | "value": "Table" 2336 | }, 2337 | { 2338 | "name": "PBI_NavigationStepName", 2339 | "value": "Navigation" 2340 | } 2341 | ], 2342 | "columns": [ 2343 | { 2344 | "name": "Metric System", 2345 | "annotations": [ 2346 | { 2347 | "name": "SummarizationSetBy", 2348 | "value": "Automatic" 2349 | } 2350 | ], 2351 | "dataType": "string", 2352 | "lineageTag": "e5b35561-d89d-42a3-81e4-af393c1ae6ee", 2353 | "sourceColumn": "Metric System", 2354 | "summarizeBy": "none" 2355 | } 2356 | ], 2357 | "lineageTag": "8bd251fb-eb01-4896-86e7-8540caece494", 2358 | "partitions": [ 2359 | { 2360 | "name": "dMetricSystem-efec1648-b52b-439e-a817-ebfabf7ed877", 2361 | "mode": "import", 2362 | "queryGroup": "Dimension Tables", 2363 | "source": { 2364 | "expression": [ 2365 | "let", 2366 | " Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText(\"i45W8swrSS3KSyzJzM9LzFEoriwuSc1VitUBSuQWpBZlIonFAgA=\", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#\"Metric System\" = _t]),", 2367 | " #\"Changed Type\" = Table.TransformColumnTypes(Source,{{\"Metric System\", type text}})", 2368 | "in", 2369 | " #\"Changed Type\"" 2370 | ], 2371 | "type": "m" 2372 | } 2373 | } 2374 | ] 2375 | }, 2376 | { 2377 | "name": "dMetrics", 2378 | "annotations": [ 2379 | { 2380 | "name": "PBI_ResultType", 2381 | "value": "Table" 2382 | }, 2383 | { 2384 | "name": "PBI_NavigationStepName", 2385 | "value": "Navigation" 2386 | } 2387 | ], 2388 | "columns": [ 2389 | { 2390 | "name": "Attribute", 2391 | "annotations": [ 2392 | { 2393 | "name": "SummarizationSetBy", 2394 | "value": "Automatic" 2395 | } 2396 | ], 2397 | "dataType": "string", 2398 | "lineageTag": "c71f8874-abc0-4e99-af07-f2a1033479a6", 2399 | "sourceColumn": "Attribute", 2400 | "summarizeBy": "none" 2401 | }, 2402 | { 2403 | "name": "Alias", 2404 | "annotations": [ 2405 | { 2406 | "name": "SummarizationSetBy", 2407 | "value": "Automatic" 2408 | } 2409 | ], 2410 | "dataType": "string", 2411 | "lineageTag": "8a1978c1-8cca-4ad5-83fe-7a3c4d5d2e6b", 2412 | "sourceColumn": "Alias", 2413 | "summarizeBy": "none" 2414 | }, 2415 | { 2416 | "name": "Description", 2417 | "annotations": [ 2418 | { 2419 | "name": "SummarizationSetBy", 2420 | "value": "Automatic" 2421 | } 2422 | ], 2423 | "dataType": "string", 2424 | "lineageTag": "90119446-d743-4dbb-90e7-e3afe6c37ac6", 2425 | "sourceColumn": "Description", 2426 | "summarizeBy": "none" 2427 | }, 2428 | { 2429 | "name": "Source", 2430 | "annotations": [ 2431 | { 2432 | "name": "SummarizationSetBy", 2433 | "value": "Automatic" 2434 | } 2435 | ], 2436 | "dataType": "string", 2437 | "lineageTag": "c9284fd1-3d7d-4299-aa30-130c4d5c8c29", 2438 | "sourceColumn": "Source", 2439 | "summarizeBy": "none" 2440 | }, 2441 | { 2442 | "name": "Link", 2443 | "annotations": [ 2444 | { 2445 | "name": "SummarizationSetBy", 2446 | "value": "Automatic" 2447 | } 2448 | ], 2449 | "dataType": "string", 2450 | "lineageTag": "8ffb429e-08ec-4dd1-8a7b-54e804620e32", 2451 | "sourceColumn": "Link", 2452 | "summarizeBy": "none" 2453 | }, 2454 | { 2455 | "name": "Parameter name", 2456 | "annotations": [ 2457 | { 2458 | "name": "SummarizationSetBy", 2459 | "value": "Automatic" 2460 | } 2461 | ], 2462 | "dataType": "string", 2463 | "lineageTag": "b7d0ff1c-027c-407d-9926-b6b9ca67dc02", 2464 | "sourceColumn": "Parameter name", 2465 | "summarizeBy": "none" 2466 | } 2467 | ], 2468 | "lineageTag": "92283c49-0c4d-4746-854f-9b05a6273ecf", 2469 | "partitions": [ 2470 | { 2471 | "name": "dMetrics-ee12afd6-ffa4-442a-9c36-f5476591eba6", 2472 | "mode": "import", 2473 | "queryGroup": "Dimension Tables", 2474 | "source": { 2475 | "expression": [ 2476 | "let", 2477 | " Source = Excel.Workbook(File.Contents(PathToData&\"\\metrics_metadata.xlsx\"), null, true),", 2478 | " Tabelle1_Sheet = Source{[Item=\"Tabelle1\",Kind=\"Sheet\"]}[Data],", 2479 | " #\"Promoted Headers\" = Table.PromoteHeaders(Tabelle1_Sheet, [PromoteAllScalars=true]),", 2480 | " #\"Changed Type1\" = Table.TransformColumnTypes(#\"Promoted Headers\",{{\"Attribute\", type text}, {\"Alias\", type text}, {\"Description\", type text}, {\"Source\", type text}, {\"Link\", type text}, {\"Parameter name\", type text}})", 2481 | "in", 2482 | " #\"Changed Type1\"" 2483 | ], 2484 | "type": "m" 2485 | } 2486 | } 2487 | ] 2488 | }, 2489 | { 2490 | "name": "dYear", 2491 | "annotations": [ 2492 | { 2493 | "name": "PBI_Id", 2494 | "value": "b4e3f1d57fca47dfa0889085a971fa41" 2495 | } 2496 | ], 2497 | "columns": [ 2498 | { 2499 | "name": "Year", 2500 | "annotations": [ 2501 | { 2502 | "name": "SummarizationSetBy", 2503 | "value": "Automatic" 2504 | } 2505 | ], 2506 | "dataType": "int64", 2507 | "formatString": "0", 2508 | "isDataTypeInferred": true, 2509 | "isNameInferred": true, 2510 | "lineageTag": "bb55845b-9244-4a1f-8319-f8cdc78dabf2", 2511 | "sourceColumn": "factData[Year]", 2512 | "summarizeBy": "none", 2513 | "type": "calculatedTableColumn" 2514 | } 2515 | ], 2516 | "lineageTag": "f6e40dbb-8985-4414-826c-a724dfe70ad2", 2517 | "partitions": [ 2518 | { 2519 | "name": "dYear-5157030c-eeec-40a4-82a0-465803a11a61", 2520 | "mode": "import", 2521 | "source": { 2522 | "expression": [ 2523 | "CALCULATETABLE(", 2524 | " DISTINCT(factData[Year]), factData[Year]>1990)" 2525 | ], 2526 | "type": "calculated" 2527 | } 2528 | } 2529 | ] 2530 | } 2531 | ] 2532 | } 2533 | } -------------------------------------------------------------------------------- /World Data and Weather.Report/StaticResources/RegisteredResources/Brunner_BI-_Simply_Modern_Ligh8862026161132219.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Brunner BI- Simply Modern Light", 3 | "visualStyles": { 4 | "page": { 5 | "*": { 6 | "background": [ 7 | { 8 | "color": { 9 | "solid": { 10 | "color": "#FFFFFF" 11 | } 12 | }, 13 | "transparency": 100 14 | } 15 | ], 16 | "outspace": [ 17 | { 18 | "color": { 19 | "solid": { 20 | "color": "#FFFFFF" 21 | } 22 | }, 23 | "transparency": 100 24 | } 25 | ] 26 | } 27 | }, 28 | "*": { 29 | "*": { 30 | "outspacePane": [ 31 | { 32 | "backgroundColor": { 33 | "solid": { 34 | "color": "#FFFFFF" 35 | } 36 | }, 37 | "foregroundColor": { 38 | "solid": { 39 | "color": "#323447" 40 | } 41 | }, 42 | "checkboxAndApplyColor": { 43 | "solid": { 44 | "color": "#15CAB6" 45 | } 46 | } 47 | } 48 | ], 49 | "filterCard": [ 50 | { 51 | "$id": "Applied", 52 | "backgroundColor": { 53 | "solid": { 54 | "color": "#FCFDFE" 55 | } 56 | }, 57 | "foregroundColor": { 58 | "solid": { 59 | "color": "#323447" 60 | } 61 | }, 62 | "transparency": 0 63 | }, 64 | { 65 | "$id": "Available", 66 | "backgroundColor": { 67 | "solid": { 68 | "color": "#F1F2F7" 69 | } 70 | }, 71 | "foregroundColor": { 72 | "solid": { 73 | "color": "#323447" 74 | } 75 | }, 76 | "transparency": 0 77 | } 78 | ], 79 | "background": [ 80 | { 81 | "color": { 82 | "solid": { 83 | "color": "#FFFFFF" 84 | } 85 | }, 86 | "transparency": 100 87 | } 88 | ], 89 | "border": [ 90 | { 91 | "color": { 92 | "solid": { 93 | "color": "#F8FAFC" 94 | } 95 | }, 96 | "show": true, 97 | "radius": 5 98 | } 99 | ], 100 | "visualHeader": [ 101 | { 102 | "background": { 103 | "solid": { 104 | "color": "#F8FAF7" 105 | } 106 | }, 107 | "foreground": { 108 | "solid": { 109 | "color": "#323447" 110 | } 111 | }, 112 | "border": { 113 | "solid": { 114 | "color": "#F8FAFC" 115 | } 116 | } 117 | } 118 | ], 119 | "visualTooltip": [ 120 | { 121 | "titleFontColor": { 122 | "solid": { 123 | "color": "#DFDFE9" 124 | } 125 | }, 126 | "valueFontColor": { 127 | "solid": { 128 | "color": "#F1F2F7" 129 | } 130 | }, 131 | "background": { 132 | "solid": { 133 | "color": "#323447" 134 | } 135 | } 136 | } 137 | ], 138 | "visualHeaderTooltip": [ 139 | { 140 | "titleFontColor": { 141 | "solid": { 142 | "color": "#DFDFE9" 143 | } 144 | }, 145 | "background": { 146 | "solid": { 147 | "color": "#323447" 148 | } 149 | } 150 | } 151 | ] 152 | } 153 | } 154 | }, 155 | "dataColors": [ 156 | "#287E8F", 157 | "#E7FF6E", 158 | "#F6B53D", 159 | "#EF8A5A", 160 | "#EB0000", 161 | "#696CB5", 162 | "#0F488C", 163 | "#383838" 164 | ], 165 | "textClasses": { 166 | "label": { 167 | "fontFace": "Calibri", 168 | "color": "#323447", 169 | "fontSize": 9 170 | }, 171 | "callout": { 172 | "color": "#323447", 173 | "fontSize": 24 174 | }, 175 | "title": { 176 | "color": "#323447", 177 | "fontFace": "Calibri", 178 | "fontSize": 10 179 | }, 180 | "header": { 181 | "color": "#323447", 182 | "fontSize": 10, 183 | "fontFace": "Calibri" 184 | } 185 | }, 186 | "bad": "#E85E76", 187 | "neutral": "#CCCCCC", 188 | "good": "#15CAB6", 189 | "minimum": "#E85E76", 190 | "center": "#CCCCCC", 191 | "maximum": "#15CAB6", 192 | "foreground": "#323447" 193 | } -------------------------------------------------------------------------------- /World Data and Weather.Report/StaticResources/RegisteredResources/earth-globe-planet-svgrepo-com3921575188824318.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurgenfolz/WorldDataReport/73f7cd7f5f2f930f173ba82d5e96929c94465d3c/World Data and Weather.Report/StaticResources/RegisteredResources/earth-globe-planet-svgrepo-com3921575188824318.png -------------------------------------------------------------------------------- /World Data and Weather.Report/StaticResources/RegisteredResources/filter_add21850998406874056.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurgenfolz/WorldDataReport/73f7cd7f5f2f930f173ba82d5e96929c94465d3c/World Data and Weather.Report/StaticResources/RegisteredResources/filter_add21850998406874056.png -------------------------------------------------------------------------------- /World Data and Weather.Report/StaticResources/RegisteredResources/filter_off3289687722501209.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurgenfolz/WorldDataReport/73f7cd7f5f2f930f173ba82d5e96929c94465d3c/World Data and Weather.Report/StaticResources/RegisteredResources/filter_off3289687722501209.png -------------------------------------------------------------------------------- /World Data and Weather.Report/StaticResources/RegisteredResources/filter_remove5921798705167054.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurgenfolz/WorldDataReport/73f7cd7f5f2f930f173ba82d5e96929c94465d3c/World Data and Weather.Report/StaticResources/RegisteredResources/filter_remove5921798705167054.png -------------------------------------------------------------------------------- /World Data and Weather.Report/StaticResources/SharedResources/BaseThemes/CY23SU04.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CY23SU04", 3 | "dataColors": [ 4 | "#118DFF", 5 | "#12239E", 6 | "#E66C37", 7 | "#6B007B", 8 | "#E044A7", 9 | "#744EC2", 10 | "#D9B300", 11 | "#D64550", 12 | "#197278", 13 | "#1AAB40", 14 | "#15C6F4", 15 | "#4092FF", 16 | "#FFA058", 17 | "#BE5DC9", 18 | "#F472D0", 19 | "#B5A1FF", 20 | "#C4A200", 21 | "#FF8080", 22 | "#00DBBC", 23 | "#5BD667", 24 | "#0091D5", 25 | "#4668C5", 26 | "#FF6300", 27 | "#99008A", 28 | "#EC008C", 29 | "#533285", 30 | "#99700A", 31 | "#FF4141", 32 | "#1F9A85", 33 | "#25891C", 34 | "#0057A2", 35 | "#002050", 36 | "#C94F0F", 37 | "#450F54", 38 | "#B60064", 39 | "#34124F", 40 | "#6A5A29", 41 | "#1AAB40", 42 | "#BA141A", 43 | "#0C3D37", 44 | "#0B511F" 45 | ], 46 | "foreground": "#252423", 47 | "foregroundNeutralSecondary": "#605E5C", 48 | "foregroundNeutralTertiary": "#B3B0AD", 49 | "background": "#FFFFFF", 50 | "backgroundLight": "#F3F2F1", 51 | "backgroundNeutral": "#C8C6C4", 52 | "tableAccent": "#118DFF", 53 | "good": "#1AAB40", 54 | "neutral": "#D9B300", 55 | "bad": "#D64554", 56 | "maximum": "#118DFF", 57 | "center": "#D9B300", 58 | "minimum": "#DEEFFF", 59 | "null": "#FF7F48", 60 | "hyperlink": "#0078d4", 61 | "visitedHyperlink": "#0078d4", 62 | "textClasses": { 63 | "callout": { 64 | "fontSize": 45, 65 | "fontFace": "DIN", 66 | "color": "#252423" 67 | }, 68 | "title": { 69 | "fontSize": 12, 70 | "fontFace": "DIN", 71 | "color": "#252423" 72 | }, 73 | "header": { 74 | "fontSize": 12, 75 | "fontFace": "Segoe UI Semibold", 76 | "color": "#252423" 77 | }, 78 | "label": { 79 | "fontSize": 10, 80 | "fontFace": "Segoe UI", 81 | "color": "#252423" 82 | } 83 | }, 84 | "visualStyles": { 85 | "*": { 86 | "*": { 87 | "*": [ 88 | { 89 | "wordWrap": true 90 | } 91 | ], 92 | "line": [ 93 | { 94 | "transparency": 0 95 | } 96 | ], 97 | "outline": [ 98 | { 99 | "transparency": 0 100 | } 101 | ], 102 | "plotArea": [ 103 | { 104 | "transparency": 0 105 | } 106 | ], 107 | "categoryAxis": [ 108 | { 109 | "showAxisTitle": true, 110 | "gridlineStyle": "dotted", 111 | "concatenateLabels": false 112 | } 113 | ], 114 | "valueAxis": [ 115 | { 116 | "showAxisTitle": true, 117 | "gridlineStyle": "dotted" 118 | } 119 | ], 120 | "y2Axis": [ 121 | { 122 | "show": true 123 | } 124 | ], 125 | "title": [ 126 | { 127 | "titleWrap": true 128 | } 129 | ], 130 | "lineStyles": [ 131 | { 132 | "strokeWidth": 3 133 | } 134 | ], 135 | "wordWrap": [ 136 | { 137 | "show": true 138 | } 139 | ], 140 | "background": [ 141 | { 142 | "show": true, 143 | "transparency": 0 144 | } 145 | ], 146 | "outspacePane": [ 147 | { 148 | "backgroundColor": { 149 | "solid": { 150 | "color": "#ffffff" 151 | } 152 | }, 153 | "transparency": 0, 154 | "border": true, 155 | "borderColor": { 156 | "solid": { 157 | "color": "#B3B0AD" 158 | } 159 | } 160 | } 161 | ], 162 | "filterCard": [ 163 | { 164 | "$id": "Applied", 165 | "transparency": 0, 166 | "foregroundColor": { 167 | "solid": { 168 | "color": "#252423" 169 | } 170 | }, 171 | "border": true 172 | }, 173 | { 174 | "$id": "Available", 175 | "transparency": 0, 176 | "foregroundColor": { 177 | "solid": { 178 | "color": "#252423" 179 | } 180 | }, 181 | "border": true 182 | } 183 | ] 184 | } 185 | }, 186 | "scatterChart": { 187 | "*": { 188 | "bubbles": [ 189 | { 190 | "bubbleSize": -10 191 | } 192 | ], 193 | "general": [ 194 | { 195 | "responsive": true 196 | } 197 | ], 198 | "fillPoint": [ 199 | { 200 | "show": true 201 | } 202 | ], 203 | "legend": [ 204 | { 205 | "showGradientLegend": true 206 | } 207 | ] 208 | } 209 | }, 210 | "lineChart": { 211 | "*": { 212 | "general": [ 213 | { 214 | "responsive": true 215 | } 216 | ], 217 | "smallMultiplesLayout": [ 218 | { 219 | "backgroundTransparency": 0, 220 | "gridLineType": "inner" 221 | } 222 | ] 223 | } 224 | }, 225 | "map": { 226 | "*": { 227 | "bubbles": [ 228 | { 229 | "bubbleSize": -10 230 | } 231 | ] 232 | } 233 | }, 234 | "azureMap": { 235 | "*": { 236 | "bubbleLayer": [ 237 | { 238 | "bubbleRadius": 8, 239 | "minBubbleRadius": 8, 240 | "maxRadius": 40 241 | } 242 | ], 243 | "barChart": [ 244 | { 245 | "barHeight": 3, 246 | "thickness": 3 247 | } 248 | ] 249 | } 250 | }, 251 | "pieChart": { 252 | "*": { 253 | "legend": [ 254 | { 255 | "show": true, 256 | "position": "RightCenter" 257 | } 258 | ], 259 | "labels": [ 260 | { 261 | "labelStyle": "Data value, percent of total" 262 | } 263 | ] 264 | } 265 | }, 266 | "donutChart": { 267 | "*": { 268 | "legend": [ 269 | { 270 | "show": true, 271 | "position": "RightCenter" 272 | } 273 | ], 274 | "labels": [ 275 | { 276 | "labelStyle": "Data value, percent of total" 277 | } 278 | ] 279 | } 280 | }, 281 | "pivotTable": { 282 | "*": { 283 | "*": [ 284 | { 285 | "showExpandCollapseButtons": true 286 | } 287 | ] 288 | } 289 | }, 290 | "multiRowCard": { 291 | "*": { 292 | "card": [ 293 | { 294 | "outlineWeight": 2, 295 | "barShow": true, 296 | "barWeight": 2 297 | } 298 | ] 299 | } 300 | }, 301 | "kpi": { 302 | "*": { 303 | "trendline": [ 304 | { 305 | "transparency": 20 306 | } 307 | ] 308 | } 309 | }, 310 | "slicer": { 311 | "*": { 312 | "general": [ 313 | { 314 | "responsive": true 315 | } 316 | ], 317 | "date": [ 318 | { 319 | "hideDatePickerButton": false 320 | } 321 | ], 322 | "items": [ 323 | { 324 | "padding": 4, 325 | "accessibilityContrastProperties": true 326 | } 327 | ] 328 | } 329 | }, 330 | "waterfallChart": { 331 | "*": { 332 | "general": [ 333 | { 334 | "responsive": true 335 | } 336 | ] 337 | } 338 | }, 339 | "columnChart": { 340 | "*": { 341 | "general": [ 342 | { 343 | "responsive": true 344 | } 345 | ], 346 | "legend": [ 347 | { 348 | "showGradientLegend": true 349 | } 350 | ], 351 | "smallMultiplesLayout": [ 352 | { 353 | "backgroundTransparency": 0, 354 | "gridLineType": "inner" 355 | } 356 | ] 357 | } 358 | }, 359 | "clusteredColumnChart": { 360 | "*": { 361 | "general": [ 362 | { 363 | "responsive": true 364 | } 365 | ], 366 | "legend": [ 367 | { 368 | "showGradientLegend": true 369 | } 370 | ], 371 | "smallMultiplesLayout": [ 372 | { 373 | "backgroundTransparency": 0, 374 | "gridLineType": "inner" 375 | } 376 | ] 377 | } 378 | }, 379 | "hundredPercentStackedColumnChart": { 380 | "*": { 381 | "general": [ 382 | { 383 | "responsive": true 384 | } 385 | ], 386 | "legend": [ 387 | { 388 | "showGradientLegend": true 389 | } 390 | ], 391 | "smallMultiplesLayout": [ 392 | { 393 | "backgroundTransparency": 0, 394 | "gridLineType": "inner" 395 | } 396 | ] 397 | } 398 | }, 399 | "barChart": { 400 | "*": { 401 | "general": [ 402 | { 403 | "responsive": true 404 | } 405 | ], 406 | "legend": [ 407 | { 408 | "showGradientLegend": true 409 | } 410 | ], 411 | "smallMultiplesLayout": [ 412 | { 413 | "backgroundTransparency": 0, 414 | "gridLineType": "inner" 415 | } 416 | ] 417 | } 418 | }, 419 | "clusteredBarChart": { 420 | "*": { 421 | "general": [ 422 | { 423 | "responsive": true 424 | } 425 | ], 426 | "legend": [ 427 | { 428 | "showGradientLegend": true 429 | } 430 | ], 431 | "smallMultiplesLayout": [ 432 | { 433 | "backgroundTransparency": 0, 434 | "gridLineType": "inner" 435 | } 436 | ] 437 | } 438 | }, 439 | "hundredPercentStackedBarChart": { 440 | "*": { 441 | "general": [ 442 | { 443 | "responsive": true 444 | } 445 | ], 446 | "legend": [ 447 | { 448 | "showGradientLegend": true 449 | } 450 | ], 451 | "smallMultiplesLayout": [ 452 | { 453 | "backgroundTransparency": 0, 454 | "gridLineType": "inner" 455 | } 456 | ] 457 | } 458 | }, 459 | "areaChart": { 460 | "*": { 461 | "general": [ 462 | { 463 | "responsive": true 464 | } 465 | ], 466 | "smallMultiplesLayout": [ 467 | { 468 | "backgroundTransparency": 0, 469 | "gridLineType": "inner" 470 | } 471 | ] 472 | } 473 | }, 474 | "stackedAreaChart": { 475 | "*": { 476 | "general": [ 477 | { 478 | "responsive": true 479 | } 480 | ], 481 | "smallMultiplesLayout": [ 482 | { 483 | "backgroundTransparency": 0, 484 | "gridLineType": "inner" 485 | } 486 | ] 487 | } 488 | }, 489 | "lineClusteredColumnComboChart": { 490 | "*": { 491 | "general": [ 492 | { 493 | "responsive": true 494 | } 495 | ], 496 | "smallMultiplesLayout": [ 497 | { 498 | "backgroundTransparency": 0, 499 | "gridLineType": "inner" 500 | } 501 | ] 502 | } 503 | }, 504 | "lineStackedColumnComboChart": { 505 | "*": { 506 | "general": [ 507 | { 508 | "responsive": true 509 | } 510 | ], 511 | "smallMultiplesLayout": [ 512 | { 513 | "backgroundTransparency": 0, 514 | "gridLineType": "inner" 515 | } 516 | ] 517 | } 518 | }, 519 | "ribbonChart": { 520 | "*": { 521 | "general": [ 522 | { 523 | "responsive": true 524 | } 525 | ] 526 | } 527 | }, 528 | "group": { 529 | "*": { 530 | "background": [ 531 | { 532 | "show": false 533 | } 534 | ] 535 | } 536 | }, 537 | "basicShape": { 538 | "*": { 539 | "background": [ 540 | { 541 | "show": false 542 | } 543 | ], 544 | "general": [ 545 | { 546 | "keepLayerOrder": true 547 | } 548 | ], 549 | "visualHeader": [ 550 | { 551 | "show": false 552 | } 553 | ] 554 | } 555 | }, 556 | "shape": { 557 | "*": { 558 | "background": [ 559 | { 560 | "show": false 561 | } 562 | ], 563 | "general": [ 564 | { 565 | "keepLayerOrder": true 566 | } 567 | ], 568 | "visualHeader": [ 569 | { 570 | "show": false 571 | } 572 | ] 573 | } 574 | }, 575 | "image": { 576 | "*": { 577 | "background": [ 578 | { 579 | "show": false 580 | } 581 | ], 582 | "general": [ 583 | { 584 | "keepLayerOrder": true 585 | } 586 | ], 587 | "visualHeader": [ 588 | { 589 | "show": false 590 | } 591 | ], 592 | "lockAspect": [ 593 | { 594 | "show": true 595 | } 596 | ] 597 | } 598 | }, 599 | "actionButton": { 600 | "*": { 601 | "background": [ 602 | { 603 | "show": false 604 | } 605 | ], 606 | "visualHeader": [ 607 | { 608 | "show": false 609 | } 610 | ] 611 | } 612 | }, 613 | "pageNavigator": { 614 | "*": { 615 | "background": [ 616 | { 617 | "show": false 618 | } 619 | ], 620 | "visualHeader": [ 621 | { 622 | "show": false 623 | } 624 | ] 625 | } 626 | }, 627 | "bookmarkNavigator": { 628 | "*": { 629 | "background": [ 630 | { 631 | "show": false 632 | } 633 | ], 634 | "visualHeader": [ 635 | { 636 | "show": false 637 | } 638 | ] 639 | } 640 | }, 641 | "textbox": { 642 | "*": { 643 | "general": [ 644 | { 645 | "keepLayerOrder": true 646 | } 647 | ], 648 | "visualHeader": [ 649 | { 650 | "show": false 651 | } 652 | ] 653 | } 654 | }, 655 | "page": { 656 | "*": { 657 | "outspace": [ 658 | { 659 | "color": { 660 | "solid": { 661 | "color": "#FFFFFF" 662 | } 663 | } 664 | } 665 | ], 666 | "background": [ 667 | { 668 | "transparency": 100 669 | } 670 | ] 671 | } 672 | } 673 | } 674 | } -------------------------------------------------------------------------------- /World Data and Weather.Report/definition.pbir: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "datasetReference": { 4 | "byPath": { 5 | "path": "../World Data and Weather.Dataset" 6 | }, 7 | "byConnection": null 8 | } 9 | } -------------------------------------------------------------------------------- /World Data and Weather.Report/item.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "logicalId": "4f635ae1-270d-4108-a78c-1ca59d6ec9ed" 4 | } -------------------------------------------------------------------------------- /World Data and Weather.Report/item.metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "report", 3 | "displayName": "World Data and Weather" 4 | } -------------------------------------------------------------------------------- /World Data and Weather.pbip: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "artifacts": [ 4 | { 5 | "report": { 6 | "path": "World Data and Weather.Report" 7 | } 8 | } 9 | ], 10 | "settings": { 11 | "enableAutoRecovery": true 12 | } 13 | } --------------------------------------------------------------------------------