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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
Greatbi1
Frequent Visitor

count of common values - only using DAX

Hi All,

 

I have this is in continuation of Old post . An awsome solution was given by @camargos88 using power query - join. Now I have realised that raw data size is huge and I need multiple charts and foreach combination I don't want to create join. I want to do it using DAX alone. Is it possible?

 

I have data like below:

State | Engineer| 

Florida, Johny

Florida, Nick

Indiana, Johny

Indiana, Nick

 

I want a pivot table like below which shows common engineer between states.

 

StateFloridaIndiana
FloridaNA1
Indiana1NA

 

 

Santhosh K

1 ACCEPTED SOLUTION
stevedep
Memorable Member
Memorable Member

Here you go:

In case you do not want to create a relationship between your base table the filter table:

 

EngineerCount = 
VAR EngineerCount = VALUES('Table'[Engineer])
VAR FilterEngineerCount = CALCULATETABLE(VALUES('Table'[Engineer]);ALL('Table');TREATAS(VALUES(FilterStates[State]); 'Table'[State]))

RETURN
COUNTROWS(INTERSECT(EngineerCount;FilterEngineerCount))

 

 

In case you can create an inactive relationship:

 

EngineersinBotStates = 
CALCULATE (
    DISTINCTCOUNT ('Table'[Engineer] );
    CALCULATETABLE (
        SUMMARIZE ( 'Table';'Table'[Engineer] );
        ALL ( 'Table');
        USERELATIONSHIP ( 'Table'[State]; FilterStates[State] )
    )
)

 

Which is based on this article:

https://www.daxpatterns.com/basket-analysis/

 

Result can be seen here, please note the data model and the use of a filtered states table, which is created with:

 

FilterStates = SUMMARIZE('Table';'Table'[State])

 

2020-06-14_10-08-27.gif

File is available here

 

Please mark as solution if this works for you. Thumbs up for the effort is appreciated.

Kind regards, Steve. 

View solution in original post

2 REPLIES 2
stevedep
Memorable Member
Memorable Member

Here you go:

In case you do not want to create a relationship between your base table the filter table:

 

EngineerCount = 
VAR EngineerCount = VALUES('Table'[Engineer])
VAR FilterEngineerCount = CALCULATETABLE(VALUES('Table'[Engineer]);ALL('Table');TREATAS(VALUES(FilterStates[State]); 'Table'[State]))

RETURN
COUNTROWS(INTERSECT(EngineerCount;FilterEngineerCount))

 

 

In case you can create an inactive relationship:

 

EngineersinBotStates = 
CALCULATE (
    DISTINCTCOUNT ('Table'[Engineer] );
    CALCULATETABLE (
        SUMMARIZE ( 'Table';'Table'[Engineer] );
        ALL ( 'Table');
        USERELATIONSHIP ( 'Table'[State]; FilterStates[State] )
    )
)

 

Which is based on this article:

https://www.daxpatterns.com/basket-analysis/

 

Result can be seen here, please note the data model and the use of a filtered states table, which is created with:

 

FilterStates = SUMMARIZE('Table';'Table'[State])

 

2020-06-14_10-08-27.gif

File is available here

 

Please mark as solution if this works for you. Thumbs up for the effort is appreciated.

Kind regards, Steve. 

Thank you steve for detailed explanantion. I really appreciate your approach.

 

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

November Power BI Update Carousel

Power BI Monthly Update - November 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.