0

テキストの列が重複している(完了している)ときに非表示にする必要があるレポートがありますが、合計2列の数字(純借方と貸方)を合計し、残りの2列(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

次の解決策を試すことができます。以下に示すように、データセット クエリに 1 つの派生列を追加します。並べ替える必要がない場合は、データセットがアカウントの説明に基づいて並べ替えられていると想定しています。

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

SSRS Tablix の Debit 列に次の式を使用します。

=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 に答える
0

フィールドに基づくグループを使用して Tablix を設定しDESCRIPTIONます (グループのヘッダー行はありません)。

ここに画像の説明を入力

SSRS 2008R2 を使用しているため、グループを作成するとデフォルトで左端の列が作成されるため、追加の操作はありません。

行ごとにCCYとを表示しているので、通常のフィールドとして追加されるだけです。CCYAMOUNT

DEBITandの式は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)

最終結果はあなたの要件のようになります:

ここに画像の説明を入力

上記の式には 2 つの注意点があります。グループ スコープ ( RowNumber("DESCRIPTION") = 1) の最初の行である場合にのみ結果を表示し、特定の列 (つまりDEBIT、またはCREDIT) が同じグループ スコープの対応する列よりも大きい場合にのみ、結果を表示します。

于 2013-10-23T16:23:34.603 に答える