MS PowerPivot基于选择项的动态筛选列表实现咨询
实现方案(无需存储过程,原生DAX即可完成)
你要的动态级联筛选效果在PowerPivot中可以直接通过自带的DAX功能实现,完全不需要调用存储过程,操作成本更低,数据查询效率也更高。
前置准备
确认你的PowerPivot数据模型中已经正确导入包含ChartType和Size两列的源表,不需要额外做跨表关联。
操作步骤
- 第一步:新建独立的Size维度表作为动态筛选的选项源,直接用DAX计算表生成即可,公式如下:
生成的这张表不需要和原表建立关联关系。可用Size维度 = DISTINCT('源表'[Size]) - 第二步:编写筛选控制度量值,用来判断当前上下文中的Size是否属于选中ChartType对应的取值范围:
Size筛选控制 = VAR 选中的ChartType = VALUES('源表'[ChartType]) VAR 关联Size集合 = CALCULATETABLE(VALUES('源表'[Size]), ALLSELECTED('源表')) RETURN IF(SELECTEDVALUE('可用Size维度'[Size]) IN 关联Size集合, 1, 0) - 第三步:配置两个交互切片器
- 第一个切片器绑定源表的
ChartType字段,供用户选择图表类型 - 第二个切片器绑定刚才新建的
可用Size维度的Size字段,打开该切片器的「筛选器」面板,添加刚才编写的Size筛选控制度量值作为筛选条件,设置规则为「值等于1」即可。
- 第一个切片器绑定源表的
效果验证
配置完成后选中ChartType为Shipments时,Size切片器会自动过滤仅显示1, 4, 6, 7;选中Retails时自动显示2, 3, 5, 8,完全符合你要的动态适配需求。
内容的提问来源于stack exchange,提问作者A B
相关产品推荐
相关产品推荐

