在没有PIVOT的情况下在SSRS折线图中切换系列和类别

时间:2018-02-19 16:33:18

标签: reporting-services ssrs-2016

我在Excel中有一个数据表,它显示了4年期间的百分比变化,并生成了一个简单的线条图,而且操作极少。

然而,在SSRS中重现这一点更是一个问题。

我已经将表重新创建为SSRS 2016中的数据集,其中包含一些SUM聚合和一些UNION来获取表。但是,我似乎只能生成以下折线图:

SSRS Line Chart

我需要系列展示3个部门和x轴,以显示2014年,2015年,2016年和2017年。

有没有办法在SSRS中执行此操作,而不必在数据集中隐藏数据?图表属性中没有多少切换工具似乎可以解决问题。

非常感谢 PG

1 个答案:

答案 0 :(得分:1)

如果您的数据集看起来像截图顶部的表格,那么这将使生活变得困难。你说你做了一些工会和聚合来达到这个目的,所以你现在可能做得太多了。

您需要传递给SSRS的是一个简单的值列表。我重新创建(或多或少)您的数据集,但作为一个简单的规范化表。您可以像这样逐步重现。

  • 制作新报告。
  • 添加新数据源(指向任何我们不会获得真实数据的内容)
  • 添加新数据集并使用以下查询来模拟您的数据

...

DECLARE @t TABLE(Dept varchar(10), Yr int, Amount int)

INSERT INTO @t VALUES
('Dept. A', 2014, 42),
('Dept. A', 2015, 49),
('Dept. A', 2016, 40),
('Dept. A', 2017, 47),
('Dept. B', 2014, 33),
('Dept. B', 2015, 32),
('Dept. B', 2016, 33),
('Dept. B', 2017, 34),
('Dept. C', 2014, 30),
('Dept. C', 2015, 32),
('Dept. C', 2016, 34),
('Dept. C', 2017, 36)

SELECT * FROM @t

数据集将返回一个简单的表,作为三列,Dept; YR;量

  • 在报告上插入新折线图
  • 单击图表区域以查看“图表数据”对话框
  • Amount字段拖到“值”
  • Yr字段拖至Category Groups
  • Dept拖到Series Groups

就是这样,完成了!图表看起来像这样(我加粗了行并添加了标记以便澄清)

enter image description here

在我的示例中,我还添加了一个矩阵来复制截图中的表格。如果你需要这样做那么......

  • 在报告中插入矩阵
  • Dept拖到Rows
  • Yr拖到Columns
  • Amount拖到Data

最终设计看起来像这样。 enter image description here

最终输出如下所示。

enter image description here

请注意,即使您的数据集中每个部门和每年都有大量数据,此过程也会有效,SSRS会为您聚合,因此您不需要在数据集中进行简单的聚合(尽管它可以表现更好)当你这样做时)