0

我有一份报告,我需要在文本列重复(完成)时隐藏它们,但还要总计两列数字(净借方和贷方),而将其他两列(ccy 和 ccy 金额)按原样逐项列出。

在处理以下数据时:

DESCRIPTION                  DEBIT        CREDIT     CCY    CCY AMOUNT
332300 Creditors              0.00          0.50     EUR         -0.50
339003 Sundry Creditors       0.00      4,423.39     EUR     -4,423.39
339003 Sundry Creditors   4,241.50          0.00     GBP      3,587.50
340101 Ordinary Shares        0.00          1.41     GBP         -1.00
395000 Revenue Reserves       0.00    196,850.46     EUR   -196,850.46
395000 Revenue Reserves       0.00    967,816.68     GBP   -797,995.90

我已经设法在重复时隐藏了描述,但只想显示适当的净借方或贷方金额,而将 ccy 和金额逐项列出,如下所示:

DESCRIPTION                  DEBIT        CREDIT      CCY    CCY AMOUNT
332300 Creditors                            0.50      EUR         -0.50
339003 Sundry Creditors                   181.89      EUR     -4,423.39
                                                      GBP      3,587.50
340101 Ordinary Shares                      1.41      GBP         -1.00
395000 Revenue Reserves             1,164,667.14      EUR  - 196,850.46
                                                      GBP   -797,995.90

任何解决或协助解决此问题的帮助将不胜感激。

4

2 回答 2

0

使用基于DESCRIPTION字段的组设置 tablix(组没有标题行):

在此处输入图像描述

由于您使用的是 SSRS 2008R2,因此在创建组时默认会创建最左侧的列,因此无需额外操作。

我们正在为每一行显示CCYCCYAMOUNT,因此它们只是作为普通字段添加。

DEBIT和的表达式CREDIT有点复杂。

CREDIT

=IIf(RowNumber("DESCRIPTION") = 1
        and Sum(Fields!DEBIT.Value, "DESCRIPTION") - Sum(Fields!CREDIT.Value, "DESCRIPTION") > 0
    , Sum(Fields!DEBIT.Value, "DESCRIPTION") - Sum(Fields!CREDIT.Value, "DESCRIPTION")
    , Nothing)

基本上只需将列逻辑切换为DEBIT

=IIf(RowNumber("DESCRIPTION") = 1
        and Sum(Fields!CREDIT.Value, "DESCRIPTION") - Sum(Fields!DEBIT.Value, "DESCRIPTION") > 0
    , Sum(Fields!CREDIT.Value, "DESCRIPTION") - Sum(Fields!DEBIT.Value, "DESCRIPTION")
    , Nothing)

最终结果看起来像您的要求:

在此处输入图像描述

在上面的表达式中有两点需要注意——我们只显示结果,如果它是组范围 ( RowNumber("DESCRIPTION") = 1) 中的第一行,并且只有当特定列,即DEBITCREDIT大于同一组范围内的对应列时才显示结果。

于 2013-10-23T16:23:34.603 回答
0

您可以尝试以下解决方案。在数据集查询中添加一个派生列,如下所示。我假设您的数据集按帐户描述进行排序,如果您不需要对其进行排序。

SUM(-credit+debit) OVER(PARTITION BY AccountDescription) as Net

对 SSRS tablix 中的借方列使用以下表达式

=Iif(Previous(Fields!AccountDescription.Value)=Fields!AccountDescription.Value,"",Iif(Fields!Net.Value>0,Abs(Fields!Net.Value),""))

对 SSRS tablix 中的 Credit 列使用以下表达式

=Iif(Previous(Fields!AccountDescription.Value)=Fields!AccountDescription.Value,"",Iif(Fields!Net.Value<0,Abs(Fields!Net.Value),""))

于 2013-10-24T14:15:31.660 回答