Data Modeling and Prototyping in Power BI Desktop Steve Wake, Principal BI Developer, Brown and Caldwell
Steve Wake Principal BI Developer Brown and Caldwell Experienced BI Developer Full stack Microsoft BI Developer, 20+ years experience. SQL Server 2005 – 2017 SSRS, SSIS and SSAS. Experience with Power BI since “Power” Excel add-ons. Steve Wake Principal BI Developer Brown and Caldwell User Group Chapter Leader Current leader of the Mile Hi Power BI User Group in Denver. Previously lead the Denver SQL Server User Group and organized 3 SQLSaturdays in Denver. /b5lurker @stevewake stevenmwake
Agenda Data Connections Data Modeling Prototyping in Power BI Desktop Tips & Tricks Q&A
Data Connections
Live Connections Available for 3 sources: Analysis Services Tabular (on-prem/Azure) Analysis Services Multi-Dimensional Power BI dataset Only dataset allowed when selected, since it is already a full model
DirectQuery Connections Most relational databases and other database products (full list) May require On-Premises Data Gateway depending on implementation (for example: Snowflake)
Import Connections Only connection where data is stored in Power BI model Allows combining data from multiple different sources Data must be refreshed in model to be up-to-date
Data Connections
Demo: Data Connections References/Links Reference Date Table in DAX and Power BI by SQLBI (Marco Russo) Data.gov (College Scoreboard – Most Recent Cohorts Scorecard Elements) collegescorecard.ed.gov (College Scorecard Data Dictionary) OPE ID (Office of Postsecondary Education Identification) List Wikipedia – List of States in United States and Abbreviations Wikipedia – Population of States in United States and Territories
Data Modeling
Import Connections Star & Snowflake Schemas Dimensions Facts Measures https://exceleratorbi.com.au/the-optimal-shape-for-power-pivot-data/ Star Star & Snowflake Schemas Dimensions Facts Measures Relationships One to Many (1:M) Many to Many (M:M) http://www.crmsearch.com/powerbi-best-practices.php Snowflake
Data Modeling
Prototyping in Power BI Desktop
Power BI Languages Power Query (M) DAX (Data Analysis eXpressions) https://docs.microsoft.com/en-us/power-query/power-query-quickstart-using-power-bi Power Query (M) Data connectivity Data preparation (ETL – Extract, Transform & Load) DAX (Data Analysis eXpressions) Data manipulation Calculations =SUMX( CALCULATETABLE('InternetSales_USD', 'DateTime'[CalendarYear]=2006) , [SalesAmount_USD]) https://msdn.microsoft.com/en-us/query-bi/dax/calculatetable-function-dax
Prototyping in Power BI Desktop
Tips and Tricks
Tabular models load all data into memory (Import/Dual Tables in PBI) Data compressed on columns (typically 10:1 or more) Querying a tabular model works by filtering data using relationships Import/Dual datasets require refreshing if source data is changing Use scheduled refresh/incremental refresh Once published to PowerBI.com a dataset can be shared in other reports (and across workspaces) Power BI Desktop and PowerBI.com run a full featured AS Tabular engine (and Excel 2016+!)
Q & A
Steve Wake @stevewake steve@wakebi.com