SSRS-Repeat Tablix组

时间:2016-05-12 16:43:30

标签: reporting-services

我有一个包含以下组的Tablix: 位置,客户,合同号,序列号 我的报告的详细信息包括各种发票金额(即成本和价格),并为每个组合计。无论是否有任何发票,都会始终显示这些组。因此,如果序列号没有发票,则显示$ 0.00。 这是问题...... 发票金额有两种类型 - 我们称之为“合同交易”和“非合同交易”。我的最终用户希望在单独的部分中看到合同转让与非合同交易分开。所以基本上所有相同的组信息都会在下一页重复,但我会添加一个过滤器(在组中或在字段中自己确定根据事务类型显示的数量)。我想我只需要插入一个新的组,但我无法弄清楚要将它分组的内容或如何让所有内容重复。

1 个答案:

答案 0 :(得分:0)

有几种方法可以解决这个问题。

添加父组

添加一个新组,该组是父级(层次结构中的更高级别),而不是所有其他组。分类合同与非合同交易的集团。

添加第二个Tablix

根据您希望报告的流动方式,可能更容易将现有的Tablix(或以其他方式复制)复制到页面上的其他位置,此时您可以在每个Tablix上设置过滤器以仅显示一个交易类型。请注意,此方法需要更多维护,但也需要更多自定义。如果您需要更改字体或颜色或表达式,则需要在两个位置更改它。根据调整量的不同,这可能会变得乏味,但它也允许在一个Tablix中使用IIF表达式很难进行大量自定义。

如果您没有指示合同与非合同交易的字段该怎么办

在你的问题中,你说你确定要分组的内容,让我觉得你可能没有一个字段来表明某事是否是合同交易。如果是这种情况,那么你需要做两件事之一:

1。在数据集中创建一个指定事务类型

的字段

在这种情况下,您需要在数据库中的某个位置找到一个字段,告诉您事务是否是合同事务,或者您需要在select中添加逻辑(可能是case语句)声明,它将允许您区分这两种类型。

2。在SSRS中创建一个表达式,用于区分两种事务类型

在这种情况下,您更习惯使用SSRS中的VB.NET功能集来描述事务类型。无论你做什么,确保表达式返回一个明显有意义的值。例如,您不希望为合同交易返回0,而对于非合同交易则返回1,因为在某些情况下您必须修改该函数以随后将0更改为&# 34;合同交易"和1到"非合同交易"。