如何在表格 DAX 中使用逗号分隔变量进行筛选



所以基本上我的问题是关于我试图用当前办公室过滤一个可能有多个当前办公室的人。我正在将当前办公室的 ID 作为变量中的逗号分隔值传递,然后我需要这些值进行过滤。

在这里,我发布了一个示例,当我只有一个当前OfficeId时,但是如果我有多个呢?

DEFINE 
VAR CurrentOfficeIds = "2"
EVALUATE
SUMMARIZECOLUMNS(
'Person'[CurrentOfficeId],
'Person'[Current Office Name],
'Person'[Display Name],
FILTER ('Person',[CurrentOfficeId] = VALUE(CurrentOfficeIds))
)

多个办公室 ID

DEFINE 
VAR CurrentOfficeIds = "2,3,4"
EVALUATE
SUMMARIZECOLUMNS(
'Person'[CurrentOfficeId],
'Person'[Current Office Name],
'Person'[Display Name],
FILTER ('Person',[CurrentOfficeId] = ?????)
)

这不是您所要求的,但可能适用于您的目的。

您可以将变量定义为逗号分隔的列表,然后将其传入。

DEFINE 
VAR CurrentOfficeIds = {2,3,4}
EVALUATE
SUMMARIZECOLUMNS(
'Person'[CurrentOfficeId],
'Person'[Current Office Name],
'Person'[Display Name],
FILTER ('Person',[CurrentOfficeId] IN CurrentOfficeIds)
)

如果您使用的是不支持IN功能的旧版本的 DAX,则可以使用CONTAINS而不是[CurrentOfficeId] IN CurrentOfficeIds

CONTAINS(CurrentOfficeIds, [Value], [CurrentOfficeId])

最新更新