【发布时间】:2019-10-07 17:29:54
【问题描述】:
我有以下数据集:
KEY CNT
A-S000218691600_14 1
A-S000218691600_14 2
A-S000218691600_14 3
A-S000218696400_1 1
A-S000218691600_14 4
A-S000218691600_14 5
A-S000218691600_14 6
A-S000218691600_14 7
A-S000218691600_14 8
A-S000218693200_1 1
A-S000218691600_14 9
A-S000218691600_14 10
A-S000218691600_14 11
A-S00021869245175.29_1 1
A-S000218691600_14 12
A-S000218691600_14 13
A-S00021869110339.26_1 1
A-S000218691600_14 14
A-S000218696400_1 2
A-S000218691600_7 1
A-S000218691600_7 2
A-S000218691600_7 3
A-S000218691600_7 4
A-S000218691600_7 5
A-S000218691600_7 6
A-S000218691600_7 7
A-S0002186917600_1 1
在 Excel 中,我可以使用 =COUNTIF(A$2:A2,A2) 创建 CNT 列,但在 DAX 中无法获得相同的结果。
我尝试了以下方法,但没有生成相同的输出:
cnt = calculate(
COUNTROWS(table),
filter(
ALLEXCEPT(table, table[key]),
table[key]=EARLIER(table[key])
)
)
有人能指出正确的方向吗?
【问题讨论】:
-
cnt列的值似乎取决于每个值在列(索引)中的位置,这取决于表的排序顺序。您是否有另一列要对其进行排序/索引? -
不,它不看位置,只需在 Excel 中尝试公式即可完成工作
-
Excel 公式也使用相对行引用来确定列表中的位置...您需要另一列来实现您想要的。
-
Power BI 不能使用数据集中的相对位置吗?
-
仅当您创建索引时。没有原生的“行号”。