在报告服务 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 中的横轴图表上格式化数字的主要内容,如果未能解决你的问题,请参考以下文章