如何将排序表中的第一个值获取到度量中?

Tri*_*cia 1 dax powerquery powerbi

我有一个包含 2 列 RANK 和 VALUE 的 DAX 表。我需要一个度量来返回 RANK 最低的行的 VALUE。

解决方案需要高效,因为表有数千万行,并且列 VALUE 中的值不同。

我尝试过使用 TOPN,但这返回一个表,而不是单个值。我尝试过使用 MIN,但这会返回最低的 VALUE,而不是具有最低 RANK 的 VALUE 我无法使用 LOOKUPVALUE 因为在我的实际示例中,该表的列数比这 2 列多得多,其中一些列将具有过滤器由客户端应用程序应用于它们,显然我在设计时不知道这些过滤器。

VALUE        RANK     MANY_MORE_COLUMNS ...
100          1        ...
200          2        ...
50           3        ...
Run Code Online (Sandbox Code Playgroud)

在本例中,我需要返回值 100,因为最低 RANK 是 1。

Mar*_*Vos 6

尝试这个:

Measure =
CALCULATE (
    MAX ( Table[VALUE] ),
    FILTER ( Table, Table[RANK] = MIN ( Table[RANK] ) )
)
Run Code Online (Sandbox Code Playgroud)

FILTER 函数将“表”过滤到具有最低 RANK 的行。然后 MAX(Table[VALUE]) 返回该行中的 VALUE。尽管只有一行,但您需要在此处使用一个返回标量值(本例中为 MAX)的函数。CALCULATE 函数需要一个标量值作为此处的参数。