Reporting services SSRS 2008:如何动态更改图表轴单位?

Reporting services SSRS 2008:如何动态更改图表轴单位?,reporting-services,ssrs-2008,scale,axis-labels,Reporting Services,Ssrs 2008,Scale,Axis Labels,我在SSRS报告中有一个图表,它的Y轴显示了销售人员的总收入。Y轴的单位是“百万”,它的总数量非常理想 然而,大约有数千名销售人员,当在参数面板中选择一名特定销售人员时,其销售金额可能仅处于“百”级。因此,图表上的条形图太小,无法识别 有没有办法在运行期间动态更改Y轴单位 如您所见,在图表设计器中,您可以在中设置显示值,但不能基于以下表达式: 但是,如果查看图表轴的属性,可以发现这与标签格式属性相对应,该标签格式是基于表达式的: 因此,当您在图表设计器中选择“百万”时,格式表达式将如下所示:

我在SSRS报告中有一个图表,它的Y轴显示了销售人员的总收入。Y轴的单位是“百万”,它的总数量非常理想

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


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

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

但是,如果查看图表轴的属性,可以发现这与标签格式属性相对应,该标签格式是基于表达式的:

因此,当您在图表设计器中选择“百万”时,格式表达式将如下所示:

0,,;(0,,)
0,;(0,)
=IIf(Max(Fields!TotalSales.Value) > 100000, "Sales (Millions)", "Sales (thousands)")
成千上万的人看起来像:

0,,;(0,,)
0,;(0,)
=IIf(Max(Fields!TotalSales.Value) > 100000, "Sales (Millions)", "Sales (thousands)")
基于此,您可以在考虑以下数据的情况下,使标签格式基于表达式:

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

0,,;(0,,)
0,;(0,)
=IIf(Max(Fields!TotalSales.Value) > 100000, "Sales (Millions)", "Sales (thousands)")
考虑一个简单的数据集和图表:

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


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

您的最佳选择是根据百分比计算最大值,并根据最大值的百分比计算值。y轴最大值可以移动,最大值的百分比可以每行移动。