Power BI:计算处方占比时忽略视觉筛选的实现难题
解决方案:计算医生跨药房的处方占比
要实现需求,关键是在计算医生总处方数时忽略当前的药房筛选上下文,同时保留医生维度的筛选。用以下三个DAX度量值即可实现:
- 计算当前选中药房下,对应医生的处方数量:
医生当前药房处方数 = COUNT('处方表'[处方ID])
(如果你的数据是用数值字段记录处方数,也可以用SUM('处方表'[处方数量])替代COUNT)
- 计算该医生在所有药房的总处方数(清除药房维度的筛选):
医生总处方数 = CALCULATE(COUNT('处方表'[处方ID]), ALL('药房表'[药房名称]))
这里ALL('药房表'[药房名称])的作用是移除当前对药房名称的筛选,确保统计的是该医生在所有药房的总处方量,而不是仅当前选中的药房。
- 计算目标占比(用DIVIDE避免除零错误):
医生处方占比 = DIVIDE([医生当前药房处方数], [医生总处方数], 0)
将第三个度量值拖入Chart B即可:当在Chart A中选中药房C时,Chart B会展示每位医生发送至药房C的处方数,占该医生所有处方总数的比例,比如医生A的250张/2000张=12.5%。
如果之前用CALCULATE没成功,大概率是ALL的参数有误——比如误写为ALL('药房表')会清除整个药房表的上下文,或者没有精准指定清除药房名称的筛选,导致医生的上下文也被干扰。
内容的提问来源于stack exchange,提问作者Zac Zwickel
相关产品推荐
相关产品推荐

