FIRSTNONBLANK (DAX) Power BI - 没有自动排序
FIRSTNOTBLANK (DAX) Power BI - Without Auto-ordering
似乎 PowerBI
正在自动订购我的 table
,我不知道为什么。所以,我有这个 table(我从 Excel
文件导出的)
Colonne 1
7
25
1
8
3
每当我做一个New Mesure
,用这个公式:
Mesure = FIRSTNONBLANK(Feuil1[Colonne 1];0)
它给了我号码1
。如果我 LASTNONBLANK
,它 returns 我的号码 25
。所以它清楚地自动排序我的数据集,但每当我查看软件的“数据”选项卡时,我都会看到我的数据按照我希望的方式排序。
知道如何保持默认顺序吗?
不幸的是,这正是 FIRSTNONBLANK()
和 LASTNONBLANK()
的行为。他们 iterate the values of a column based on their native sort order (i.e. data type). 因此, FIRSTNONBLANK
将 return 最小的数字 1
和 LASTNONBLANK
最大的数字 25
。通常,在使用 DAX 时,您不能对 table 或列中值的排序顺序做出假设。
因此,我的建议是您可以显式编写逻辑来找到目标值。假设 table 是根据日期排序的,您可以找到 earliest/latest 日期的键(根据您的用例),然后使用该键查找值。
Target =
VAR TargetKey =
CALCULATE(
VALUES(Table1[Key]),
FILTER(
Table1,
Table1[Date] = MIN(Table1[Date]) // or MAX(Table1[Date])
)
)
RETURN
LOOKUPVALUE(Table1[Colonne 1], Table1[Key], TargetKey)
似乎 PowerBI
正在自动订购我的 table
,我不知道为什么。所以,我有这个 table(我从 Excel
文件导出的)
Colonne 1
7
25
1
8
3
每当我做一个New Mesure
,用这个公式:
Mesure = FIRSTNONBLANK(Feuil1[Colonne 1];0)
它给了我号码1
。如果我 LASTNONBLANK
,它 returns 我的号码 25
。所以它清楚地自动排序我的数据集,但每当我查看软件的“数据”选项卡时,我都会看到我的数据按照我希望的方式排序。
知道如何保持默认顺序吗?
不幸的是,这正是 FIRSTNONBLANK()
和 LASTNONBLANK()
的行为。他们 iterate the values of a column based on their native sort order (i.e. data type). 因此, FIRSTNONBLANK
将 return 最小的数字 1
和 LASTNONBLANK
最大的数字 25
。通常,在使用 DAX 时,您不能对 table 或列中值的排序顺序做出假设。
因此,我的建议是您可以显式编写逻辑来找到目标值。假设 table 是根据日期排序的,您可以找到 earliest/latest 日期的键(根据您的用例),然后使用该键查找值。
Target =
VAR TargetKey =
CALCULATE(
VALUES(Table1[Key]),
FILTER(
Table1,
Table1[Date] = MIN(Table1[Date]) // or MAX(Table1[Date])
)
)
RETURN
LOOKUPVALUE(Table1[Colonne 1], Table1[Key], TargetKey)