我在 SSRS 报告中有一个图表,它的 Y 轴显示了销售员的总收入。 Y 轴的单位是“百万”,它适用于总量。

然而,销售员大约有数千名,当在参数面板中选择一个特定的销售员时,他/她的销售额可能只有“百”级。因此,图表上的条形太小而无法识别。

有没有办法在运行期间动态改变Y轴单位?

最佳答案

如您所见,在图表设计器中,您可以在 中设置 显示值,但您不能将此基于表达式:

但是,如果您查看 图表轴 属性 ,您会发现这对应于 LabelsFormat 属性,其中 是基于 表达式的:

因此,当您在图表设计器中选择 Millions 时,格式表达式将类似于:

0,,;(0,,)

和数千看起来像:
0,;(0,)

基于此,您可以考虑数据使 LabelsFormat 基于表达式:
=IIf(Max(Fields!TotalSales.Value) > 100000, "0,,;(0,,)", "0,;(0,)")

相应地更新 轴标题 可能也很有用,例如:
=IIf(Max(Fields!TotalSales.Value) > 100000, "Sales (Millions)", "Sales (thousands)")

考虑一个简单的数据集和图表:



Axis 会根据基础数据进行适当更新:



您显然需要适应您的特定数据,但希望这会为您指明正确的方向。

关于reporting-services - SSRS 2008 : how to change chart axis unit dynamically?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17221460/

10-13 06:39