レポートキャンバスによるレポートの作成
WebFOCUS App Studio で作成するレポートは、選択したデータソースからデータを返し、そのデータを行と列のフォーマットで表示する WebFOCUS プロシジャ (.fex 拡張子) です。WebFOCUS App Studio レポートは、レポートウィザードを使用して作成します。このウィザードで、レポートの保存先フォルダと、使用するデータソースを指定します。ウィザードの完了後、レポートキャンバスが開きます。レポートキャンバスの [オブジェクトインスペクタ] ウィンドウに、選択したデータソースのメジャーとディメンションが表示されます。レポートの行と列にデータを挿入するには、オブジェクトインスペクタからオブジェクトをドラッグし、レポートキャンバスにドロップします。
レポートウィザードでフォルダとデータソースを選択すると、レポート出力の生成に必要な WebFOCUS 構文が自動的に生成されます。レポートは、構文の知識がなくても簡単に作成することができます。WebFOCUS レポート構文の概要については、レポート構文の概要を参照してください。
表形式レポートの作成
下図は、表形式レポートを示しています。ここでは、売上原価および収益のデータが、銘柄区分別に横方向にソートされ、製品区分別に縦方向にソートされたマトリックスレポートが作成されています。リクエストに BY ソート句と ACROSS ソート句の両方を使用すると、レポートのデータが縦方向と横方向にソートされ、格子上に配置されたようなデータマトリックスになります。マトリックスレポートには、複数の BY フィールドおよび複数の ACROSS フィールドを指定することができます。
注意:レポートのフォーマットには、デフォルトスタイルシートが使用されます。ユーザ独自のスタイルシートを作成することも、製品に同梱されている別のスタイルシートを選択することもできます。
レポートキャンバスを使用して表形式レポートを作成するには
- 手順
- [ホーム] タブの [コンテンツ] グループで [レポート] をクリックするか、[環境ツリー] パネルでフォルダを右クリックし、[新規作成]、[レポート]、[レポート]、[レポート] を順に選択します。
レポートウィザードが開きます。
- [レポートの作成] ボタンをクリックします。
- 新しいレポートの作成先に移動して [次へ] をクリックし、[データソースの選択] ウィンドウでデータソースを選択します。この例では、[wf_retail.mas] を選択し、[完了] をクリックします。
レポートキャンバスが開きます。
- 次のフィールドを以下の順序でレポートに追加します。フィールドを追加するには、オブジェクトインスペクタでフィールドをダブルクリックするか、フィールドをレポートキャンバスにドラッグします。
- 製品区分
- 銘柄区分
- 売上原価
- 収益
- [BRANDTYPE] (銘柄区分) フィールドを選択し、[フィールドタイプ] グループの [ACROSS] をクリックして、銘柄区分値に基づいてレポートを横方向にソートします。
- レポートに見出しを追加するには、[レポート] タブで [見出し/脚注] をクリックし、[レポート見出し] を選択します。
- [見出し] テキストボックスに「Cost and Revenue」と入力します。
- [プロシジャビュー] パネルで [コメント] コンポーネントを右クリックし、[新規作成]、[SET] を順に選択します。
SET キャンバスが開きます。
- [利用可能な SET] エリアで、スクロールバーを使用して NODATA 設定の位置まで移動します。
- [NODATA] をダブルクリックするか、[NODATA] を選択して [追加] をクリックします。
[使用された SET] エリアに NODATA 設定が表示されます。
- [現在の値] エリアに「N/A」と入力して、レポートに表示するデフォルトミッシングデータ文字をピリオド (.) から N/A に変更します。
- レポートを実行します。
WebFOCUS 構文を使用して表形式レポートを作成するには
テキストエディタで新しいプロシジャを開き、次の WebFOCUS コードを入力することで、表形式レポートを作成することができます。
TABLE FILE WF_RETAIL HEADING "Cost and Revenue" SUM COGS_US REVENUE_US BY PRODUCT_CATEGORY ACROSS BRANDTYPE ON TABLE SET NODATA N/A END
Active ReportAnalytic Document の作成
下図は、オフライン分析用の Active ReportAnalytic Document を示しています。Active ReportAnalytic Document を作成するには、リクエストで ON TABLE PCHOLD FORMAT AHTML コマンドを使用します。この分析オプションには、フィルタ設定、ソート、グラフ作成など、さまざまな機能があります。分析オプションにアクセスするには、列タイトル横の矢印をクリックします。
レポートキャンバスを使用して Active ReportAnalytic Document Analytic Document を作成するには
- 手順
- 「レポートキャンバスを使用して表形式レポートを作成するには」の手順に従って、表形式レポートを作成します。
- [フォーマット] タブで [Active Report][Analytic Document][Analytic Document] をクリックします。
- レポートを実行します。
WebFOCUS 構文を使用して Active ReportAnalytic Document Analytic Document を作成するには
テキストエディタで新しいプロシジャを開き、次の WebFOCUS コードを入力することで、Active ReportAnalytic DocumentAnalytic Document を作成することができます。
TABLE FILE WF_RETAIL HEADING CENTER "Cost and Revenue" SUM COGS_US REVENUE_US BY PRODUCT_CATEGORY ACROSS BRANDTYPE ON TABLE PCHOLD FORMAT AHTML ON TABLE SET NODATA N/A END
ActiveAnalytic Document フォームコントロールのソート順を選択するには
HTML キャンバスおよびドキュメントキャンバスでは、ActiveAnalytic Document フォームコントロールに表示される値のソート順を選択することができます。[設定] パネルの [ソート順] セクションで [昇順] または [降順] を選択することができます。デフォルト設定では、[昇順] が選択されています。実行時には、選択されているソート順に基づいて値がソートされます。
- 手順
- フィルタコントロール (例、日付フィルタ) が含まれた Active ReportAnalytic DocumentAnalytic Document を作成します。
レポートを実行すると、下図のように、日付値が昇順でソートされます。デフォルト値は [昇順] です。
- レポートを開き、下図のようにコントロールを選択します。
- 下図のように、[設定] パネルの [ソート順] セクションで [降順] を選択します。
レポートを実行すると、下図のように、コントロールの日付値が降順でソートされます。
Excel FORMULA 目次レポートの作成
下図の Excel ブックでは、主ソートフィールド (BY) の値ごとにワークシート (タブ) が作成され、列合計を計算する数式が挿入されています。複数のワークシートを作成するには、リクエストで ON TABLE PCHOLD FORMAT XLSX FORMULA BYTOC コマンドを使用します。
レポートキャンバスを使用して Excel FORMULA 目次レポートを作成するには
- 手順
- 「レポートキャンバスを使用して表形式レポートを作成するには」の手順に従って、表形式レポートを作成します。
- [銘柄区分] フィールドを選択し、[フィールドタイプ] グループの [BY] をクリックして、ACROSS フィールドを BY フィールドに変更します。
- [銘柄区分] フィールドを [製品区分] フィールドの左側にドラッグします。これにより、[銘柄区分] フィールドが 1 つ目の BY ソートフィールドになります。
- [レポート] タブの [レポート] グループで [列合計] ボタンをクリックし、[列合計] を選択して、各数値フィールド ([売上原価]、[収益]) の合計を作成するとともに、レポートに数式を表示します。
- [フォーマット] タブの [出力タイプ] グループで [Excel] をクリックし、[Excel Formula (XLSX FORMULA)] を選択します。
[出力フォーマットオプション] ダイアログボックスが開きます。
- [主ソート値ごとに別ワークシートを作成] オプションのドロップダウンリストから [オン] を選択します。
- レポートを実行します。
WebFOCUS 構文を使用して Excel FORMULA 目次レポートを作成するには
テキストエディタで新しいプロシジャを開き、次の WebFOCUS コードを入力することで、Excel FORMULA 目次レポートを作成することができます。
TABLE FILE WF_RETAIL HEADING "Cost and Revenue" SUM COGS_US REVENUE_US BY BRANDTYPE BY PRODUCT_CATEGORY ON TABLE SUBTOTAL ON TABLE PCHOLD FORMAT XLSX FORMULA BYTOC END
財務レポートの作成
財務レポートでは、特定の行をレポートの任意の位置に配置することができます。
- データソースで選択された値の行を表示することができます (TAG 行)。
- そのデータから計算された値の行を表示することができます (RECAP)。
- 別のファイルから値を直接挿入することも、ピックアップすることもできます (POST および PICKUP)。
- テキスト行、ブランク行、バー行 (BAR) をレポートの任意の位置に配置して、レポートの外観を整えることができます。
- レポートの任意の位置で行間および列間の計算を実行することができます。
下図は、特定の製品の売上原価と収益に関する財務レポートを示しています。
レポートキャンバスとマトリックスタブを使用して財務レポートを作成するには
- 手順
- [ホーム] タブの [コンテンツ] グループで [レポート] をクリックするか、[環境ツリー] パネルでフォルダを右クリックし、[新規作成]、[レポート]、[レポート]、[レポート] を順に選択します。
レポートウィザードが開きます。
- [レポートの作成] ボタンをクリックします。
- 新しいレポートの作成先に移動して [次へ] をクリックし、[データソースの選択] ウィンドウでデータソースを選択します。この例では、[wf_retail.mas] を選択し、[完了] をクリックします。
レポートキャンバスが開きます。
- 次のフィールドを以下の順序でレポートに追加します。フィールドを追加するには、オブジェクトインスペクタでフィールドをダブルクリックするか、フィールドをレポートキャンバスにドラッグします。
- 製品 ID
- 売上原価
- 収益
- レポートに見出しを追加するには、[レポート] タブで [見出し/脚注] をクリックし、[レポート見出し] を選択します。
- [見出し] テキストボックスに「Cost and Revenue」と入力します。
- レポートのスタイルシートを変更します。セル境界線または罫線を使用するレポートでは、実行時の財務レポートにピアグラフが表示されません。
[レポート] タブの [スタイル] グループで、[テーマの変更] をクリックします。[ファイルを開く] ダイアログボックスで、[レガシースタイルテンプレート] フォルダに移動し、[ENblack_theme.sty] を選択して [OK] をクリックします。
- [製品 ID] フィールドを選択し、[フィールドタイプ] グループで [FOR] をクリックします。
- オブジェクトインスペクタ最下部の [マトリックス] タブをクリックして、マトリックスキャンバスを開きます。
注意:[マトリックス] 表示タブは、FOR フィールドが存在する場合にのみ表示されます。
- Entertainment グループを明示するテキスト行を挿入します。
- [挿入] グループの [テキスト] をクリックして R1 行をテキスト行に変更するか、R1 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[テキスト] を順に選択します。
[TEXT] ダイアログボックスが開きます。
- テキストボックスに次のテキストを入力します。
Entertainment:
- [OK] をクリックします。
マトリックスの [タイトル] 列に「Entertainment」というテキストが表示されます。
- [挿入] グループの [テキスト] をクリックして R1 行をテキスト行に変更するか、R1 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[テキスト] を順に選択します。
- Stereo Systems 製品コードの行を作成します。
- FOR フィールド値パネルで、2001 から 2167 までの値を複数選択し、それらの値を [製品 ID] 列の R2 行にドラッグします。
[行タイプ] 列に [TAG] 行タイプが入力されます。別の方法として、[挿入] グループの [タグ] をクリックし、これらのタグ値を [TAG] ダイアログボックスに入力することもできます。
タグ行の場合、デフォルト設定でタグ値はレポートの左側に表示されます。ただし、行タイトルはレポート上で変更することができます。また、この行をレポートの演算に使用する場合は、演算内の名前として使用するラベルにこの行を割り当てることができます。
- [ID_PRODUCT] 列で 2001 から 2167 までの値全体を右クリックし、[行のプロパティ] を選択します。
[TAG] ダイアログボックスが開きます。
- [全般] タブで、2001 から 2167 までの ID_PRODUCT 値のタイトルおよびラベル (オプション) を入力します。たとえば、タイトルには「Stereo Systems」、ラベルには「SS」と入力します。
- [OK] をクリックしてマトリックスに戻ります。
- FOR フィールド値パネルで、2001 から 2167 までの値を複数選択し、それらの値を [製品 ID] 列の R2 行にドラッグします。
- Televisions 製品コードの行を作成します。
- FOR フィールド値パネルで、4012 から 4018 までの値を複数選択し、それらの値を [ID_PRODUCT] 列の R3 行にドラッグします。
[行タイプ] 列に [TAG] 行タイプが入力されます。別の方法として、[挿入] グループの [タグ] をクリックし、これらのタグ値を [TAG] ダイアログボックスに入力することもできます。
- 4012 から 4018 までの値全体を右クリックし、[行のプロパティ] を選択します。
[TAG] ダイアログボックスが開きます。
- [全般] タブで、4012 から 4018 までの ID_PRODUCT 値のタイトルおよびラベル (オプション) を入力します。たとえば、タイトルには「Televisions」、ラベルには「TV」と入力します。
- [OK] をクリックしてマトリックスに戻ります。
- FOR フィールド値パネルで、4012 から 4018 までの値を複数選択し、それらの値を [ID_PRODUCT] 列の R3 行にドラッグします。
- Entertainment 行の下に下線を配置します。
- [挿入] グループの [棒] をクリックして R4 行をバー行に変更するか、R4 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[バー] を順に選択します。
[BAR] ダイアログボックスが開きます。
- [OK] をクリックして、デフォルトの下線文字を選択します。
- [挿入] グループの [棒] をクリックして R4 行をバー行に変更するか、R4 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[バー] を順に選択します。
- Entertainment 製品の合計を計算する行を追加します。
- [挿入] グループの [RECAP] をクリックして R5 行を合計行に変更するか、R10 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[RECAP] を順に選択します。
[RECAP] ダイアログボックスが開いて、[オプション] タブが表示されます。
- [RECAP] テキストボックスに「SS + TV」と入力します。[ラベル] ドロップダウンリストから [SS] (Stereo Systems) および [TV] (Televisions) を選択して [RECAP] テキストボックスに追加することもできます。
- [全般] タブをクリックし、RECAP 演算のタイトルおよびラベルを入力します。たとえば、タイトルには「Total Entertainment」、ラベルには「TOTENT」と入力します。
- [挿入] グループの [RECAP] をクリックして R5 行を合計行に変更するか、R10 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[RECAP] を順に選択します。
- Accessories グループを明示するテキスト行を作成します。
- [挿入] グループの [テキスト] をクリックして R6 行をテキスト行に変更するか、R6 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[テキスト] を順に選択します。
[TEXT] ダイアログボックスが開きます。
- テキストボックスに次のテキストを入力します。
Accessories:
- [OK] をクリックします。
マトリックスの [タイトル] 列に「Accessories」というテキストが表示されます。
- [挿入] グループの [テキスト] をクリックして R6 行をテキスト行に変更するか、R6 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[テキスト] を順に選択します。
- Headphones 製品コードの行を作成します。
- FOR フィールド値パネルで、5001 から 5007 までの値を複数選択し、それらの値を [ID_PRODUCT] 列の R7 行にドラッグします。
[行タイプ] 列に [TAG] 行タイプが入力されます。別の方法として、[挿入] グループの [タグ] をクリックし、これらのタグ値を [TAG] ダイアログボックスに入力することもできます。
- 5001 から 5007 までの値全体を右クリックし、[行のプロパティ] を選択します。
[TAG] ダイアログボックスが開きます。
- [全般] タブで、5001 から 5007 までの ID_PRODUCT 値のタイトルおよびラベル (オプション) を入力します。たとえば、タイトルには「Headphones」、ラベルには「HP」と入力します。
- [OK] をクリックしてマトリックスに戻ります。
- FOR フィールド値パネルで、5001 から 5007 までの値を複数選択し、それらの値を [ID_PRODUCT] 列の R7 行にドラッグします。
- Remote Controls 製品コードの行を作成します。
- FOR フィールド値パネルで、5008 から 5009 までの値を複数選択し、それらの値を [ID_PRODUCT] 列の R8 行にドラッグします。
[行タイプ] 列に [TAG] 行タイプが入力されます。別の方法として、[挿入] グループの [タグ] をクリックし、これらのタグ値を [TAG] ダイアログボックスに入力することもできます。
- 5008 から 5009 までの値全体を右クリックし、[行のプロパティ] を選択します。
[TAG] ダイアログボックスが開きます。
- [全般] タブで、5008 から 5009 までの ID_PRODUCT 値のタイトルおよびラベル (オプション) を入力します。たとえば、タイトルには「Remote Controls」、ラベルには「RC」と入力します。
- [OK] をクリックしてマトリックスに戻ります。
- FOR フィールド値パネルで、5008 から 5009 までの値を複数選択し、それらの値を [ID_PRODUCT] 列の R8 行にドラッグします。
- Accessories 行の下に下線を配置します。
- [挿入] グループの [棒] をクリックして R9 行をバー行に変更するか、R9 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[バー] を順に選択します。
[BAR] ダイアログボックスが開きます。
- [OK] をクリックして、デフォルトの下線文字を選択します。
- [挿入] グループの [棒] をクリックして R9 行をバー行に変更するか、R9 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[バー] を順に選択します。
- Accessories 製品の合計を計算する行を追加します。
- [挿入] グループの [RECAP] をクリックして R10 行を合計行に変更するか、R10 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[RECAP] を順に選択します。
[RECAP] ダイアログボックスが開いて、[オプション] タブが表示されます。
- [RECAP] テキストボックスに「HP + RC」と入力します。[ラベル] ドロップダウンリストから [HP] (Headphones) および [RC] (Remote Controls) を選択して、[RECAP] テキストボックスに追加することもできます。
- [全般] タブをクリックし、RECAP 演算のタイトルおよびラベルを入力します。たとえば、タイトルには「Total Accessories」、ラベルには「TOTACC」と入力します。
- [挿入] グループの [RECAP] をクリックして R10 行を合計行に変更するか、R10 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[RECAP] を順に選択します。
- Total Accessories 行の下に下線を配置します。
- [挿入] グループの [棒] をクリックして R11 行をバー行に変更するか、R11 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[バー] を順に選択します。
[BAR] ダイアログボックスが開きます。
- [OK] をクリックして、デフォルトの下線文字を選択します。
- [挿入] グループの [棒] をクリックして R11 行をバー行に変更するか、R11 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[バー] を順に選択します。
- Entertainment 製品と Accessories 製品の両方の合計を計算する行を追加します。
- [挿入] グループの [RECAP] をクリックして R12 行を合計行に変更するか、R10 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[RECAP] を順に選択します。
[RECAP] ダイアログボックスが開いて、[オプション] タブが表示されます。
- [RECAP] テキストボックスに「TOTENT + TOTACC」と入力します。
- [全般] タブをクリックし、RECAP 演算のタイトルおよびラベルを入力します。たとえば、タイトルには「Total」、ラベルには「TOTAL」と入力します。
- [挿入] グループの [RECAP] をクリックして R12 行を合計行に変更するか、R10 行 (ラベルの位置を除く) を右クリックし、[タイプの変更]、[RECAP] を順に選択します。
- レポートを実行します。
次の例は、結果の財務レポートの構文を示しています。
注意:以下の例では、この文書のページ幅によって HTML コードが複数行に折り返されています。この例を実行するためには、INCLUDE ステートメントで参照されるスタイルシートの名前から改行をすべて削除する必要があります。
TABLE FILE WF_RETAIL_SALES HEADING CENTER "Cost and Revenue" " " SUM COGS_US REVENUE_US FOR ID_PRODUCT "Entertainment:"OVER '2001' TO '2167' AS 'Stereo Systems' LABEL SS OVER '4012' TO '4018' AS 'Televisions' LABEL TV OVER BAR OVER RECAP TOTENT=SS + TV; AS 'Total Entertainment' OVER "Accessories:" OVER '5001' TO '5007' AS 'Headphones' LABEL HP OVER '5008' TO '5009' AS 'Remote Controls' LABEL RC OVER BAR OVER RECAP TOTACC=HP+RC; AS 'Total Accessories' OVER BAR OVER RECAP TOTAL=TOTENT+TOTACC; AS 'Total' ON TABLE NOTOTAL ON TABLE SET STYLE * INCLUDE = IBFS:/FILE/IBI_HTML_DIR/javaassist/intl/EN/combine_templates/ENblack_theme.sty, $ ENDSTYLE END
プレシジョンレポートの作成
プレシジョンレポートは、レポート出力のオブジェクトやデータの正確な位置を簡単に制御するための専用ツールを備えたレポートタイプです。たとえば、プレシジョンレポートを使用すると、売買証書や納税申告用紙などの印刷済みフォームに正確に位置合わせされたレイアウトをデザインし、レコードを自動的に分割して 1 ページにつき 1 件のレコードが出力されるレポートをすばやく作成することができます。プレシジョンレポートのその他の利点は次のとおりです。
- 複数のオブジェクトを選択して同一サイズに統一したり、等間隔に配置したりする。
- フィールドを表示変数として追加することにより、見出しおよび脚注を強調する。
- レイアウトテンプレートを作成し、さまざまな属性値を指定して同一のプレシジョンレポートを実行する。
既存のレポートをプレシジョンレポートに変換することも、新しいプレシジョンレポートを作成することもできます。
下図は、プレシジョンレポートの例を示しています。プレシジョンレポートは、プレシジョンレポートキャンバスで作成します。プレシジョンレポートは、PDF、DHTML フォーマットで出力することができます。
プレシジョンレポートキャンバスを使用してプレシジョンレポートを作成する方法についての詳細は、プレシジョンレポートの作成を参照してください。
プレシジョンレポートキャンバスを使用してプレシジョンレポートを作成するには
次の例は、ベンダ別および製品区分別の収益を表示するプレシジョンレポートの作成方法を示しています。
- 手順
- [ホーム] タブの [コンテンツ] グループで [レポート] をクリックするか、[環境ツリー] パネルでフォルダを右クリックし、[新規作成]、[レポート]、[レポート]、[レポート] を順に選択します。
レポートウィザードが開きます。
- [レポートの作成] ボタンをクリックします。
- 新しいレポートの作成先に移動して [次へ] をクリックし、[データソースの選択] ウィンドウでデータソースを選択します。この例では、[wf_retail.mas] を選択し、[完了] をクリックします。
レポートキャンバスが開きます。
- [レポート] タブの [レポート] グループで、[プレシジョンレポート] をクリックします。
レポートがプレシジョンレポートに変換されることを示す [スタイルの警告] メッセージが表示されます。[はい] をクリックしてメッセージを閉じ、プレシジョンレポートキャンバスを開きます。
- [データマトリックス] レイヤでレポートを作成します。
- [レイヤ] タブの [データマトリックス] レイヤ下で、[領域] をクリックします。プレシジョンレポートキャンバスで、領域オブジェクトが選択済みプレースホルダとして表示されます。
- [フィールド] タブをクリックします。[ディメンション] フォルダで、[製品] キューブを展開します。[製品] 階層を展開し、[製品,区分] フィールドを選択します。フィールドを領域オブジェクトにドラッグします。
- [ディメンション] フォルダで、[製品] キューブ、[ベンダ] 階層を順に展開し、[ベンダ,ビジネス,地方区分] フィールドを選択します。フィールドを領域オブジェクトにドラッグします。
- [メジャー] フォルダで、[売上] 階層を展開し、[収益] フィールドを選択します。フィールドを領域オブジェクトにドラッグします。
- 領域オブジェクトをドラッグしてサイズを変更します。
- レポートに選択条件 (WHERE) を追加して、収益が 0 (ゼロ) の行を非表示にします。
- [レポート] タブの [フィルタ] グループで、[フィルタ] をクリックします。[フィルタ] ドロップダウンリストが開きます。
- ドロップダウンリストから [選択条件 (WHERE)] を選択します。式ビルダが開きます。
- [メジャー] フォルダで、[売上] 階層を展開し、[収益] フィールドをダブルクリックします。そのフィールドが [フィルタ適用カラム] テキストボックスに表示されます。
- [論理関係子] ドロップダウンリストから [より大きい (GT)] を選択します。
- [比較タイプ] ドロップダウンリストから [値] を選択します。
- [比較値] テキストボックスに「0」と入力します。フィルタ条件は下図のようになります。
- [OK] をクリックしてフィルタを保存し、式ビルダを閉じます。これで、レポートで収益が 0 (ゼロ) の行がすべて非表示になります。
- レポートに [レポート見出し] レイヤを追加し、テキストおよび埋め込みフィールドを挿入します。
- [レイヤ] タブで [レポート見出し] レイヤを選択します。
- [ツール] タブの [オブジェクト] グループで、[テキストの追加] をクリックします。 ポインタが矢印と T 文字の形状
に変わります。
- キャンバスをクリックしてテキストボックスを追加します。キャンバス上でポインタをドラッグすることで、サイズを調整しながらテキストボックスを作成することもできます。
注意:テキストのフォント、サイズ、スタイルを選択するには、[ツール] タブの [デフォルトスタイル] グループのオプションを使用します。
- 「Revenue by」と入力し、「by」の後にカーソルを置きます。
- [フィールド] タブをクリックし、[ディメンション] フォルダ下の [製品] キューブ、[ベンダ] 階層を順に展開し、[ベンダ,ビジネス,地方区分] フィールドをダブルクリックします。フィールドが「<Vendor,Business,Region」としてテキストオブジェクトに追加されます。
- レポートに [ページ見出し] レイヤを追加します。
- [レイヤ] タブで [ページ見出し] レイヤを選択します。
- [ツール] タブの [オブジェクト] グループで、[線の追加] をクリックします。ポインタが矢印と線の形状
に変わります。
- キャンバス上でマウスポインタをドラッグし、手順 7 で追加したテキストの下に線を作成します。
- [保存] をクリックします。
プレシジョンレポートは下図のようになります。
WebFOCUS 構文を使用してプレシジョンレポートを作成するには
テキストエディタで新しいプロシジャを開き、次の WebFOCUS コードを入力することで、プレシジョンレポートを作成することができます。
TABLE FILE WF_RETAIL
SUM REVENUE_US
BY BUSINESS_REGION
BY PRODUCT_CATEGORY
WHERE REVENUE_US GT 0;
ON TABLE SUBHEAD
"Revenue by <12 <BUSINESS_REGION "
ON TABLE SET NEWLAYOUT ON
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET STYLE *
INCLUDE = endeflt,
$
TYPE=TABHEADING,
LINE=1,
POSITION=(1.1 1),
WRAP=ON,
DIMENSION=(6 1),
NAME=TEXT, FONT='ARIAL', COLOR='RED',
$
TYPE=TABHEADING, OBJECT=TEXT, SIZE=15, STYLE=NORMAL ,$
TYPE=TABHEADING, OBJECT=FIELD, SIZE=15, STYLE=ITALIC ,$
$
TYPE=HEADING,
OBJECT=Line,
POSITION=(1.055556 1.402778),
ENDPOINT=(4.3 1.4),
NAME=LINE,
BORDER-TOP=1.00,
$
TYPE=DATAMATRIX,
NAME=Data Matrix,
POSITION=(1.1 1.5),
DIMENSION=(5 3),$
ENDSTYLE
END
SQL リクエストによる表形式レポートの作成
SQL レポート言語を使用してデータを取得するとともに、そのプロシジャに WebFOCUS フォーマットコマンドを直接組み込むことができます。次のリクエストは、SQL SELECT ステートメントを使用して単純な表形式レポートを作成します。
SQL SELECT BRANDTYPE, PRODUCT_CATEGORY, SUM(COGS_US), SUM(REVENUE_US) FROM WF_RETAIL GROUP BY BRANDTYPE, PRODUCT_CATEGORY; END
出力結果は次のとおりです。
別リクエストでサブクエリとして使用可能な SQL スクリプトの生成
次のリクエストは、ON TABLE HOLD FORMAT SQL_SCRIPT コマンドを使用して、別のリクエストでサブクエリとして使用可能な SQL SELECT ステートメントが含まれたファイルを自動的に生成します。このリクエストには、Accessories 製品カテゴリを除外する WHERE 句が含まれています。
TABLE FILE WF_RETAIL SUM MSRP_US BY PRODUCT_CATEGORY WHERE PRODUCT_CATEGORY NE 'Accessories' ON TABLE HOLD AS app1/sql1 FORMAT SQL_SCRIPT END
以下は、ON TABLE HOLD FORMAT SQL_SCRIPT コマンドから生成されるマスターファイルを示しています。
FILENAME=SQL1, SUFFIX=SQLMSS , $
SEGMENT=SQL1, SEGTYPE=S0, $
FIELDNAME=PRODUCT_CATEGORY, ALIAS=E01, USAGE=A40V, ACTUAL=A40V,
MISSING=ON,
TITLE='Product,Category', $
FIELDNAME=MSRP_US, ALIAS=E02, USAGE=D20.2, ACTUAL=D8,
MISSING=ON,
TITLE='MSRP', $
以下は、ON TABLE HOLD FORMAT SQL_SCRIPT コマンドから生成されるアクセスファイルを示しています。
SEGNAME=SQL1, CONNECTION=wfretail, DATASET=APP1/SQL1.SQL, KEY=PRODUCT_CATEGORY, SUBQUERY=Y, $
以下は、ON TABLE HOLD FORMAT SQL_SCRIPT コマンドから生成され、サブクエリとして使用可能な SQL SELECT ステートメントを示しています。
SELECT T18."PRODUCT_CATEGORY" AS "E01", SUM(T1."REVENUE_US") AS "E02", SUM(T1."COGS_US") AS "E03 FROM (wrd_wf_retail_sales T1 LEFT OUTER JOIN wrd_wf_retail_product T18 ON T18."ID_PRODUCT" = T1."ID_PRODUCT") GROUP BY T18."PRODUCT_CATEGORY"
以下は、sql1 ファイルを使用する TABLE リクエストを示しています。
TABLE FILE wf_retail SUM REVENUE_US BY PRODUCT_CATEGORY WHERE DB_INFILE(sql1, PRODUCT_CATEGORY, PRODUCT_CATEGORY) END
以下は、生成された SQL リクエストを示しています。このリクエストで、sql1 ファイルがサブクエリとして使用されます。
SELECT T18."PRODUCT_CATEGORY", SUM(T1."REVENUE_US") FROM wrd_wf_retail_sales T1, wrd_wf_retail_product T18 WHERE (T18."ID_PRODUCT" = T1."ID_PRODUCT") AND (T18."PRODUCT_CATEGORY" IN (SELECT "E01" FROM (SELECT T18."PRODUCT_CATEGORY" AS "E01", SUM(T1."MSRP_US") AS "E02 FROM wrd_wf_retail_sales T1, wrd_wf_retail_product T18 WHERE (T18."ID_PRODUCT" = T1."ID_PRODUCT") AND (T18."PRODUCT_CATEGORY" <> 'Accessories') GROUP BY T18."PRODUCT_CATEGORY") S1)) GROUP BY T18."PRODUCT_CATEGORY ORDER BY T18."PRODUCT_CATEGORY";
下図は、出力結果を示しています。このレポートでは、上記のサブクエリにより、Accessories 製品カテゴリが除外されています。