Правило DAX с 2 IF

Как бы вы написали следующие условия в DAX (для Power BI) для меры с именем RULE:

• Если количество чистых заказов в месяц> 4 или среднее время окончательного выполнения за месяц> 28, возвращается 1

• Если поле «Среднемесячное окончательное время выполнения» не указано, вернуть значение пустым.

• В противном случае верните 0

У меня нет знаний о DAX, так что помогите, пожалуйста! Большое спасибо!


person T D    schedule 07.12.2018    source источник


Ответы (2)


Для множества условий иногда проще написать SWITCH:

RULE =
SWITCH( TRUE(),
    ISBLANK ( [Monthly Average Final Run Time] ),
    BLANK(),
    [Monthly Net Order Quantity] > 4 || [Monthly Average Final Run Time] > 28,
    1,
    0
)

В этой статье хорошо объясняется конструкция SWITCH( TRUE(), ... ).

person Alexis Olson    schedule 07.12.2018
comment
Огромное спасибо (за ссылку и выражение)! Это сработало отлично! - person T D; 07.12.2018

Предполагая, что Monthly Net Order Quantity и Monthly Average Final Run Time - существующие меры, тогда:

RULE =
IF (
    [Monthly Net Order Quantity] > 4
        || [Monthly Average Final Run Time] > 28,
    1,
    IF (
        ISBLANK ( [Monthly Average Final Run Time] ),
        BLANK (),
        0
    )
)
person Olly    schedule 07.12.2018