Power BI:将度量值作为条形图X轴并实现对应切片器的方法咨询
解决方案
要实现将度量值Epic_Touched作为条形图轴、统计出现次数并支持切片筛选,核心是创建独立的辅助维度表来承载该度量值的可能取值,再通过DAX关联计算统计数,具体步骤如下:
1. 创建Epic_Touched辅助维度表
根据你的数据情况选择两种方式之一:
方式一:生成连续数值范围(适合整数取值)
如果Epic_Touched的取值是整数且范围明确,用GENERATESERIES生成固定范围的维度表:
Epic_Touched_Dim = GENERATESERIES(0, 20, 1) // 0为最小值,20为最大值,1为步长,可根据实际调整
此表无需与任何其他表建立关系,保持独立。
方式二:提取实际存在的取值(适合非整数/分散取值)
如果Epic_Touched有小数或取值不连续,从原表提取所有实际出现的度量值:
Epic_Touched_Dim = SUMMARIZE( ADDCOLUMNS( DISTINCT(Sprint_epic_init_sub_init[SPRINT_ID]), "Touched_Value", [Epic_Touched] ), [Touched_Value] )
同样,此表保持独立,不关联其他表。
2. 创建统计出现次数的度量值
新建度量值,用于计算每个辅助维度值对应的Sprint数量(即Epic_Touched的出现次数):
Epic_Touched_Count = VAR Selected_Touched_Value = SELECTEDVALUE(Epic_Touched_Dim[Value]) // 若用方式二,字段名改为[Touched_Value] RETURN CALCULATE( DISTINCTCOUNTNOBLANK(Sprint_epic_init_sub_init[SPRINT_ID]), FILTER( ALLSELECTED(Sprint_epic_init_sub_init), [Epic_Touched] = Selected_Touched_Value ) )
ALLSELECTED会保留外部筛选(如日期筛选),确保统计结果随日期等条件动态变化- 筛选逻辑是找出所有
Epic_Touched等于辅助表选中值的Sprint,统计其数量
3. 配置可视化与切片器
- 条形图:X轴选择
Epic_Touched_Dim[Value](或方式二的[Touched_Value]),Y轴选择新度量值Epic_Touched_Count - 切片器:选择
Epic_Touched_Dim[Value](或[Touched_Value]),即可通过切片器筛选特定Epic_Touched值的数据
关键说明
- 辅助维度表的作用是提供固定的筛选和轴字段,解决度量值无法直接作为切片/轴的问题
- 日期筛选会通过
ALLSELECTED自动作用于统计逻辑,确保结果随日期范围动态更新
内容的提问来源于stack exchange,提问作者Prem Chand
相关产品推荐
相关产品推荐

