咨询:Power BI中多度量值场景下如何减少钻取页面数量?
减少Power BI钻取页面数量的方案
核心思路是通过识别钻取上下文+共享通用钻取页面,把14个页面压缩到2个甚至1个,具体实现步骤如下:
第一步:创建上下文识别度量值
先写一个DAX度量值,用来判断触发钻取的是周度还是月度度量值(前提是你的度量值命名有统一规则,比如周度量值带"Weekly",月度带"Month to Date"):钻取上下文类型 = VAR 当前触发度量值 = SELECTEDMEASURENAME() RETURN IF( CONTAINSSTRING(当前触发度量值, "Weekly"), "周度", CONTAINSSTRING(当前触发度量值, "Month to Date"), "月度", "未知" )如果命名没有规则,也可以给每个度量值添加统一的描述标签,再用
SELECTEDMEASUREDESCRIPTION()来识别。第二步:构建2个通用钻取页面
不需要为每个度量值单独建页面,只需要做两个通用页:- 周度通用钻取页:页面内的视觉对象基于「选中周」的上下文筛选数据,用CALCULATE关联周维度即可,比如:
周度钻取详情 = CALCULATE([基础度量值], DATESINPERIOD('日期表'[日期], MAX('日期表'[日期]), -7, DAY)) - 月度通用钻取页:页面内的视觉对象基于「选中周所在月份的累计」上下文,比如:
月度钻取详情 = CALCULATE([基础度量值], DATESMTD('日期表'[日期]))
- 周度通用钻取页:页面内的视觉对象基于「选中周」的上下文筛选数据,用CALCULATE关联周维度即可,比如:
第三步:批量绑定钻取目标
回到主页面的表格:- 选中所有7个Weekly度量值,统一设置钻取目标为「周度通用钻取页」;
- 选中所有7个Month to Date度量值,统一设置钻取目标为「月度通用钻取页」。
这样不管点击哪个周度量值,都会进入同一个周度钻取页,上下文会自动传递选中的周参数,页面会展示对应周的正确数据;月度同理。
进阶:压缩到1个通用钻取页
如果想进一步简化到1个页面,可以在钻取页里用上下文类型控制内容切换:- 添加一个隐藏的卡片视觉对象,显示「钻取上下文类型」;
- 写一个动态切换的度量值:
动态钻取数据 = SWITCH( [钻取上下文类型], "周度", CALCULATE(SELECTEDMEASURE(), DATESINPERIOD('日期表'[日期], MAX('日期表'[日期]), -7, DAY)), "月度", CALCULATE(SELECTEDMEASURE(), DATESMTD('日期表'[日期])), BLANK() ) - 配合书签或条件格式,让页面上的图表、表格根据上下文类型自动切换显示模式(比如周度时显示每日明细,月度时显示累计趋势)。
内容的提问来源于stack exchange,提问作者James Khan
相关产品推荐
相关产品推荐

