Как написать несколько выражений IF в DAX с помощью Power BI Desktop? - PullRequest
0 голосов
/ 26 августа 2018

В Power BI Desktop я работаю с несколькими условными операторами IF. У меня есть оригинальная таблица с идентификаторами пользователей и SecondsToOrder, похожая на эту.

UserID      SecondsToOrder
00001       2320
00002       13
00003       389
00004       95
...         ...

Я создал новый вычисляемый столбец MinutesRounded для округления секунд до минут, и теперь моя таблица выглядит следующим образом.

UserID      SecondsToOrder   MinutesRounded
00001       2320             38
00002       13               0
00003       389              12
00004       95               1
...         ...              ...

Теперь я хочу создать еще один столбец на основе моего вычисляемого столбца MinutesRounded, где в зависимости от номера я назначаю каждого пользователя в одну из следующих групп: «<1 минута», «<15 минут» и «> 15 минут». Конечный результат должен выглядеть следующим образом.

UserID      SecondsToOrder   MinutesRounded    Lenght
00001       2320             38               > 15 minutes
00002       13               0                < 1 minute 
00003       389              12               < 15 minutes 
00004       95               1                < 1 minute 
...         ...              ...              ... 

Я делаю это, используя DAX этим утверждением.

Lenght = IF([MinutesRounded]<1,"< 1 minute",IF([MinutesRounded]<15,"<15 minutes", "> 15 minutes"))

И получение синтаксической ошибки. Серьезно не понимаю, что здесь не так. Не могли бы вы помочь. Я получаю ошибку ниже:

The syntax for '"< 1 minute"' is incorrect. (DAX(IF([MinutesRounded]<1."< 1 minute",IF([MinutesRounded]<15."<15 minutes", "> 15 minutes")))).

По какой-то причине я вижу точки и скобки в ошибке, которую я даже не напечатал. Как мне это исправить?

ОБНОВЛЕНИЕ: выяснилось, что причина в некоторых региональных настройках / настройках клавиатуры в POWER BI, и поэтому мне пришлось использовать точки с запятой вместо запятых. Сам код был верным.

1 Ответ

0 голосов
/ 27 августа 2018

Я не получаю ошибку, используя ваш DAX точно так же, как он есть:

= IF([MinutesRounded]<1,"< 1 minute",IF([MinutesRounded]<15,"<15 minutes", "> 15 minutes"))

Вы также можете использовать переключатель:

=
SWITCH (
    TRUE (),
    [MinutesRounded] < 1, "< 1 minute",
    [MinutesRounded] < 15, "<15 minutes",
    "> 15 minutes"
)

Спасибо

...