列组的SSRS报告很大,大多是空的

时间:2014-08-18 19:42:51

标签: reporting-services ssrs-grouping

我找不到办法让这份报告做我想做的事。我的数据有这样的形式:

varchar  ClientName
Datetime CallDate
varchar  CallReason

我试图以下列方式显示它(“|”代表报告中的一列):

|          Client 1                    |       Client2                | Client 3         |more client columns
|01/02/14 | client was saying that blah|04/07/14 | printer not working|01/01/14 | testing|
|05/06/14 | keyboard died              |05/07/14 | still not printing |                  |
|08/07/14 | some more complaining      |                              |                  |

我现在所拥有的有点相同,只有数据库中的每一行最终都会成为报告中的另一行,这会产生一个充满空单元格的巨大报告。我从一个简单的查询select * from thetable where CallDate>somefilter

中获取数据

所以我的实际问题是:我如何对数据进行分组,以便让列组中包含一个不与其他列详细信息分组的详细信息部分。

我想要类似的东西:(注意:这是随机复制粘贴的数据,实际数据确实有重复的日期,但没有文字) enter image description here

我目前有这个(报告进一步向下和向右): enter image description here

1 个答案:

答案 0 :(得分:2)

这就是我所做的,我认为这就是你所需要的。

示例数据..

create table soRep1
(
    ClientName varchar(30)
    ,CallDate datetime
    ,CallReason varchar(100)
)

insert into soRep1(ClientName, CallDate, CallReason)
values ('Client 1', '2014-08-01', 'some reason 1')
, ('Client 1', '2014-08-02', 'some reason 2')
, ('Client 1', '2014-08-03', 'some reason 3')
, ('Client 2', '2014-08-02', 'Client 2 some reason 1')
, ('Client 2', '2014-08-04', 'Client 2 some reason 2')
, ('Client 3', '2014-08-01', 'Client 3 some reason 1')
, ('Client 3', '2014-08-03', 'Client 3 some reason 2')

添加了数据集以检索数据,但包含基于客户端和日期的行号

在下面的图片中,查询是..

select ROW_NUMBER() OVER (Partition by ClientName Order by CallDate) as RowNum
    , ClientName, CallDate, CallReason
from soRep1;

Dataset

添加Matrix对象以显示RowNum列上的Row Group,以及Client Name上的Column Group。

Report Design

我必须将日期列格式化为仅显示日期。格式属性= MM-dd-yyyy

结果是..

enter image description here