Forum Discussion

Robert4049's avatar
Robert4049
Frequent Visitor
7 years ago
Solved

Array Filter

SecondDueService =
VAR Seconds = 560
VAR Units = { 12, 71 }
RETURN
    IF (
        COUNTAX (
            FILTER (
                'AGENCY EXPOSURE APPARATUSES',
                'AGENCY EXPOSURE APPARATUSES'[ResponseTimeSeconds] = Seconds
                    && 'AGENCY EXPOSURE APPARATUSES'[apparatusTypeID] = Units
            ),
            'AGENCY EXPOSURE APPARATUSES'[ResponseTime]
        ) >= 1,
        TRUE (),
        FALSE ()
    )

Hey Everyone,

I'm trying to do the above but I cannot use an array in a filter. Is there another methodology someone could suggest that would have the same effect aside from doing several and/or's??

  • So if you just want to filter for rows where the units are either 12 or 71 then just change this line

      

    && 'AGENCY EXPOSURE APPARATUSES'[apparatusTypeID] = Units

    to use the IN operator:

    && 'AGENCY EXPOSURE APPARATUSES'[apparatusTypeID] IN Units

    PS. techincally in DAX the { } syntax is a table constructor, so what you have is a single column table not an array (but that is just semantics, functionally it operates similar to an array)

1 Reply

  • So if you just want to filter for rows where the units are either 12 or 71 then just change this line

      

    && 'AGENCY EXPOSURE APPARATUSES'[apparatusTypeID] = Units

    to use the IN operator:

    && 'AGENCY EXPOSURE APPARATUSES'[apparatusTypeID] IN Units

    PS. techincally in DAX the { } syntax is a table constructor, so what you have is a single column table not an array (but that is just semantics, functionally it operates similar to an array)