如何在 Power BI 分页报表的 DAX 表达式中使用多个筛选器和参数

问题描述 投票:0回答:1

我有以下要求:

设计托管在 Power BI 中的 .rdl 报表(多页)。该报告必须启用多个交互式过滤器,用户可以选择这些过滤器来仅过滤掉所需的信息。

我能够使用以下 DAX 表达式实现一个过滤器:

DEFINE VAR __DS0Core = 
    FILTER( SUMMARIZE(
        'User List',
        'User List'[Description],
        'User List'[Email],
        'User List'[FacilityName],
        'User List'[FirstName],
        'User List'[LastName],
        'User List'[SiteName],
        'User List'[Username],
        'User List'[LastLogin]
     ),
        PATHCONTAINS(@Program, 'User List'[Description])
    )

EVALUATE
    __DS0Core

ORDER BY
    'User List'[Description],
    'User List'[Email],
    'User List'[FacilityName],
    'User List'[FirstName],
    'User List'[LastName],
    'User List'[SiteName],
    'User List'[Username],
    'User List'[LastLogin]

其中@Program是报告上定义的参数

我现在陷入困境,因为 PATHCONTAINS 似乎只需要一个参数。我需要再实现 3 个过滤器:FacilityName、SiteName 和 LastLogin

我两天前刚刚开始学习 DAX,似乎我的 t-SQL 经验不容易转移到 DAX。任何帮助将不胜感激。

dax powerbi-desktop powerbi-embedded reportbuilder rdl
1个回答
0
投票

DAX 揭秘。 ;) 我使用 && 来提供多个路径条件。

DEFINE VAR __DS0Core = 
    FILTER( SUMMARIZE(
        'User List',
        'User List'[Description],
        'User List'[Email],
        'User List'[FacilityName],
        'User List'[FirstName],
        'User List'[LastName],
        'User List'[SiteName],
        'User List'[Username],
        'User List'[LastLogin]
     ),
   (PATHCONTAINS(@Program, 'User List'[Description])) && 
   (PATHCONTAINS(@FacilityName, 'User List'[FacilityName])) &&
   (PATHCONTAINS(@SiteName, 'User List'[SiteName])) &&
   (PATHCONTAINS(@LastLogin, 'User List'[LastLogin]))
    )

EVALUATE
    __DS0Core

ORDER BY
    'User List'[Description],
    'User List'[Email],
    'User List'[FacilityName],
    'User List'[FirstName],
    'User List'[LastName],
    'User List'[SiteName],
    'User List'[Username],
    'User List'[LastLogin] 

© www.soinside.com 2019 - 2024. All rights reserved.