cancel
Showing results for 
Search instead for 
Did you mean: 

Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.

Reply
SniperPro86
Frequent Visitor

DAX apply measure filter on the calculation

Hello
On the Contoso model I have a simple measure that calculate the amount of red product:

Red Sales = CALCULATE(
    [Amount],
    'Product'[Color] = "Red"
)

I want to create a measure that shows the Amount where the [Red Sales] is not blank without manually filtering the visual.
Below the expected result with filter on the visual :

SniperPro86_0-1682353886669.png

 

1 ACCEPTED SOLUTION

@SniperPro86 
Please try

MeasureTest3 =
SUMX (
    FILTER (
        VALUES ( Customer[Name] ),
        [Red Sales] <> BLANK ()
    ),
    [Amount]
)

Or 

MeasureTest4 =
SUMX (
    SUMMARIZE (
        FILTER (
            Sales,
            RELATED ( 'Product'[Color] ) = "Red"
        ),
        Customer[Name]
    ),
    [Amount]
)

View solution in original post

7 REPLIES 7
tamerj1
Super User
Super User

@Greg_Deckler this is where CALCULATE fails to do its job.

tamerj1
Super User
Super User

Hi @SniperPro86 

please try

Red Sales =
CALCULATE ( [Amount], KEEPFILTERS ( 'Product'[Color] = "Red" ) )

Hi @tamerj1 
I don't want to calculate just the Amount of red product.
I want all the sales amount of the current context but just show the rows where there is a sales of a red product.
For exemple, I want all sales amount of customers who purchased at least one red product.
or all sales amount by years but just show the years where at least one sales of a red product happened.
I don't know if the requirement is clear.

@SniperPro86 
Please try

MeasureTest3 =
SUMX (
    FILTER (
        VALUES ( Customer[Name] ),
        [Red Sales] <> BLANK ()
    ),
    [Amount]
)

Or 

MeasureTest4 =
SUMX (
    SUMMARIZE (
        FILTER (
            Sales,
            RELATED ( 'Product'[Color] ) = "Red"
        ),
        Customer[Name]
    ),
    [Amount]
)

@tamerj1 
Thank you this is the elegant way I was searching for.

hi @SniperPro86 

try like:

Measure =
SUMX(
    CALCULATETABLE(
        VALUES(PRODUCT[Name]),
        FILTER(
            PRODUCT,
            PRODUCT[Color]="Red"
        )
     ),
    [Amount]
)

Hello @FreemanZ 
This is not working.
I wrote the measure below:

Measure Test 2 = 
var CustomerR = FILTER(VALUES(Customer[Name]), [Red Sales] <> 0)
Return
CALCULATE(
    [Amount],
    Customer[Name] in CustomerR
)

It is working fine when I do analyse by customer Name but give a wrong result when I analyse by date for exemple.

SniperPro86_0-1682411034354.png

 



 

Helpful resources

Announcements
PBI November 2023 Update Carousel

Power BI Monthly Update - November 2023

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

Community News

Fabric Community News unified experience

Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.

Power BI Fabric Summit Carousel

The largest Power BI and Fabric virtual conference

130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.

Top Solution Authors
Top Kudoed Authors