2017-01-17 4 views
2

請求書データを使用して条件付きサマリをCrystalレポートに作成しようとしていますが、アイテムコードが請求書に複数回表示され、私はまたこれを項目の数に反映させたいと思います。例えば、4つの項目があり、2つが同じ項目コードである場合、請求書の項目のnbrは3です。Crystalレポートの条件付きサマリー

TDate Invoice ID Fee line Item Code Nbr Items Amount 
05/01/2017 12024200 11425100||11 11610 1 54.20 
05/01/2017 12024200 11425100||12 55238 1 156.25 
05/01/2017 12024200 11425100||13 55238 1 96.60 
05/01/2017 12024200 11425100||15 55276 1 80.55 

したがって、請求書12024200の合計は、次のようになります(項目コード55238の2回目の値は無視されます)。

05/01/2017 12024200 11425100||11 11610 1 54.20 
05/01/2017 12024200 11425100||12 55238 1 156.25 
05/01/2017 12024200 11425100||13 55238 1 96.60 
05/01/2017 12024200 11425100||15 55276 1 80.55 
Total           3 291.00 

答えて

0

1)

請求書グループに、「商品コード」の上に「個別カウント」と要約して設定された場所を作成またはフッターを報告しています。

2) "請求書ID" 以上のグループ(G1)を作成します

(あなたは)ここにあなたの請求書の合計を配置することができます。

内部グループ(G2)を作成し、サマリーロケーションをG2に設定してmax(Amount)のサマリーを配置します。 各項目の最大コストを表示する必要があります(テスト目的のみ)。

数式を作成し、G2フッターに配置します。

WhilePrintingRecords; 
Global NumberVar Total; 

Total := Total + Maximum ({table.Amount}, {table.ItemCode}); 
Total; 

この数式が表示されている場合は、合計が表示されます。 すべての不要なフィールドを非表示にします。別の式を作成し、(レポートに複数の請求書をサポートしている場合)請求書の間の値をリセットするには

WhilePrintingRecords; 
Global NumberVar Total; 
Total; 

:だけで、別の式を作成する(請求書グループフッターのような)別のグループフッターの値を印刷するには

請求書グループヘッダに配置します

WhilePrintingRecords; 
Global NumberVar Total; 
Total := 0; 
Total; 
+0

完全に動作します。どうもありがとうございます。 – Tweetie123

0

あなたはこのフィールドをカウントするサマリーを追加すると、ItemCodeをカウントし、アイテムの数をカウントしません。

しかし、普通のCountの代わりにDistinctCountと呼ばれる一種の要約があります。その後、冗長カウントが削除されます。あなたの質問に2つの問題に対処するために