DAX - 获取当前行号

DAX - Get current row number

题目看似简单,但我发现在DAX中做起来真的很难。 我想获取当前上下文数据的当前行号。与 T-SQL.

中的 ROW_NUMBER() 相同

有什么提示吗?

提前致谢。

没有这个功能。最接近的是根据排序顺序计算排名,例如:

DEFINE MEASURE SomeTbl[ROW_NO] = SUMX(SomeTbl, RANKX(ALL(SomeTbl), SomeTbl[SortCol]))
EVALUATE ADDCOLUMNS(SomeTbl, "ROW_NO", SomeTbl[ROW_NO])

或者如果您不能使用 RANKX

EVALUATE ADDCOLUMNS (
  SomeTbl, "ROW_NO", COUNTROWS(FILTER(SomeTbl, 
    EARLIER(SomeTbl[SortCol])<=SomeTbl[SortCol]))+0
)

注意:对于相同的值(SomeTbl[SortCol]),ROW_NO 将相同。

如果您使用的是 DirectQuery 模式,您还可以在模型中添加额外的列并将其定义为 SELECT *, ... ROW_NUMBER() as Foo - 并改为在 DAX 中使用 Foo 列。