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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Anonymous
Not applicable

Filtered Column Before applying DAX

Hi All,

I have a table consisting Customer code, product code and multiple calculated measures and columns. I have calculated "AND/Intersection" logic to calculate how many customer bought items in together. 

For example- If i multselect 4 items then  my DAX is Giving me how many customers bought 4 items in together.

MY DAX:

Intersection of Items =
IF (ISBLANK (CALCULATE(COUNTROWS (FILTER (SUMMARIZE (BI_Cust_Data_Table,BI_Cust_Data_Table[CUST_CODE],
"ProductsBought",DISTINCTCOUNTNOBLANK(BI_SALESDATA[CUST_CODE])),
[ProductsBought] = COUNTROWS ( VALUES ( BI_SALESDATA[SKU] ) )
))
)), 0,
CALCULATE(COUNTROWS (FILTER (SUMMARIZE (BI_Cust_Data_Table,BI_Cust_Data_Table[CUST_CODE],
"ProductsBought",DISTINCTCOUNTNOBLANK(BI_SALESDATA[CUST_CODE])),
[ProductsBought] = COUNTROWS ( VALUES ( BI_SALESDATA[SKU] ) )
)
)))

But the problem is i have quantity in a measure and first my tast is to identify all customers (item wise) who bought quantity 1 or greather than one only. This should be item wise. Like for item 001, we have 100 customers and out of 100 customers only 97 have quantity greater equal to 1.

For this i have creater a new measure called Filtered Intersection:

Filtered Intersection = CALCULATE(DISTINCOUNT(CUST_CODE), FILTER(bi_cust_table, [ACTUALQUANTITY]>=1))

 

Basically, i m getting accurate value by using 'Intersection of Items' dax,but i m not getting accurate value while using 'Filtered Intersection' DAX.

I guess, I am not able to filtered out customer code first based on Qty>=1 and then use 'Intersection of Items' dax.

 

Any help would be appreciated

I can give more information, if required.

 

3 REPLIES 3
Anonymous
Not applicable

HI @Anonymous ,

Current power bi not support to create dynamic calculated column/table based on filter/slicer.
You can write dynamic measures based on filters effect but their results will been fixed as static values when you use them in calculated column.

It's like to suggest you use measure formula to calculate dynamic result.

Intersection of Items =
VAR summary =
    SUMMARIZE (
        FILTER ( ALLSELECTED ( BI_Cust_Data_Table ), [ACTUALQUANTITY] >= 1 ),
        BI_Cust_Data_Table[CUST_CODE],
        "ProductsBought", DISTINCTCOUNTNOBLANK ( BI_SALESDATA[CUST_CODE] )
    )
VAR _count =
    COUNTROWS ( VALUES ( BI_SALESDATA[SKU] ) )
RETURN
    COUNTROWS ( FILTER ( summary, [ProductsBought] = _count ) ) + 0

Regards,

Xiaoxin Sheng

Anonymous
Not applicable

HI,

@Anonymous 

Basically i have created columns based on filter in SQL only and then just implement interesection Dax without any filter and now its working.

But what if i want to get the list of customers who bought common items.

In other words, can i have a list of customers based on your DAX??

 

Anonymous
Not applicable

Hi @Anonymous ,

My formula is merge your filter condition with summarize table and get corresponding user count.

>>But what if i want to get the list of customers who bought common items.
You can write measure to get filtered records and apply on visual level filter to compare and filter records. Can you please share some detail information to help us clarify your requirement? (e.g. expected result, table data structure) 

Regards,

Xiaoxin Sheng

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

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

August 2025 community update carousel

Fabric Community Update - August 2025

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