首页 > 解决方案 > 如何在分组柱形图中显示表格总计

问题描述

我需要在 Power BI 的分组柱形图中显示数据表底部的总计,即在表格底部找到的总计:

在此处输入图像描述

我想将其显示为值 387 旁边的分组柱形图中的值,如下所示:

在此处输入图像描述

重要的是要明确,从中获取值4:7 4:42 5:38的列是由度量组成的列,即使用 DAX 公式进行详细说明,因此我不允许将列拖到值在簇状柱形图中的部分,每次我尝试将其放在 Values 中时,它都会自动移动到 Tooltip。

在此处输入图像描述

该列PromedioHoraPlanta是对应于表中显示的总值 4:7 的列。

我希望有人指导我如何将总数放入分组柱形图中

更新:

我更详细地解释一下我用来计算PromedioHoraPlanta列的内容,即对应于 的值的列7:28 5:56 5:21 8:55 9:49 3:45是由具有以下公式 DAX 的度量制成的:

= FORMAT(AVERAGE(Table1[t_TOTAL_SALIDA_seg])/3600 , "##") & ":" & FORMAT(MOD(AVERAGE(Table1[t_TOTAL_SALIDA_seg]),60), "##" )

t_TOTAL_SALIDA_seg在上述 DAX 公式中,我用来计算新度量的列的数据类型是整数

在此处输入图像描述

更新 2:

在将持续时间转换为数值之前,显然不可能对此要求进行更多研究。

由于时间和持续时间数据就像日期和文本一样,因此我只能将它们放在 x 轴上,而不是放在条形图的 Values 中,因为它们被认为是分类数据,无论它们是否在就我而言,折线图、图表柱或条形图。

此外,如果您在我在问题开头添加的第一个屏幕截图中观察到,值 4:7 并不是该列的总和,这是由于格式隐藏了部分天数。

更新 3:

此要求主要源于在 SSRS 中制作的报告,在其条形图中,它显示了下表中表示的总数,我明确表示以下图像来自报告,但在 SSRS 中制作。

在此处输入图像描述

在此处输入图像描述

这就是为什么我试图在 Power BI 中表示相同的条形图,试图将表格的 Total 显示为条形图中的值。

更新 4:

经过一个周末的大量研究,我决定选择以下措施:

NewMeasure = VAR _AVG = AVERAGE(Consulta1[t_TOTAL_SALIDA_seg]) VAR _LeftPart = DIVIDE(_AVG, 3600) VAR _RightPart = MOD(_AVG,60) RETURN _LeftPart * 100 + _RightPart

我试图选择这个度量,但我没有得到确切的结果,它接近每列的总数,但它不是表中显示的确切结果。

下图是表格底部显示的总数:

在此处输入图像描述

下图是条形图中显示的数值:

在此处输入图像描述

如您所见,您的结果很接近但不准确,此外我仍然无法将其与字符分开:,我想知道是否有一些应该更改的内容,因为我已经创建了以显示其确切结果,我认为这是最接近我所获得的结果,但不幸的是这不是确切的结果。

更新 5:

我继续研究如何在条形图中获取总数我认为我需要创建一个聚合计算表Summarize 函数并将我的度量重新创建为计算列,以便我可以将其用作柱形图中的值.

我不确定柱形图是否会处理显示您的比率值 - 我认为它们会被解释为文本,当您将它们添加到视觉对象时,默认使用计数聚合。您可能需要将它们转换为百分比或小数。

对此有何建议?你认为这就是我能得到它的方式吗?

标签: powerbi

解决方案


您面临的部分挑战是您需要绘制一个数字并使用不同的字段作为标签。Microsoft 图表并不总是那么灵活。Charticulator 是一个很好的工具,可以按照您想要的方式自定义图表。将 Charticulator 添加为自定义视觉对象并按照此演练在 Power BI Desktop 中编辑该视觉对象:https ://blog.enterprisedna.co/create-a-bar-chart-visualization-with-charticulator/

对于字段,这是我使用的:

Plant name (text)
Duration (Whole number, in minutes)
Average duration (Decimal number) = AVERAGE('Table'[Duration])  
Average duration time (Time value, formatted as h:nn)= TIME(ROUNDDOWN([Average duration]/60,0),MOD([Average duration],60),0)   
Average duration label (Text) = FORMAT([Average duration time],"h:nn") 

然后我只将 、 和 字段传递PlantAverage durationCharticulator Average duration label

按照演练。忽略有关访问 charticulator.com 的部分。只需在 Power BI 中执行此操作并将字段传递给视觉对象,然后单击视觉对象中的编辑按钮以启动 Charticulator。

演练做了水平条,所以我忽略了关于Stack Y的部分,你会加上Average duration字形的高度。我还想要轴上的植物名称,所以我跳过了切换可见框的部分。如果您将文本锚定在字形顶部,然后调整设置,它可以位于栏的正上方。在演练将文本设置为Assignee的地方,您将使用Average duration label.

Charticulator 中的持续时间图表

该演练不做分组条形图,但 Charticulator 也可以做到这一点。


推荐阅读