dax - DAX IF 度量 - 返回固定值
问题描述
这应该是一个非常简单的要求。但似乎不可能在 DAX 中实现。
数据模型,用户查找表加入了许多链接到每个用户的“卡片”。
我有一个度量设置来计算 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 的方法。
解决方案
这在 DAX 中很容易,您只需要学习“X”函数(又名“迭代器”):
Measure B =
SUMX( VALUES(User.boolean),
IF(User.Boolean, [Measure A], 16))
VALUES 函数生成不同的 user.boolean 值列表(在本例中为 1、0)。然后,SUMX 迭代此列表,并将 IF 逻辑应用于每个记录。
推荐阅读
- javascript - 按滚动百分比从上到下垂直移动图像
- sharepoint - Sharepoint 警报不适用于一个站点上的一个用户
- function - 我应该如何解开这组 lapply/sapply/mapply
- c# - Client stops working after sending message and server doesn't wait for mutliple data to come
- asp.net-core - InvalidOperationException: No service for type Microsoft.AspNetCore.Identity.UserManager has been registered error using ASP.NET Identity Server
- python - 将 FPDF 整合到适用于 Android 平板电脑的 Kivy 应用程序中
- swift - 用 SciFormatter 划分两个文本字段
- vb.net - 输入数字的总和与 do 循环直到
- r - 按天分组时间序列/时间戳
- javascript - 如何使用 node.js 替换 json 文件的特定部分