2017-10-13 18 views
0

以下のデータがあります。SSRSのデータ操作の操作

SRNO Date   Credit Debit ClosingBal OpeningBal 
1  01 Oct 2017  10000 100  9900  0 
2  02 Oct 2017  20000 200  29700  9900 
3  03 Oct 2017  30000 300  59400  29700 
4  04 Oct 2017  40000 400  99000  59400 
5  05 Oct 2017  50000 500  148500  99000 

ここでは、2つの列ClosingBalとOpeningBalを操作しています。 クローズバランスは、クレジットとデビットの差+前日の残高です。

前日の残高などの期首残高を表示する必要があります。つまり第1行目の残高は常に0(ゼロ)であり、第2行目のデータはRow [i] Column [j]からRow [i + 1] Column [j]にコピーされている。

ヘルプが必要です。

+0

実際どのようなデータ、あなたのデータベースに持っている(またはデータがから来てどこ)あなただけのSRNOを持っています。日付;クレジット;デビット? SSRSまたはSQLでこの作業を行いますか?ご使用のレポーティングサービスとデータベースのバージョンをお知らせください。 –

答えて

0

あなたは実際にはSRNOしか持っていないと仮定します。日付;あなたのデータセットのクレジットカードとデビットカードを使用すると、次のことができます。

私は、すべての4つの列を示す簡単な表を作成したと2つの追加の列、closingbal用とopeningbalのための1つのサンプル・データセットを再現するために、以下を使用してDataSet1

DECLARE @t TABLE(SRNO int, TranDate Date, Credit int, Debit int) 
INSERT INTO @t VALUES 
(1, '20171001', 10000, 100), 
(2, '20171002', 20000, 200), 
(3, '20171003', 30000, 300), 
(4, '20171004', 40000, 400), 
(5, '20171005', 50000, 500) 

SELECT * FROM @t 

それを呼びました。

設定ClosingBal表現へ:

=RunningValue(Fields!Credit.Value-Fields!Debit.Value, Sum, "DataSet1") 

設定OpeningBal表現

=Previous(RunningValue(Fields!Credit.Value-Fields!Debit.Value, Sum, "DataSet1")) 

これは私たちに次のような出力を提供します。 enter image description here

最初の列にゼロが必要な場合は、式をこれに変更する必要があります。

=IIF(
    Previous(RunningValue(Fields!Credit.Value-Fields!Debit.Value, Sum, "DataSet1"))=Nothing 
    ,0 
    ,Previous(RunningValue(Fields!Credit.Value-Fields!Debit.Value, Sum, "DataSet1")) 
) 

この出力は次のとおりです。

enter image description here

+0

あなたのソリューションをありがとう。私は同じソリューションを実装しました。 –