2.3 Designer のクイックスタート
2.3.5 数式とスクリプティング
ポップアップメニューからRepeat On Every Pageを選択します。これにより、テーブルヘッダーが各 レポートページで毎回描画されます(これがデフォルトです)。
レポートの書式を設定したら、プレビューして結果を確認します。
完成したレポート
デザインウィンドウでの QuickStart35.rpt
レポートは、マスタ&詳細レイアウトを使用して作成された請求書です。Item Total、および小計は空白 であることに注意してください。これらの値を計算する数式を追加します。
2.3.5.1
数式を追加する数式を挿入するには、ツールバーのInsert Formulaボタン をクリックします。これにより、レポー ト内のすべての数式を含むダイアログが表示されます。テンプレートにはいくつかの既存の数式がある ことに注意してください。NEW ボタンをクリックして新しい数式を作成し、プロンプトに ItemTotal という名前を入力します。
Report Formula List
Formula Builder ウィンドウが開きます。右側のColumnsフォルダをダブルクリックして展開します。
UnitPrice 列をダブルクリックして数式に追加します。次に、掛け算*ボタンをクリックし、Quantity
列をダブルクリックして追加します。完成した式は次のようになります。
{UnitPrice}*{Quantity}
Formula Builder ウィンドウ
Testボタンをクリックして、数式が正しく入力されていることを確認します。次にOKをクリックしま す。新しい数式が追加された数式リストに戻ります。数式リストから、作成したItemTotal数式を選択 し、Insertボタンをクリックします。ダイアログが閉じて、小さな点線の四角形がデザインウィンドウ の周りのポインタの後に表示されます。Item Totalラベルの下および Table Data セクションの行間に 数式を配置し、クリックします。計算式がレポートに追加されます。
レポートをプレビューし、次のダイアログでUse Live Dataを選択します。テーブルデータセクション に数式が追加されたので、データの各行を計算するようになりました。また、数式データ形式が自動的 に通貨に設定されていることに気づいたこともあります。
2.3.5.2 スクリプトを追加する
前のセクションで追加した数式が請求書の行合計を正しく計算していないことに注意してください。単 価と数量を掛けるだけで、品目が染色されたかどうか(追加コストがかかります)は無視されます。こ れを処理するために、セルスクリプトを使用します。
スクリプトを追加するには、式の追加で作成したItemTotal式を選択し、ツールバーのスクリプトボタ ン をクリックします。これにより、レポート内のすべてのスクリプトを含むダイアログが表示され ます。以前にスクリプトが追加されていないので、ダイアログは空白になります。
Script List ウィンドウ
NEWをクリックして新しいスクリプトを作成します。プロンプトで、スクリプトのStainCheckとい う名前を入力します。OK をクリックすると、数式ビルダーが開き、スクリプトを追加できます。次の スクリプトを入力します。
if ({Stain} == True) {
value=({UnitPrice}+{StainPrice})*{Quantity};
}else {
value={UnitPrice}*{Quantity};
}
このスクリプトは、商品が染色されているかどうかによってItemTotal価格を動的に変更します。アイ テムが汚れている場合
{Stain} == True
ItemTotal値には汚れの価格が含まれます。 商品が汚れていない場合、価格は以前と同じ方法で計算さ
れます。
セルスクリプトの Formula Builder
Testをクリックして、スクリプトが正しく入力されていることを確認します。次にOKをクリックしま す。新しいスクリプトが追加されたスクリプトリストに戻ります。スクリプトリストで、作成したスク リプトを選択し、APPLYボタンをクリックします。スクリプトが列に適用されます。Item Totalセル の左上隅にチェックマークが表示されるようになりました。
デザインウィンドウでスクリプトを適用したセル
2.3.5.3
集計を追加するEspressReport では、数式を使用してレポート列を集約することもできます。集計を追加することは、
式を追加するで作成したような式を追加するのと同じです。新しい数式を追加するには、ツールバーの
Insert Formulaボタン をクリックします。この式にSubTotalという名前を付けます。
数式ビルダーで、Numeric Functionsフォルダをダブルクリックして展開します。Sum関数をダブル クリックして数式に挿入します。次に、カーソルを使用して、sum 関数の"field"部分を強調表示します。
次に、列フォルダをダブルクリックして展開します。リストの最後には、式の追加で作成した「ItemTotal」
があります。これをダブルクリックして数式に追加します。完成した式は次のようになります。
sum({ItemTotal})
集計式を含む数式ビルダー
Testをクリックして、数式が正しく入力されていることを確認します。次に、OKをクリックして数式 リストに戻ります。数式リストで、作成した数式を選択し、INSERTボタンをクリックします。ダイア ログが閉じて、小さな点線の四角形がデザインウィンドウの周りのポインタの後に表示されます。レポ ートのグループフッターセクションのItemTotal列の下にあり、Sub-Totalの横に数式を配置し、クリ ックして追加します。
数式はグループフッターセクションにあるため、レポートが実行されて数式のテキストのみが表示され るまで計算されません。レポートをプレビューします。集計には、セルスクリプトによって変更された 値が反映されます。
数式によるレポート
追加のチュートリアルでは、2 つの数式を Group Footer セクションに追加します。1 つは売上税を計算 するもの、もう 1 つは注文の総計を計算するものです。