如何根据条件在SSRS表中添加列

时间:2014-04-23 15:10:31

标签: sql sql-server reporting-services ssrs-2008

我正在尝试创建一个SSRS报告,其中包含一个表,用于列出从查询中提取的一些数据。 SSRS中的当前表格如下所示:

LAST NAME     FIRST NAME   TITLE    START          END
morrow        diane        pcp      12/15/2009     1/15/2011
morrow        diane        pcp      5/15/2011      6/12/2013
morrow        diane        pcp      7/9/2013       12/11/2014
doe           jane         obgyn    10/12/2013     9/12/2014
ainswor       michael      opt      3/14/2008      4/23/2011
ainswor       michael      opt      6/6/2012       9/2/2014

我的SQL查询只获取每条记录并将其添加为一行。

我想要做的是,在我的SSRS表中,我想使用一个函数并根据每个记录出现的次数展开START和END列,例如,我想修改我的SSRS要显示的表格如下:

LAST NAME     FIRST NAME   TITLE    START          END           START       END         START       END
morrow        diane        pcp      12/15/2009     1/15/2011     5/15/2011   6/12/2013    7/9/2013    12/11/2014
doe           jane         obgyn    10/12/2013     9/12/2014
ainswor       michael      opt      3/14/2008      4/23/2011     6/6/2012    9/2/2014

SSRS有可能吗?或者我是否必须修改SQL查询?

更新

到目前为止我在Matrix中的内容: enter image description here

输出是这样的: enter image description here

对于最后一个实体,有两个条目:

DateOfLastCredentialing      CredentialingExpiration
2007-12-24                   2010-12-23
2013-10-14                   2014-04-24

但是你可以看到它只显示一个。

如何修复它以显示每个实体的数量或数量?

1 个答案:

答案 0 :(得分:2)

您可以使用Matrix(一种Tablix)来完成SSRS中的动态列,但您可能需要修改查询,以便有一个方便的字段来创建列分组。如果您之前从未在SSRS中创建过矩阵,则可以考虑使用向导(Visual Studio项目=添加新报表,报表生成器=插入表向导),并将开始/结束日期分组字段放入列组,以及行组中需要的其他任何字段。查看向导创建的表,以了解列分组的行为。