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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

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
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

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

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.