SSRS Tablix Row Group

时间:2013-09-25 19:11:48

标签: reporting-services ssrs-2008 ssrs-tablix ssrs-grouping

我在Tablix中有一个tablix和层次结构分组。

例如:

Gender------%count       
Female------ 10  
Male -------  0

我的查询返回所有带有女性的记录,因为没有关于男性的记录,它没有为男性返回任何内容。

在报告中,我想将男性显示为0,但我无法...我如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

在这种情况下通常有两种选择。

报告级别

您可以创建一个包含三个表标题行的表,而不是具有动态组标题行或明细行,一个表用于列标题,另一个用于MaleFemale

然后,您可以使用适当的条件表达式填充行值,例如对于Male行总计使用类似:

=Sum(IIf(Fields!Gender.Value = "Male", 1, 0)

即使数据集中没有0值,这也会为您Nothing而不是Male

数据库级

另一个选项是将数据集更改为始终为每个性别返回一个聚合行,即如果您从T-SQL查询中获取数据,则使用以下内容:

select * from
(
  select Gender = 'Male'
  union
  select Gender = 'Female'
) Gender

作为基表(通常你没有Gender表,因此上面的查询)和LEFT JOIN它到所有必需的值数据,即即使没有返回每个性别行价值存在。这样,您仍然可以使用正常的组/明细行来显示数据。