基于多个标准的 DAX 计数发生

DAX count occurrence based on multiple criteria

这可能很简单,但我需要你的帮助!

我需要在我的原始数据中添加一列,其中包含当子事件类型 = 类型 A 时每个唯一 ID 的唯一子事件的总数,并且结果应显示在找到的第一个类型 A 中列表并在该 ID 的剩余行上显示零。

希望模型 table 示例可以说明我的原始数据的结构以及我需要的结果(第 J 列)

下面的计算列应该可以解决问题:

Type A Events by ID = 
VAR FirstRow = 
CALCULATE(
    MIN('Log'[Index]),
    FILTER('Log', 'Log'[ID] = EARLIER('Log'[ID]) && 'Log'[Sub Event Type] = "Type A")
)
RETURN
IF(
    'Log'[Index] = FirstRow,
    CALCULATE(
        DISTINCTCOUNT('Log'[Sub Event]),
        FILTER('Log', 'Log'[ID] = EARLIER('Log'[ID]) && 'Log'[Sub Event Type] = "Type A")
    ),
    0
)

不确定您如何确定找到的第一个 A 类行,因此我添加了一个索引列并检索了具有最小索引的合格行。 (这就是 FirstRow 正在做的事情)

然后它将 return 具有相同 IDSub Event TypeSub Event 的不同计数是类型 A 如果它是第一行,否则 return 0.

请随意澄清或修改它以适合您的情况。

结果: