基于多个标准的 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 具有相同 ID
和 Sub Event Type
的 Sub Event
的不同计数是类型 A 如果它是第一行,否则 return 0.
请随意澄清或修改它以适合您的情况。
结果:
这可能很简单,但我需要你的帮助!
我需要在我的原始数据中添加一列,其中包含当子事件类型 = 类型 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 具有相同 ID
和 Sub Event Type
的 Sub Event
的不同计数是类型 A 如果它是第一行,否则 return 0.
请随意澄清或修改它以适合您的情况。
结果: