Forum Discussion

Irwin's avatar
Irwin
Helper IV
4 years ago
Solved

IF statement with filter?

Hi guys,

 

I have a table with values ranging from blank, 0, 100, 200.... and so forth.

I would like to create a measure that displays my how many values that are >=10000 (with a date slicer separate).

I have for now made this dax measure which works fine.

 

Measure =
CALCULATE (
          COUNTA ('Table'[Row]),
          FILTER(ALL('Table'[Row]), 'Table'[Row]>=10000)
)
 
However, sometimes there are no values >=10000 and the measure will display "Blank". I dont want this. I would like it to write 0.
When I try to use an IF function PBI tells me that filters and IF functions (true/false) are not allowed... Any suggestions?
 
Measure =
IF (
        CALCULATE (
               COUNTA ( 'Table'[Row] ),
               FILTER ( ALL ( 'Table'[Row] ), 'Table'[Row] >= 10000 )
                       = BLANK ()
        ),
        0,
        CALCULATE (
               COUNTA ( 'Table'[Row] ),
               FILTER ( ALL ( 'Table'[Row] ), 'Table'[Row] >= 10000 )
        )
)
 
 
Thanks a bunch.
  • Anonymous's avatar
    Anonymous
    4 years ago

    Irwin You should close parenthesis in the first CALCULATE:

    Measure =
    IF (
            CALCULATE (
                   COUNTA ( 'Table'[Row] ),
                   FILTER ( ALL ( 'Table'[Row] ), 'Table'[Row] >= 10000 ) )
                           = BLANK ()
            ),
            0,
            CALCULATE (
                   COUNTA ( 'Table'[Row] ),
                   FILTER ( ALL ( 'Table'[Row] ), 'Table'[Row] >= 10000 )
            )
    )

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Irwin You should close parenthesis in the first CALCULATE:

    Measure =
    IF (
            CALCULATE (
                   COUNTA ( 'Table'[Row] ),
                   FILTER ( ALL ( 'Table'[Row] ), 'Table'[Row] >= 10000 ) )
                           = BLANK ()
            ),
            0,
            CALCULATE (
                   COUNTA ( 'Table'[Row] ),
                   FILTER ( ALL ( 'Table'[Row] ), 'Table'[Row] >= 10000 )
            )
    )

  • You are right of course. **bleep**... I moved those parenthesis around so much already 😉

    Thank you for helping! 🙂