在报告服务 s-s-rS 中的横轴图表上格式化数字

Posted

技术标签:

【中文标题】在报告服务 s-s-rS 中的横轴图表上格式化数字【英文标题】:Formatting numbers on a graph on the horizontal axis in reporting services s-s-rS 【发布时间】:2022-01-12 02:40:38 【问题描述】:

我正在使用 Visual Studio 2019 的报告服务,我正在制作一个堆积条形图表,我需要将值格式化为百分比,实际上我已经能够做到,但我无法格式化水平轴,它向我显示了非常大的数字,我在轴属性>轴范围和间隔中进行了尝试,但是设置了一个间隔、最大值等,但没有奏效我已经失去理智了,我搜索了许多不同解决方案不起作用的站点对我来说。

我需要在水平轴上显示 0、20、40、60 等值...但是正如您所见,它们的值太大了,有什么方法可以格式化这些数字以仅显示第一个两位数之类的?由于数据不同,我无法对此进行划分,如果有人经历过同样的事情,我需要您的帮助,非常感谢。

【问题讨论】:

我建议您截取您所获得的截图,以及您想要完成的编辑截图。很难用文字清楚地描述这一点。 感谢您的建议,我编辑了帖子。 将数字除以 1000000。 您希望轴显示为百分比 (0 - 100%) 吗?如果是这样,那么我会将图表系列中的值计算为百分比,然后您可以根据需要修复轴间隔和最小值/最大值。显示一些示例数据是没有帮助的。 非常感谢您的回答,但不幸的是,它不起作用。首先,我不能乘以 1000000,因为这些值来自数据库并且会有所不同,实际上我将最小/最大值设置为 0 - 100 没有百分号,我只想在条形图中看到该符号,但是,条形图从图表中出来,我尝试格式化水平轴但它也不起作用,我尝试使用 LEFT() 但它改变了实际值。 【参考方案1】:

在水平轴属性上,您可以将属性窗格中的LabelsFormat 属性或属性弹出窗口中的Custom Format 设置为基于值的动态。

=SWITCH(MAX(Fields!DATA.Value) > 1000000, "0,,M;(0,,)M", 
        MAX(Fields!DATA.Value) > 1000, "0,K;(0,)K", 
        1 = 1, "0,;(0,)")

这将以百万为单位的值显示为 1M、2M 等,而成千上万的值将显示为 1K、2K...

表达式 (MAX(Fields!DATA.Value)) 将根据图表的数据而有所不同。

【讨论】:

非常感谢您的回答,在我看来这是一个很好的解决方案,但在我的工作中,他们要求我显示两位数(0 - 100)的值,如果达到,显然是 3 位数100,但不超过,这个想法是它等于酒吧的数量,非常好的答案,我肯定会在某些时候申请,无论如何我很感激你的回答。

以上是关于在报告服务 s-s-rS 中的横轴图表上格式化数字的主要内容,如果未能解决你的问题,请参考以下文章

如何在 s-s-rS 报告中设置动态轴单位?

s-s-rS 报告中的自定义数字格式

s-s-rS 图表报告,带有用于过滤或更改数据集的滑块

使用图表系列中的参数值在 s-s-rS 2008 中进行钻取报告?

如何在 s-s-rs 的同一页面上放置图表和表格

是否可以将 s-s-rS 报告导出到 Excel,报告的图表作为 Excel 图表而不是图像?