Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now

Reply
_donev
Regular Visitor

DAX - count header rows only if specific details

I am trying to get my head around this DAX measure. I have a denormalized Master-Detail tables with Orders of products. The model is relatively large (200+ mln rows) and I am looking for the most optimal way to have the following measure: Count all distinct orders, that have both ProductID 100 and ProductID 101

 

In the source data below, that would be just 1 order.

 

Untitled picture.png

 

Any pointers, articles or hints?

1 ACCEPTED SOLUTION
OwenAuger
Super User
Super User

@_donev

If it's always those two particular ProducID values that you are interested in, then this is the fastest performing measure I could come up with on some test data:

Orders with both 100 & 101 =
VAR Orders_100 =
    CALCULATETABLE ( VALUES ( Orders[OrderID] ), Orders[ProductID] = "100" )
VAR Orders_101 =
    CALCULATETABLE ( VALUES ( Orders[OrderID] ), Orders[ProductID] = "101" )
RETURN
    COUNTROWS ( INTERSECT ( Orders_100, Orders_101 ) )

If you needed a more general measure that could handle any selection of ProductID values then that would be a bit different.

 

Regards,

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
Twitter
LinkedIn

View solution in original post

1 REPLY 1
OwenAuger
Super User
Super User

@_donev

If it's always those two particular ProducID values that you are interested in, then this is the fastest performing measure I could come up with on some test data:

Orders with both 100 & 101 =
VAR Orders_100 =
    CALCULATETABLE ( VALUES ( Orders[OrderID] ), Orders[ProductID] = "100" )
VAR Orders_101 =
    CALCULATETABLE ( VALUES ( Orders[OrderID] ), Orders[ProductID] = "101" )
RETURN
    COUNTROWS ( INTERSECT ( Orders_100, Orders_101 ) )

If you needed a more general measure that could handle any selection of ProductID values then that would be a bit different.

 

Regards,

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
Twitter
LinkedIn

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

Find out what's new and trending in the Fabric Community.

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

Check out the November 2024 Power BI update to learn about new features.