问题似乎很简单,但我发现在DAX中很难完成。 我想在当前的上下文数据中获取当前行号。与T-SQL中的ROW_NUMBER()相同。
任何提示?
提前致谢。
答案 0 :(得分:1)
没有这样的功能。最接近的是根据排序顺序计算排名,例如:
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
列。