从 table 行计数中排除重复行的 DAX 查询

DAX query to exclude duplicated rows from table row count

我有一个 table 列 "RetailId & State"。 "State" 列是一个度量。 在这个 table 列中 "RetailId" 可以重复。

所以我想做的是计算 'State' 等于 'Success' 的行,但 "RetailId" 只存在一次(不重复)。

在行数中,我想忽略 "RetailId" 存在不止一次(重复)的行。

如何将上述条件应用于下面的 DAX 查询?

COUNTROWS(FILTER(FactProductHistory,FactProductHistory[State] = "Success"))

下面的示例数据

RetailId | State
------------------
 3       |Success
------------------
 5       |Success
------------------
 3       |Success
------------------
 4       |Success
------------------
 5       |Success
------------------
 1       |Success

在上面的示例数据中,计数将为 2(第 4 行和第 6 行),因为这些行的 "RetailId" 没有重复。 "RetailId" 值 5 和 3 重复,所以我不想将这些行包括在计数中

下面是 "State" 度量列的 DAX 表达式。

State = RELATED(TaskDetail[State])

我将首先创建一个度量,计算具有状态 "success" 的 RetailID 出现的次数

cntRetail:=CALCULATE(COUNT([RetailID]),FactProductHistory[State]="Success")

然后我会在过滤器中使用它,只过滤 select 计数为 1

的过滤器
myMeasure:=CALCULATE(DISTINCTCOUNT(FactProductHistory[RetailID])
,FILTER(all(FactProductHistory[RetailID]),[cntRetail]=1))