2016-05-12 103 views
1

我有一个具有以下组一表矩阵: 位置,客户,合同号,序列号 我的报告的细节包括各种发票金额(即成本&价格),并总计为每组。不管有没有发票,这些组总是显示。因此,如果没有序列号的发票,则会显示$ 0.00。 下面是问题... 发票金额有两种类型 - 我们称之为“合同转账”和“非合同交易”。我的最终用户希望在单独的部分中查看从非合同交易中分离出的合同交易。因此,基本上所有相同的组信息在下一页上重复,但我将添加一个过滤器(无论是在组中还是在字段本身中,以根据事务类型确定显示的数量)。我想我只需要插入一个新的组,但我无法弄清楚按照什么来分组或者如何让所有事情重复。SSRS重复Tablix组

回答

0

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

添加父组

添加一个新的组比其他各组家长(层次更高)。将合同与非合同交易分开的领域组。

添加第二个表矩阵

取决于你想如何报告流动,它可能会更容易复制现有的表矩阵(或以其他方式复制它)到另一个点在页面上,此时你可以在每个Tablix上设置一个筛选器以仅显示一种类型的事务。请注意,这种方法需要更多的维护,但也需要更多的定制。如果您需要更改字体或颜色或表达式,则需要在两处更改它。这可能会根据调整的数量而变得乏味,但它也允许进行大量的自定义,而这些自定义可能很难在一个tablix中使用IIF表达式。

,如果你没有一个字段表明合同与非合约交易

在你的问题怎么办,你说你知道什么对组,让我觉得你可能不具备一个字段表示某件事是否是合同交易。如果是这样的话,那么你需要做两件事情之一:

1.创建数据集中的一个字段指定交易类型

在这种情况下,你需要或者某个地方找到一个场在你的数据库中告诉你一个事务是否是合同事务,或者你需要在你的select语句中添加逻辑(大概是一个case语句),这将允许你区分这两种类型。

2.创建SSRS这两种交易类型区分

在这种情况下的表现,你更舒适的使用VB.NET功能在SSRS设置的事务类型之间进行描绘。无论你做什么,确保表达式返回一个明显的值。例如,您不想为合同交易返回0,非合同交易的返回值为1,因为在某些情况下您必须修改该函数,以便随后将0更改为“Contract Transactions”和1到“非合同交易”。