如何在表格DAX中使用逗号分隔的变量进行过滤

时间:2018-10-23 10:06:29

标签: dax tabular

因此,基本上我的问题是我想与现任办公室筛选可能拥有多个现任办公室的人。我将当前办公室的ID作为逗号分隔的值传递给变量,然后需要这些值进行过滤。

在这里,我发布了一个示例,当我只有一个CurrentOfficeId时,如果我有多个CurrentOfficeId,该怎么办?

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] = ?????)
)

1 个答案:

答案 0 :(得分:0)

这并非您所要求的,但可以满足您的目的。

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

DEFINE 
    VAR CurrentOfficeIds = {2,3,4}

EVALUATE
SUMMARIZECOLUMNS(
    'Person'[CurrentOfficeId],
    'Person'[Current Office Name],
    'Person'[Display Name],
    FILTER ('Person',[CurrentOfficeId] IN CurrentOfficeIds)
)

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

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