Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

Power BI Desktop - DAX Issue

Dear Team,

In DAX calculation, I found one weird case, just wanted to filter the data on some condition.

 

Here is the DAX that was written -

CALCULATE(SUM(FactTotal[Sales]), FILTER(FactTotal, FactTotal[Key] = 1))

It was returning incorrect data.

 

But when I changed this to different DAX without FILTER word -

CALCULATE(SUM(FactTotal[Sales]), FactTotal[Key] = 1)

It works fine.

 

Could anyone please suggest, what went wrong with the first statement.

 

Thanks,

  • Anonymous's avatar
    Anonymous
    7 years ago

    It's the way DAX works internally. Your second function:

    CALCULATE(SUM(FactTotal[Sales]), FactTotal[Key] = 1)
    
    is really
    
    CALCULATE(
        SUM( FactTotal[Sales]),
        FILTER(
            ALL(FactTotal),
            FactTotal[Key] = 1
        )
    )

    so all removes the current filters and applies you FactTotal[Key] = 1 filter.

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    It's the way DAX works internally. Your second function:

    CALCULATE(SUM(FactTotal[Sales]), FactTotal[Key] = 1)
    
    is really
    
    CALCULATE(
        SUM( FactTotal[Sales]),
        FILTER(
            ALL(FactTotal),
            FactTotal[Key] = 1
        )
    )

    so all removes the current filters and applies you FactTotal[Key] = 1 filter.