在SSRS中的每个“详细信息组”中包含NULL

时间:2011-01-03 14:18:07

标签: sql-server vb.net grouping reporting-services ssrs-grouping

在SSRS中,我有一个列表,例如,一个包含两列的表:名称和数字,例如:

NAME NUMBER
John 123
John 456
John NULL

名称永远不会为空,但数字可能是。在这种情况下,我希望报告在每个组中包含NULL,如下所示:

GROUP 1:
John NULL
John 123

GROUP 2:
John NULL
John 456

然而,SSRS将null置于一个组中。我该如何做到这一点?

1 个答案:

答案 0 :(得分:1)

您已告知SSRS对NUMBER列进行分组,因此它会为NUMBER列中的每个值生成一个单独的组,然后显示这些行。要获得所需的内容,必须使数据集具有所需的行。

Select Name, Number, cast(Number as varchar(50)) as displayvalue
From mytable 
UNION ALL
Select m.Name, m.Number, 'NULL' as displayvalue
From mytable m
Where exists(Select 1 from mytable where Name=m.Name and Number is NULL)
Group by Name, Number

然后对Number列进行分组,但报告DisplayValue列。