SSRS Report Builder 3.0 - 每个系列的平均带状线

SSRS Report Builder 3.0 - Average StripLine per serie

我有一个 运行 图表,其中 X 轴是时间(分为 13 个周期,有点像月份,但日期是随机的),Y 轴是入学人数,我的小组系列是财政年度。我需要一次显示 2 年,这意味着我的图表上显示了 2 个系列,每年有 13 个周期。

目标: 为每一年创建一个 "avg number of admissions" 行。

当前结果:

我进入了 Y 轴带状线属性,创建了 2 条带状线,在 "IntervalOffset" 中我写了以下内容,但它仍然为我提供了一条带状线,它具有两年(一起)的平均值,而不是 2 条不同的带状线每条带状线都有当年的平均值。

=IIF(Fields!Year.Value=2013, Avg(Fields!Admissions.Value), Nothing)

=IIF(Fields!Year.Value=2015, Avg(Fields!Admissions.Value), Nothing)

我当前的图表如下所示:

注意: 正如您在旁边的 table 中看到的平均值,我的图表带状线只是对所有可用值求平均值,所以取而代之Stripline1 在 91.23 和 Stripline2 在 81.85,我只有 1 条 Stripline 显示类似 +/-87

我的数据集如下所示:

Year |  Period   |   Admissions

2015 |   01      |    35

2015 |   02      |    50

[...]

2015 |   12      |    43

2015 |   13      |    64

2013 |   01      |    61

2013 |   02      |    52

[...]

2013 |   12      |    45

2013 |   13      |    42

有什么想法吗?

P.S。我唯一的其他选择(我能想到的)是创建 2 个单独的数据集,根据需要在每个数据集上放置过滤器,然后使用 LookUp 将其插入带状线?但在我看来,这有点矫枉过正。必须有一些更简单的东西=/

谢谢!

尝试在折线图的 Values 窗格中添加两个额外的表达式。

2013年平均值:

=AVG(
IIF(Fields!Year.Value=2013,Fields!Admissions.Value,Nothing)
,"DataSetName")

2015年平均值:

=AVG(
IIF(Fields!Year.Value=2015,Fields!Admissions.Value,Nothing)
,"DataSetName")

DataSetName 替换为您的数据集的实际名称。

另一种选择是将数据集中的平均值计算为新列,然后将其添加为新系列。

类似于

SELECT [Year], [Period], [Admissions],
    AVG([Admissions]) OVER(PARTITION BY [Year]) AS [Avg]
  FROM [MyTable]

会给出这样的东西。

2015 | 01 | 35 | 48
2015 | 02 | 50 | 48
[...]
2015 | 12 | 43 | 48
2015 | 13 | 64 | 48
2013 | 01 | 61 | 50
2013 | 02 | 52 | 50
[...]
2013 | 12 | 45 | 50
2013 | 13 | 42 | 50