如何在Power BI分组柱形图中展示DAX度量生成的时长总数值
问题根因
你当前的PromedioHoraPlanta度量使用了FORMAT函数和字符串拼接,返回结果为文本类型,Power BI柱形图的「值」区域仅支持数值型字段,因此拖放时会自动跳转至工具提示区域。
解决方案
步骤1:编写数值型时长度量
直接返回小数格式的时长(单位:小时),不要提前做字符串格式化:
平均时长 = AVERAGE(Table1[t_TOTAL_SALIDA_seg]) / 3600
如果你需要不受X轴分类筛选的全局总计值,额外写一个移除筛选上下文的度量:
全局平均总时长 = CALCULATE( AVERAGE(Table1[t_TOTAL_SALIDA_seg]) / 3600, ALLSELECTED(Table1[你当前柱形图X轴绑定的分类列]) )
步骤2:自定义度量显示格式
选中上面写好的度量,在顶部菜单栏「度量工具」的格式输入框中,填写自定义格式:[h]:mm。
说明:
[h]表示显示累计的小时数,不会把超过24小时的部分自动转换为天数,符合你要的时长展示需求。
步骤3:绑定到柱形图
将平均时长和全局平均总时长两个度量都拖到柱形图的「值」区域,就能得到你要的分组柱形效果,柱子高度按实际时长比例展示,数据标签自动显示为X:XX的格式。
常见问题说明
- 之前写的
NewMeasure结果不准的原因:用小时*100+分钟的方式得到的不是连续的时长数值,比如1小时59分计算结果为159,2小时0分计算结果为200,数值差41但实际时长仅差1分钟,数值逻辑本身不符合时长统计规则,自然和真实总计对不上。 - 不需要使用
SUMMARIZE创建计算表或转换为计算列:度量本身就能被柱形图的「值」区域识别,只要返回值是数值类型即可,计算列反而会受行上下文影响,聚合时容易出现逻辑错误。
内容的提问来源于stack exchange,提问作者user15500092
相关产品推荐
相关产品推荐

