我在Tablix中有一个tablix和层次结构分组。
例如:
Gender------%count
Female------ 10
Male ------- 0
我的查询返回所有带有女性的记录,因为没有关于男性的记录,它没有为男性返回任何内容。
在报告中,我想将男性显示为0,但我无法...我如何解决这个问题?
答案 0 :(得分:1)
在这种情况下通常有两种选择。
报告级别
您可以创建一个包含三个表标题行的表,而不是具有动态组标题行或明细行,一个表用于列标题,另一个用于Male
和Female
。
然后,您可以使用适当的条件表达式填充行值,例如对于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
它到所有必需的值数据,即即使没有返回每个性别行价值存在。这样,您仍然可以使用正常的组/明细行来显示数据。