web-dev-qa-db-ja.com

Crystal Reportsで数式フィールドの合計を計算する方法は?

一部の継承されたコードで、グループヘッダー/フッターに'Sum of @numcount '。数式フィールドの合計を取得できません。何かご意見は?

6
schar

数式を要約できない理由を知っている唯一の理由は、データベースフィールドを参照していないか、レポートのセクション全体で値が動的ではなかった場合です。たとえば、定数を返す数式がある場合、その数式は使用できません。または、レポート全体で設定されたフィールドのみを参照し、そのフィールドに基づいて値を返す場合(「{パラメータ} = 1の場合は1」など)も使用できません。

一般的に、式の値は、要約しているレポートのセクション全体で静的であってはなりません(Crystalがこれを決定する方法は私を超えており、これは難しくて速い規則ではないようです)

編集:数式が使用できないもう1つの理由は、その数式で既に集計関数を使用している場合です。一度に1つのレベルの要約のみ!

7
Ryan

(Crystal Report Designerでレポートを表示していると仮定して...)

メニューオプションは、使用しているCrystal Reportsのバージョンによって少し異なる場合がありますが、次のいずれかを行うことができます。

  • サマリーフィールドを作成する:詳細セクションで目的の数式フィールドを右クリックし、[サマリーを挿入]を選択します。ドロップダウンボックスから[合計]を選択し、正しいアカウントグループが選択されていることを確認して、[OK]をクリックします。その後、グループフッターセクションに単純な合計フィールドがあります。
  • 積算合計フィールドを作成します: [挿入]メニューをクリックし、[積算合計フィールド...]を選択します*** [新規]ボタンをクリックして、新しい積算合計フィールドに名前を付けます。 [集計するフィールド]で数式フィールドを選択し、[集計の種類]で[合計]を選択します。ここでは、合計を評価してリセットするタイミングを変更することもできます。各レコードの合計が必要な場合は、デフォルトのままにしておきます。また、数式を使用して、特定のフィールドを合計にカウントするタイミングを決定することもできます。 (評価:数式を使用)
5
Heather M

あなたは単に数式フィールドを右クリックすることができます-> new TotalCountのような名前を付けて、このコードを右に:

if(isnull(sum(count({YOURCOLUMN})))) then
0
else
(sum(count({YOURCOLUMN})))

保存してから、このフィールドをヘッダー/フッターにドラッグアンドドロップTotalCountします。 「count」ブラケットを開いた後、上記のセクションから列をそこにドロップできます。図の例を参照してください enter image description here

1
Shoshotto