Deprecated: Creation of dynamic property CF\WordPress\DataStore::$logger is deprecated in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php on line 23

Deprecated: Creation of dynamic property CF\WordPress\Proxy::$pluginAPI is deprecated in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/Proxy.php on line 31

Deprecated: file_get_contents(): Passing null to parameter #2 ($use_include_path) of type bool is deprecated in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/codelights-shortcodes-and-widgets/codelights.php on line 20

Warning: session_start(): Session cannot be started after headers have already been sent in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/automatic-video-posts/vendor/ternstyle/wordpress/src/class/wordpress.php on line 53

Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Cookie/Jar.php on line 63

Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Cookie/Jar.php on line 73

Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Cookie/Jar.php on line 89

Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Cookie/Jar.php on line 102

Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Cookie/Jar.php on line 111

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Deprecated: Creation of dynamic property ternplugin\youtube_video::$post is deprecated in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/automatic-video-posts/vendor/ternstyle/plugin/src/class/youtube_video.php on line 64

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758
{"id":940,"date":"2018-12-09T13:26:10","date_gmt":"2018-12-09T20:26:10","guid":{"rendered":"https:\/\/bonbonsguide.com\/wp\/?p=940"},"modified":"2018-12-10T16:15:50","modified_gmt":"2018-12-10T23:15:50","slug":"msptda-16-power-bi-desktop-comprehensive-introduction-power-query-dax-dashboards-publishing","status":"publish","type":"post","link":"https:\/\/bonbonsguide.com\/wp\/blog\/2018\/12\/msptda-16-power-bi-desktop-comprehensive-introduction-power-query-dax-dashboards-publishing\/","title":{"rendered":"MSPTDA 16: Power BI Desktop Comprehensive Introduction: Power Query, DAX, Dashboards, Publishing"},"content":{"rendered":"

Download Zipped Folder with Text Files & Excel File: https:\/\/ift.tt\/2L8w0is
\nDownload Power BI Desktop FINISHED File: https:\/\/ift.tt\/2C070XR
\nDownload pdf Notes about Power Query: https:\/\/ift.tt\/2L657Mh<\/p>\n

This video is a comprehensive lesson in Power BI Desktop: Power Query to import data, DAX Formulas and Relationships to complete Data Model, Creating Dashboards, Publishing and Sharing Reports.<\/p>\n

Comprehensive Microsoft Power Tools for Data Analysis Class, BI 348, taught by Mike Girvin, Excel MVP and Highline College Professor.<\/p>\n

Topics:
\n1. (00:15) Introduction of what we will do in this video.
\n2. (02:25) Overview of Excel Power Pivot & Power BI Desktop
\n3. (02:44) Approximate History of Power BI Desktop :
\n4. (03:15) Different Versions of Power BI (Different Power BI Products) Available from Microsoft
\n5. (04:56)Download Power BI Desktop (link to Avi\u2019s video: https:\/\/www.youtube.com\/watch?v=5Fv-I9xQkcc)
\n6. (05:43) List of Charts and Visualizations for your Dashboard (Review from prerequisite classes Busn 216 & 218)
\n7. (06:02) Overriding Steps for our Project
\n8. (06:27) Open a blank Power BI File
\n9. (07:04) Introduction to Power BI Window and User Interface
\n10. (08:32) Power Query to Import Multiple CSV Files and Clean and Transform Data
\n11. (13:38) Why we do NOT use Number or Date Fields from a Fact Table
\n12. (15:57) Import Dimension Tables from a Single Excel File
\n13. (18:09) Merge Snow Flake Dimension Tables into dProduct Table
\n14. (19:30) Do NOT import to Data Model (Uncheck Enable Load)
\n15. (20:22) Old Relationship View & New Relationships View with Properties & Better Selection Capability
\n16. (20:41) Steps to create Date Table using CALENDAR DAX Table Function & Calculated Columns. See many DAX Functions such as CALENDAR, FORMAT and others.
\n17. (16:10) Sort By Column to get Months to Sort correctly.
\n18. (27:47) Create Fiscal Periods for Data Table, including Helper Column for Sorting Fiscal Period correctly.
\n19. (33:12) Hide Columns from Report View
\n20. (34:00) Create DAX Measures and see why we do not use Implicit Measures.
\n21. (36:17) SUMX DAX Function
\n22. (38:15) Row Context (how formula calculates for each row in a table or Iterator Function)
\n23. (40:12) Filter Context (How Measures Calculate and how Tables are Filtered when Measures Calculate)
\n24. (41:50) Measure for Average Daily Revenue. Learn about Context Transition. See AVERAGEX Function to iterate at the Daily level.
\n25. (47:55) Conventions for DAX Formulas with a great tip from Marco Russo and Albetro Ferrari
\n26. (49:00) More About Filter Context and Context Transition
\n27. (49:26) Gross Profit Measures
\n28. (51:48) Refine Data Model in Power Query by Removing Columns in dProduct Table
\n29. (52:40) Learn about how to Create & Format Visualizations
\n30. (52:40) Create \u201cAve Daily GP\u201d Dashboard.
\n31. (52:40) Create Matrix and add Conditional Formatting
\n32. (55:29) Create Column Chart and add Conditional Formatting
\n33. (56:00) Hierarchies
\n34. (56:52) Drill Down Icons in Power BI
\n35. (59:09) Create Line Chart
\n36. (01:00:00) Create Card
\n37. (01:01:00) Edit Interactions between visualizations
\n38. (01:02:50) Create \u201cFiscal Report\u201d Dashboard
\n39. (01:05:32) Bookmark to save views of a Dashboard
\n40. (01:06:20) Create \u201cAve Last 12 Months\u201d Dashboard
\n41. (01:06:37) DAX Measure for Average Transactional Revenue. See AVERAGEX Function to iterate at the transaction line item level.
\n42. (01:07:30) Visual of how we change the Filter Context to get dates for a full year backwards.
\n43. (01:08:25) CALCULATE & DATESINPERID & LASTDATE DAX Functions to calculate Measure for Rolling 12 Month Average for Transaction Level Data.
\n44. (01:12:08) Create \u201cQuestion\u201d Dashboard. Learn about Ask A Question feature.
\n45. (01:13:08) Publish Report to powerbi.com
\n46. (01:14:15) Edit at powerbi.com
\n47. (01:14:34) Publish to Web with Free Power BI Desktop version and allow public to review Report
\n48. (01:16:15)Publish and Share with Power BI Pro Account
\n49. (01:17:44) Source Data Changes and Refresh
\n50. (01:18:18) Summary<\/p>\n