Posts

Showing posts from January, 2022

Set functions in DAX: UNION, INTERSECT and EXCEPT

https://www.sqlbi.com/articles/set-functions-in-dax-union-intersect-and-except/  

Bidirectional Relationships and Ambiguity in DAX

https://www.sqlbi.com/articles/bidirectional-relationships-and-ambiguity-in-dax/   Problem is how do we sync 2 slicers without using bidirectional cross filter. Customer slicer 1-many with Sales Product Color slicer 1-many with Sales We want to sync the 2 slicers; i.e. only show product color for the selected Customer. Solution: Add filter Sales measure is not blank to the Product Color

Understanding DAX Auto-Exist

 https://www.sqlbi.com/articles/understanding-dax-auto-exist/

Example Measures Using Disconnected Table as Slicer

Counter Type is a dimension that has a column [ Counter Type Name]. Counter Type is in a slicer. Determine what [ Counter Type Name] is selected and based on that calculate the difference count between Azure and Snowflake. -- get the difference between azure and snowflake Count Difference = VAR SelectedCounter = SELECTEDVALUE ( 'Counter Type'[Counter Type Name] ) VAR CounterTypeCount = SWITCH ( SelectedCounter , "> 30 SEC" , [CKR Count > 30 Sec] - [Snowflake Count > 30 Sec] , "> 60 SEC" , [CKR Count > 60 Sec] - [Snowflake Count > 60 Sec] , "> 120 SEC" , [CKR Count > 120 Sec] - [Snowflake Count > 120 Sec] , "> 180 SEC" , [CKR Count > 180 Sec] - [Snowflake Count > 180 Sec] , "> 240 SEC" , [CKR Count > 240 Sec] - [Snowflake Count > 240 Sec] , "> 300 SEC" , [CKR Count > 300 Sec] - [Snowflake Count > 300 Sec] , "> 360 SEC...

Hybrid Tables, Incremental Refresh and Table Partitioning in Power BI

https://sqlserverbi.blog/2021/12/27/hybrid-tables-incremental-refresh-and-table-partitioning-in-power-bi/  

Power BI – Connecting to OneDrive for Business from Power BI Desktop & Refresh from Power BI Service without the need for the On-Premise Gateway

  https://www.fourmoo.com/2017/07/04/power-bi-connecting-to-onedrive-for-business-from-power-bi-desktop-refresh-from-power-bi-service-without-the-need-for-the-on-premise-gateway/

Connecting to Snowflake DB in Power BI

https://www.fourmoo.com/2020/02/06/connecting-to-snowflake-db-in-power-bi/  

Power Query (M) – Passing Parameters dynamically to a SQL Server Query

https://www.fourmoo.com/2020/10/08/power-query-m-passing-parameters-dynamically-to-a-sql-server-query/  

Different Options to Model Many-to-Many in Power BI and Tabular

https://www.sqlbi.com/articles/different-options-to-model-many-to-many-relationships-in-power-bi-and-tabular/  

Generating a Series of Numbers in DAX

https://www.sqlbi.com/articles/generating-a-series-of-numbers-in-dax/   Simple example: EVALUATE GENERATESERIES ( 0 , 1 , .01 ) Simple example; convert to fixed decimal: EVALUATE SELECTCOLUMNS (      GENERATESERIES ( 0 , 1 , .01 ) ,      "Value" , CURRENCY ( [Value] ) )

Power BI Paginated Reports Part 11 - More Parameters Tips and Tricks

https://www.youtube.com/watch?v=mxI1XOhzgyw&list=PLx7LcKtN_gq-JVzM6L8xNNxX7kts-KflJ&index=13

Power BI Paginated Reports Bonus Episode - Using DAX queries from Power BI Desktop

  https://www.youtube.com/watch?v=NfoOK4QRkhI&list=PLx7LcKtN_gq-JVzM6L8xNNxX7kts-KflJ&index=12

Power BI Paginated Reports Part 10 - Get Started with Parameters

https://www.youtube.com/watch?v=SuGcB_tm6VI&list=PLx7LcKtN_gq-JVzM6L8xNNxX7kts-KflJ&index=11  

Power BI Paginated Reports Episode 5 - Updating Table Properties in Power BI Report Builder

https://www.youtube.com/watch?v=7ADg1ON7qqA&list=PLx7LcKtN_gq-JVzM6L8xNNxX7kts-KflJ&index=5  

Power BI Paginated Reports Episode 4 - How to create a simple table in Power BI Report Builder

  https://www.youtube.com/watch?v=B6xepiBKfk0&list=PLx7LcKtN_gq-JVzM6L8xNNxX7kts-KflJ&index=4

Power BI Paginated Reports Episode 3 - Overview of Data Sources And Datasets

https://www.youtube.com/watch?v=Y2sxicb132A&list=PLx7LcKtN_gq-JVzM6L8xNNxX7kts-KflJ&index=3

Power BI Paginated Reports Episode 1 - Intro to Power BI Report Builder

https://www.youtube.com/watch?v=78TZeiEhveY&list=PLx7LcKtN_gq-JVzM6L8xNNxX7kts-KflJ  

Christopher Finlan - Microsoft

  https://christopherfinlan.com/

Introduction to DAX for paginated reports

https://www.red-gate.com/simple-talk/databases/sql-server/bi-sql-server/introduction-to-dax-for-paginated-reports/  

How to filter DAX for paginated reports

https://www.red-gate.com/simple-talk/databases/sql-server/bi-sql-server/how-to-filter-dax-for-paginated-reports/  

Power BI and Tabular Model Tools

https://www.sqlbi.com/tools/ https://www.sqlbi.com/tools/bism-normalizer/ https://www.sqlbi.com/tools/alm-toolkit/

Differences between GENERATE and CROSSJOIN - Unplugged #37

https://www.sqlbi.com/tv/differences-between-generate-and-crossjoin-solving-business-scenarios-unplugged-37/   Solution: - Create temporary table of AvailableSkills which includes each employee's skills and level and rows for any level that is less than the employee's skill level - Create a temporary table of the RequiredSkills for each job requisition - INTERSECT RequiredSkills and AvailableSkills to get the list of employees who have the minimum skill level for each skill in the job requisition MS3 = VAR AvailableSkills = SELECTCOLUMNS ( GENERATE ( SUMMARIZE ( EmployeeSkills , Skills[Skill Name] , EmployeeSkills[Level] ), FILTER ( SELECTCOLUMNS ( ALLNOBLANKROW ( EmployeeSkills[Level] ), "@Level" , EmployeeSkills[Level] ), EmployeeSkills[Level] >= [@Level] ) ), "Skill Name" , [Skill Name] , ...

Get Selected Items in Slicer

 You have 'Product'[Category] in a slicer. To get the selected items: VAR SelectedProductCategories = VALUES('Product'[Category])

Optimizing AND Logic in Slicers

https://www.sqlbi.com/tv/optimizing-an-old-sqlbi-article-and-logic-in-slicers-unplugged-4/  

Introducing wholesale and retail execution in composite models

https://www.sqlbi.com/articles/introducing-wholesale-and-retail-execution-in-composite-models/  

Understanding the interactions between composite models and calculation groups

https://www.sqlbi.com/articles/understanding-the-interactions-between-composite-models-and-calculation-groups/