3

メインレポートとは異なる方法で合計がグループ化されたCrystalReportを作成しようとしています。これまで私がこれを行うことができた唯一の方法は、合計にサブレポートを使用することですが、同じデータを取得するためにデータソースを再度ヒットする必要があることを意味します。これはナンセンスのようです。簡単な例を次に示します。

       date   name   earnings   source          location
-----------------------------------------------------------
12-AUG-2008   Tom      $50.00   washing cars    uptown
12-AUG-2008   Dick    $100.00   washing cars    downtown     { main report }
12-AUG-2008   Harry    $75.00   mowing lawns    around town

                    total earnings for washing cars: $150.00 { subreport }
                    total earnings for mowing lawns:  $75.00

       date   name   earnings   source          location
-----------------------------------------------------------
13-AUG-2008   John     $95.00   dog walking     downtown
13-AUG-2008   Jane    $105.00   washing cars    around town  { main report }
13-AUG-2008   Dave     $65.00   mowing lawns    around town

                    total earnings for dog walking:   $95.00
                    total earnings for washing cars: $105.00 { subreport }
                    total earnings for mowing lawns:  $65.00

この例では、メインレポートは「日付」でグループ化されていますが、合計は「ソース」でさらにグループ化されています。積算合計の使用例を調べましたが、実際には必要なことを実行していません。結果セットを保存し、メインレポートとサブレポートの両方に同じデータを参照させる方法はありませんか?

4

2 に答える 2

2

うーん... レポートからストアド プロシージャを呼び出して、すべてを 1 つの場所に格納するのは素晴らしいことですが、(あなたのように) 最終的に Crystal に目的の操作をさせることができないポイントに到達することがわかりました。データがすぐそこにあるとしても欲しいです。

最終的に、レポートの下にあるビジネス レイヤーを導入し、レポートからデータを「プル」するのではなく、データセットをレポートに「プッシュ」して、データをレポートにバインドしました。利点は、データがレポートに到達する前にデータセットまたはオブジェクトのコードでデータを操作し、そのデータをレポートに単純にバインドできることです。

この記事には、レポートへのデータのプッシュをセットアップする方法に関する優れた紹介があります。時間/ビジネスの制約によりこれを行うことができない場合があることは理解していますが、可能であれば、すべての「コーディング」をレポートから管理コードに削除できることを意味するため、強くお勧めします。良いこと。

于 2008-08-12T23:29:57.007 に答える
1

データを2回実行せずにこれを行うことを考えることができる唯一の方法は、グループごとの現在の合計を実行するための数式を作成することです。あなたが既存の現在の合計で遭遇していると私が思う問題は、それらが合計している各グループに従うことを意図しているということです。すべての「生の」データの後に小計を追跡したいように見えるので、これは機能しません。

グループごとに独自の数式を作成し、グループに一致する行の合計を単純に加算する場合は、レポートの最後にそれらを配置できるはずです。このアプローチの欠点は、結果の小計がグループとの関係で動的にならないことです。つまり、新しい「ソース」がある場合は、追加するまで小計に表示されません。または、「犬の散歩」データがない場合でも、小計はあります。

于 2008-08-12T12:28:06.280 に答える