繁体   English   中英

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

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

在Power BI Desktop上,我正在使用多个条件IF语句。 我有一个带有用户ID和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中的某些区域/键盘设置,这就是为什么我不得不使用分号而不是逗号的原因。 代码本身是正确的。

我完全按照原样使用您的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"
)

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM