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
我有一个 运行 图表,其中 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