You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于SSAS的Power BI分页报表:@Color参数ALL值逻辑实现需求

SSAS分页报表@Color多选参数的"ALL"值逻辑实现

我有一个基于SSAS表格模型数据源的分页报表,包含**@Color**多选参数,需求如下:

  • 若用户选择的@Color参数包含"ALL"值,返回所有颜色的ClientSales数据集
  • 若未包含"ALL",仅返回选中颜色的数据
    (已将"ALL"值加入@Color参数可用值的ColorNames数据集中)

更新后已创建两个DAX变量:

  • _dataset0:返回选中颜色的数据(受@Color参数筛选)
  • _dataset1:返回所有颜色的数据(不受@Color参数筛选)

最终DAX查询代码

DEFINE    
    var _dataset0 = // 接收@Color多选参数的数据集
    SUMMARIZECOLUMNS(
     DimCLient[ClientName]
    ,DimGeography[CountryName]
    ,DimVehicle[Make]
    ,DimVehicle[Model]
    ,DimVehicle[Color]
    ,FILTER(VALUES(DimGeography[CountryName]), DimGeography[CountryName] = @CountryName)
    ,RSCustomDaxFilter(@Color,EqualToCondition,[DimVehicle].[Color],String)
    ,Sales, SUM(FactSales[SalePrice])
    )
    
    
    var _dataset1 = // 返回所有颜色的数据集,不受切片器选择影响
    SUMMARIZECOLUMNS(
     DimCLient[ClientName]
    ,DimGeography[CountryName]
    ,DimVehicle[Make]
    ,DimVehicle[Model]
    ,DimVehicle[Color]
    ,FILTER(VALUES(DimGeography[CountryName]), DimGeography[CountryName] = @CountryName)
    ,KEEPFILTERS (
            FILTER ( ALL ( DimVehicle[Color] ), NOT ISBLANK (  DimVehicle[Color]  ) )
        )
    ,Sales, SUM(FactSales[SalePrice])
    )
    
    
    EVALUATE
    // 根据@Color是否包含"ALL"切换数据集
    IF("ALL" IN @Color, _dataset1, _dataset0)

关键说明

  • 使用DAX的IN操作符判断@Color参数集合中是否包含"ALL"值
  • 当条件成立时返回_dataset1(全量颜色数据),否则返回_dataset0(选中颜色数据)
  • 确保"ALL"值已正确添加到@Color参数的可用值列表中,否则该逻辑无法触发

内容的提问来源于stack exchange,提问作者Vickar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 02:23:12