我应该如何使用 Power BI Desktop 在 DAX 中编写多个 IF 语句?

How should I write multiple IF statements in DAX using Power BI Desktop?

在 Power BI Desktop 上,我正在使用多个条件 IF 语句。我有一个带有用户 ID 和 SecondsToOrder 的原始 table,看起来像这样。

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

我创建了一个新的计算列 MinutesRounded 以将秒舍入为分钟,现在我的 table 看起来像这样。

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 中的某些 regional/keyboard 设置,这就是为什么我必须使用分号而不是逗号。代码本身是正确的。

我在使用你的 DAX 时没有发现任何错误:

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

你也可以使用 SWITCH:

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

谢谢