使用 DirectQuery Power BI 时替换计算列中的 MAXX



我有一个度量值,它从名为 Message 的列中检索最新的捆绑字符串。

该度量值的工作原理是从 SessionEvents 中获取第一行,然后使用 MAXX 从该行中检索消息。

lastBundle = 
VAR SINGLE_ROW = TOPN(1,, FILTER(SessionEvents, SessionEvents[StatusId]=4),
SessionEvents[DateTime],DESC)
return MAXX(SINGLE_ROW, [Message])

我想在计算列中使用此度量值,但不允许将 MAXX 作为计算列的一部分。

我应该如何更改此计算以在计算列中工作。

你可以使用SELECTCOLUMNS而不是MAXX,如本相关问答中所述:

返回按另一列排序的顶值

lastBundle =
SELECTCOLUMNS (
TOPN (
1,
FILTER ( SessionEvents, SessionEvents[StatusId] = 4 ),
SessionEvents[DateTime], DESC
),
"Message", SessionEvents[Message]
)

但是我看不出MAXX也不应该工作的任何理由,除了您的TOPN函数有一个额外的逗号。


编辑:如果您使用DirectQuery,我认为您根本无法做到这一点。从Microsoft的文档中:

计算列

中的限制:计算列仅限于行内,例如,它们只能引用同一表的其他列的值,而不使用任何聚合函数。[...]为计算列创作 DAX 时,不支持的函数将不会在自动完成中列出,如果使用,则会导致错误。

最新更新