Power BI DAX函数超过2个条件

3

我正在Power BI中创建角色,并通过原则代码对表格进行筛选 -

例如,角色1 - 只能查看CKBD、CKRANP和DA原则的数据,为此我使用了DAX函数 -

OR([principlecode] = "CKB" ||  [principlecode] = "CKBD"|| [principlecode] = "DA")

但是它的条件语句只能有两个参数,有没有办法解决这个问题?

好的,只需要删除或移除。 - Dilip
2个回答

8

为了清晰明了,DAX提供了两个逻辑或(以及逻辑与)选项:

  1. OR函数(以及AND函数)
  2. 二进制||运算符(以及二进制&&运算符)

OR函数接受正好两个参数来执行逻辑或:

OR([principlecode]="CKB", [principlecode]="CKBD"])

为了在您的示例中实现此功能,您必须嵌套OR语句,因为DAX不提供超过2个参数的函数:
OR(OR([principlecode]="CKB", [principlecode]="CKBD"]),[principlecode] = "DA")

在我看来,这非常难看。请注意,AND运算符也面临同样的挑战:
AND(AND(first_boolean, second_boolean), third_boolean)

另一方面,二元运算符 || 对操作数执行逻辑或运算,允许链式使用语句(正如你在自己的答案中指出的):

[principlecode] = "CKB" ||  [principlecode] = "CKBD"|| [principlecode] = "DA"

同样地,对于逻辑与(logical AND):
first_boolean && second_boolean && third_boolean

我不相信这两种方法之间有任何性能成本差异。

1

好的,只需要删除或者

([principlecode] = "CKB" ||  [principlecode] = "CKBD"|| [principlecode] = "DA")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接