Power BI:创建基于X轴的动态度量,适配多特征列得分分析
通用动态度量实现方案
实现代码
创建如下DAX度量值,它会自动识别当前图表X轴选中的特征列,动态计算对应分组的得分总和:
Dynamic_Score_Total = SWITCH( TRUE(), ISINSCOPE(mytable[Gender]), SUMX(VALUES(mytable[Gender]), SUM(mytable[score])), ISINSCOPE(mytable[Age]), SUMX(VALUES(mytable[Age]), SUM(mytable[score])), ISINSCOPE(mytable[Region]), SUMX(VALUES(mytable[Region]), SUM(mytable[score])), // 按此格式添加所有20余个特征列的判断 SUM(mytable[score]) // 无特征列选中时返回整体总分 )
使用步骤
- 将该度量值导入Power BI模型
- 制作图表时,把任意特征列拖入X轴,将
Dynamic_Score_Total拖入值区域 - 图表会自动适配X轴的特征列,输出对应分组的得分总和
补充说明
- 原公式
gender_total=calculate(sumx(values(mytable[Gender]),mytable[score]))可简化为SUMX(VALUES(mytable[Gender]), SUM(mytable[score])),CALCULATE在此场景下无额外作用 - 若特征列数量极多,逐个添加
ISINSCOPE判断繁琐,可考虑重构数据模型:将所有特征列整合为一个维度表(包含"特征类型"和"特征值"两列),关联原表后用更简洁的DAX实现动态计算,但此方法需要调整现有数据结构
内容的提问来源于stack exchange,提问作者KatyLearnR
相关产品推荐
相关产品推荐

