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

时间:2019-09-13 11:37:45

标签: powerbi dax

我有一种措施可以从名为“消息”的列中检索最新的捆绑包字符串。

该措施通过从SessionEvents中获取第一行并使用MAXX从该行中检索消息来工作。

Take

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

我应该如何更改此计算才能在计算列中使用。

1 个答案:

答案 0 :(得分:0)

您可以使用SELECTCOLUMNS代替MAXX,如本相关问答中所述:

Return top value ordered by another column

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

但是我看不出MAXX也不能正常工作的任何原因,除了您的TOPN函数还有一个逗号之外。


编辑:如果您使用DirectQuery,我认为您根本无法做到这一点。来自Microsoft's documentation:

  

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