【问题标题】:SSRS Tablix Row GroupSSRS Tablix 行组
【发布时间】:2013-09-26 03:36:38
【问题描述】:
我在 tablix 中有一个 tablix 和分层分组。
例如:
Gender------%count
Female------ 10
Male ------- 0
我的查询返回所有带有女性的记录,因为没有男性的记录它不返回任何男性。
在报告中,我想将 Male 显示为 0,但我无法...如何解决此问题?
【问题讨论】:
标签:
reporting-services
ssrs-2008
ssrs-tablix
ssrs-grouping
【解决方案1】:
在这种情况下通常有两种选择。
报告级别
您可以创建一个包含三个表标题行的表,而不是动态组标题行或详细信息行 - 一个用于列标题,一个用于 Male 和 Female。
然后您可以使用适当的条件表达式填充行值,例如对于Male 行总使用类似:
=Sum(IIf(Fields!Gender.Value = "Male", 1, 0)
即使数据集中没有 Male 值,这也会为您提供 0 而不是 Nothing。
数据库级
另一种选择是将数据集更改为始终为每个性别返回一个聚合行,即,如果您从 T-SQL 查询中获取数据,您将使用类似以下内容:
select * from
(
select Gender = 'Male'
union
select Gender = 'Female'
) Gender
作为基表(通常你不会有Gender 表,因此上面的查询)和LEFT JOIN 它到所有必需的值数据,即即使不存在值也总是返回每个性别行。这样您仍然可以正常分组/详细行来显示数据。