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
列。
题目看似简单,但我发现在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
列。