reporting-services - 当查询 SSRS 中没有数据时向报告添加值

标签 reporting-services ssrs-2008-r2 ssrs-expression

我有一个返回销售代表编号、类别、销售的查询。

结果是这样的:

enter image description here

有 4 个类别,称为 G1、G2、G3、G4

如您所见,销售代表 11 每个类别销售了 10 件(黄色行)。 但代表12仅销售类别G3G4

其想法是在报告中显示所有类别,并用 0 填充所有未在该特定类别上销售的类别。

它必须按销售代表分组,因此如果您按销售代表进行 tablix 分组,您将得到如下所示的结果:

enter image description here

但是你想要这样的东西:

enter image description here

我可以使用任何表达式来添加这些吗?

到目前为止,我所做的是创建一个组,该组当然是我的销售代表,并组合该列的单元格并为每个类别创建一个行组,如下所示:

enter image description here

但是,如果您执行该报表,它将重复所有类别 G1、G2... 每当该特定销售代表存在该类别时。

另一个问题是,如果您的数据源中不存在硬编码类别,您如何评估报告中的硬编码类别,您无法创建 Iif("G1"= Fields!Category.Value,Fields!Sales.Value,"0") 因为您不是将 G1NullIsNothing 进行比较,而是比较它存在的内容。

最佳答案

我认为您可以在查询级别使用 T-SQL 顺利实现此目的。我不知道为什么您不使用最简单的方法来应用这种逻辑,因为在 T-SQL 中您几乎可以使用所有逻辑。

但是我喜欢这种挑战,所以我提出了这个可能的解决方案。

这是我的示例数据集:

enter image description here

在 SSRS 数据集中(不是 T-SQL),我添加了一个名为 Another 的计算字段

enter image description here

另一个字段设置为以下表达式:

=Fields!SalesRep.Value & "-" & Fields!Category.Value

我添加了一个具有以下数据排列的 tablix

enter image description here

正如我之前提到的,类别字段是硬编码的,右列是 Sales 设置为以下表达式:

=iif(IsNothing(lookup(Fields!SalesRep.Value & "-" & ReportItems!Textbox62.Value,
Fields!Another.Value,Fields!Sales.Value,"DataSet7")),0,
lookup(Fields!SalesRep.Value & "-" & ReportItems!Textbox62.Value,
Fields!Another.Value,Fields!Sales.Value,"DataSet7"))

Note: ReportItems!Textbox62.Value corresponds to textbox where G1 was hardcoded. You have to replace the textbox reference for the corresponding in your tablix for every category.

它将预览下面的 tablix。

enter image description here

请告诉我这是否有帮助。

关于reporting-services - 当查询 SSRS 中没有数据时向报告添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33282098/

相关文章:

sql-server - 如何对行组上的 SSRS 矩阵列求和

HTML - 从 SSRS 站点隐藏 iframe 中的 div

reporting-services - 用户数据源凭据不符合运行此报告的要求或运行报告时出现共享数据集错误

mysql - 在 MySQL 中透视表并添加列标题

sql-server - SSRS BIDS 表达式语言 当前日期的月份部分

reporting-services - 如何配置 SQL Server 2005 Reporting Services (SSRS) 以通过远程 SMTP 服务器通过电子邮件发送报表?

reporting-services - 将 ssrs 报告中的多行合并为单行

reporting-services - SSRS 2008 中与另一个文本框切换的行的条件可见性

reporting-services - 如果所有字段都为空,则添加 N/A SSRS 表达式