我在 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/