DAX IF度量-返回固定值

时间:2019-05-13 08:28:09

标签: dax

这应该是一个非常简单的要求。但是似乎无法在DAX中实现。

数据模型,用户查找表已加入许多链接到每个用户的“卡片”。

enter image description here

我有一个度量设置来对CardUser中的行进行计数。很好。

<measureA> = count rows in CardUser

我想创建一个新度量,

<measureB> = IF(User.boolean = 1,<measureA>, 16)

如果User.boolean = 1,我想返回固定值16。实际上,绕过了measureA。

我不能简单地将User.boolean = 1置于IF条件中,从而引发错误。

如果User.boolean = 1,我可以修改measureA本身以返回0

measureA> =
CALCULATE (
 COUNTROWS(CardUser),
 FILTER ( User.boolean != 1 )
)

这可行,但是我仍然找不到仅在User.boolean = 1时返回16的方法。

1 个答案:

答案 0 :(得分:2)

在DAX中很容易,您只需要学习“ X”功能(又称“迭代器”)即可:

Measure B = 
   SUMX( VALUES(User.boolean),
         IF(User.Boolean, [Measure A], 16))

VALUES函数生成一个不同的user.boolean值(在这种情况下为1,0)的列表。然后,SUMX迭代此列表,并将IF逻辑应用于每个记录。