计算 SUM 时使用 DISTINCT 作为过滤器
Use DISTINCT as filter when calculating SUM
软件:微软Excel2016
这是一个table
给定的,对于特定 ID 总是会有相同数量的触发器。但我不想多次计算这些触发器。
我尝试了以下 DAX。我的预期答案是 72,但我得到的是 143。如何解决?
Distinct_Matches:=CALCULATE(sum(Incidents[Triggers]),DISTINCT(Incidents[Incident_ID]))
使用这个:
=SUMPRODUCT(B2:B7/COUNTIF(A2:A7,A2:A7))
这是带有结构化引用的公式:
=SUMPRODUCT(Incidents[Triggers]/COUNTIFS(Incidents[Incident_ID],Incidents[Incident_ID]))
假设 Incident_ID 的触发值在整个 ID 号中是相同的,以下将起作用。
Measure 1:=SUMX( DISTINCT(Table1[Incident_ID]), CALCULATE(AVERAGE(Table1[Triggers])))
Table1 只是我在快速测试中使用的名称。
想法是 sumx 将遍历每个唯一 Incident_ID 并对计算语句的结果求和。计算语句使用平均值,因为它将 return 唯一值。例如。 Average(41+41) = 41
。您也可以使用 MIN
或 MAX
。
软件:微软Excel2016
这是一个table
给定的,对于特定 ID 总是会有相同数量的触发器。但我不想多次计算这些触发器。
我尝试了以下 DAX。我的预期答案是 72,但我得到的是 143。如何解决?
Distinct_Matches:=CALCULATE(sum(Incidents[Triggers]),DISTINCT(Incidents[Incident_ID]))
使用这个:
=SUMPRODUCT(B2:B7/COUNTIF(A2:A7,A2:A7))
这是带有结构化引用的公式:
=SUMPRODUCT(Incidents[Triggers]/COUNTIFS(Incidents[Incident_ID],Incidents[Incident_ID]))
假设 Incident_ID 的触发值在整个 ID 号中是相同的,以下将起作用。
Measure 1:=SUMX( DISTINCT(Table1[Incident_ID]), CALCULATE(AVERAGE(Table1[Triggers])))
Table1 只是我在快速测试中使用的名称。
想法是 sumx 将遍历每个唯一 Incident_ID 并对计算语句的结果求和。计算语句使用平均值,因为它将 return 唯一值。例如。 Average(41+41) = 41
。您也可以使用 MIN
或 MAX
。