首页 > 解决方案 > 如何在 SSRS 报告中设置动态轴单位?

问题描述

我有一个包含以下格式数据的数据集:您在右侧看到的图表是 SSRS 报告中使用的折线图。这是您在下面看到的示例数据。SSRS 报告中的图表包含月数据(与此处的日数据相反)我需要动态设置轴(Y 轴数字),以便当数字更改时,所述图表也会更新,而无需手动更新 Y 轴.

我知道我可以设置折线图的垂直轴属性,然后转到“最小值”并编写一个表达式以最小化一列,但我不确定如何处理 3 列的 MIN 函数(即 5 年以下,5- 10 年和 10 年以上)

TL;DR:我需要更改垂直轴以使最后 3 列组合的 MIN -5 值(在下图中)和这些列的 MAX +5 值再次结合。因此 MIN 应为 -5(即 0-5),MAX 应为 48(43+5)

样本数据集

在此处输入图像描述

标签: reporting-servicesssrs-2008ssrs-2012ssrs-2008-r2ssrs-tablix

解决方案


我假设将 Y 轴最小值和最大值设置为 Auto 不适合您的情况,无论出于何种原因?

可能有更好的方法来做到这一点,但这是我的想法......

=
IIF(
    IIF(
        MIN(Fields!ColA.Value) < MIN(Fields!ColB.Value),
        MIN(Fields!ColA.Value), 
        MIN(Fields!ColB.Value)
       )
       < MIN(Fields!ColC.Value),
         IIF(
            MIN(Fields!ColA.Value) < MIN(Fields!ColB.Value), MIN(Fields!ColA.Value), 
            MIN(Fields!ColB.Value)
            )
       , MIN(Fields!ColC.Value)
   ) -5

和...

=
IIF(
    IIF(
        MAX(Fields!ColA.Value) > MAX(Fields!ColB.Value),
        MAX(Fields!ColA.Value), 
        MAX(Fields!ColB.Value)
       )
       > MAX(Fields!ColC.Value),
         IIF(
            MAX(Fields!ColA.Value) > MAX(Fields!ColB.Value), MAX(Fields!ColA.Value), 
            MAX(Fields!ColB.Value)
            )
       , MAX(Fields!ColC.Value)
   ) +5

推荐阅读