この項の内容:
この章のすべてのレポート・スクリプトの例は、Sample.Basicデータベースに基づいています。
ページ、行および列に使用する次元を、レポート・コマンドで宣言しメンバーを選択すると、単純なレポート・スクリプトのすべての要素が作成されます。
次のレポート・スクリプト・プロセスの例は、要素、次元およびメンバー選択コマンドを指定するサンプル・スクリプトを手順ごとに示します。このスクリプトには、スクリプトの動作を文書で説明するコメントおよび!出力コマンドが含まれます。このスクリプトは、Sample.Basicデータベースに基づいています。
Oracle Essbase Administration Services Online Helpの「スクリプトの作成」を参照してください。
// This is a simple report script example // Define the dimensions to list on the current page, as below <PAGE (Market, Measures) // Define the dimensions to list across the page, as below <COLUMN (Year, Scenario) // Define the dimensions to list down the page, as below <ROW (Product) // Select the members to include in the report Sales <ICHILDREN Market Qtr1 Qtr2 Actual Budget Variance <ICHILDREN Product // Finish with a bang !
Oracle Essbase Administration Services Online Helpの「スクリプトの保存」を参照してください。
Oracle Essbase Administration Services Online Helpの「レポート・スクリプトの実行」を参照してください。
スクリプト例をSample.Basicデータベースに対して実行すると、次のレポートが生成されます:
East Sales Qtr1 Qtr2 Actual Budget Variance Actual Budget Variance ======== ======== ======== ======== ======== ======== 100 9,211 6,500 2,711 10,069 6,900 3,169 200 6,542 3,700 2,842 6,697 3,700 2,997 300 6,483 4,500 1,983 6,956 5,200 1,756 400 4,725 2,800 ,925 4,956 3,200 1,756 Product 26,961 17,500 9,461 28,678 19,000 9,678 West Sales Qtr1 Qtr2 Actual Budget Variance Actual Budget Variance ======== ======== ======== ======== ======== ======== 100 7,660 5,900 1,760 7,942 6,500 1,442 200 8,278 6,100 2,178 8,524 6,200 2,324 300 8,599 6,800 1,799 9,583 7,600 1,983 400 8,403 5,200 3,203 8,888 6,300 2,588 Product 32,940 24,000 8,940 34,937 26,600 8,337 South Sales Qtr1 Qtr2 Actual Budget Variance Actual Budget Variance ======== ======== ======== ======== ======== ======== 100 5,940 4,100 1,840 6,294 4,900 1,394 200 5,354 3,400 1,954 5,535 4,000 1,535 300 4,639 4,000 639 4,570 3,800 770 400 #MISSING MISSING #MISSING #MISSING #MISSING #MISSING Product 15,933 11,500 4,433 16,399 12,700 3,699 Central Sales Qtr1 Qtr2 Actual Budget Variance Actual Budget Variance ======== ======== ======== ======== ======== ======== 100 9,246 ,500 2,746 9,974 7,300 2,674 200 7,269 6,800 469 7,440 7,000 440 300 10,405 6,200 4,205 10,784 6,800 3,984 400 10,664 5,200 5,464 11,201 5,800 5,401 Product 37,584 24,700 12,884 39,399 26,900 12,499 Market Sales Qtr1 Qtr2 Actual Budget Variance Actual Budget Variance ======== ======== ======== ======== ======== ======== 100 32,057 23,000 9,057 34,279 25,600 8,679 200 27,443 20,000 7,443 28,196 20,900 7,296 300 30,126 21,500 8,626 31,893 23,400 8,493 400 23,792 13,200 10,592 25,045 15,300 9,745 Product 113,418 77,700 35,718 119,413 85,200 34,21
レポート・ライターは次の3つの主なコンポーネントで構成されています:
レポート・エクストラクタでは、次のアクションを実行して、レポート・スクリプトを処理し、データを取得します:
レポート・エクストラクタによるデータの取得順序は、複雑な抽出とフォーマット・コマンドの実行に影響します。たとえば、レポート・エクストラクタでは、データを制限(手順5)してから、データをソート(手順6)するので、条件付き取得コマンドを間違った順序で配置した場合、予期しないレポートの出力結果となる可能性があります。レポート・スクリプトを設計するときには、データ取得プロセスに注意してください。
レポートについてプランし、それを設計する場合、レポートのパートを理解することが不可欠です。
ページ見出しは、現在のページに表示される次元をリストします。ページのすべてのデータ値には、ページ見出しの次元が共通のプロパティとして適用されています。
<PAGE (Market, Measures)
列見出しは、ページ上のメンバーをリストします。複数の次元からのデータをレポートする列を定義できます。この場合、ネストされた列見出しとなります。
<COLUMN (Year, Scenario)
行見出しは、ページの下方向にメンバーをリストします。1つの次元内の複数のレベルからの行を含むメンバー・リストまたは複数の次元からの行を含むメンバー・リストを定義できます。行は、次元名の下にインデント表示されます。
<ROW (Product)
タイトルには、ユーザー定義のテキスト、日付、タイム・スタンプ、レポートを実行しているユーザーの名前、ページ番号、ソース・データベースの名前またはその他の説明情報が表示されます。タイトルは、ユーザーが生成し、省略可能です。ページ、列および行の見出しは、レポート・ページ上のデータを明確に説明するために必要なので、自動的に生成されます。
{ STARTHEADING TEXT 1 "Prepared by:" 14 "*USERNAME" C "The Electronics Club" 65 "*PAGESTRING" TEXT 65 "*DATE" SKIP ENDHEADING }
データ値は、データベース・セルに含まれている値です。データ値は、メンバーの組合せの検索結果、またはレポート・エクストラクタでのレポート実行時の計算結果です。各データ値は、ページ見出し、列見出しおよび行名のメンバーの組合せです。
行のすべてのデータ値は、その行の行名のプロパティを共有します。レポートにはゼロ個以上の行名次元を使用できます。各行名次元は、行名の列を生成します。最も内側の行名の列が最も速く循環します。
レポート・スクリプトは、一連のレポート・ライター・コマンドで構成され、感嘆符(!)レポート出力コマンドで終了します。
レポート・スクリプト・ファイルに1つ以上のレポート・スクリプトを入力できます。レポート・スクリプト・ファイルは、レポート・スクリプト・エディタまたは任意のテキスト・エディタで作成するテキスト・ファイルです。
レポート・スクリプトを作成するには、レイアウト、メンバーの選択およびフォーマットを定義するコマンドをレポート・スクリプト・エディタで入力または選択します。スクリプトのそれぞれの要素は、読みやすくするために色分けされます。構文のオートコンプリートを使用可能にして、スクリプトをすばやく作成できます。
レポート・ライターのコマンドでは、データ抽出およびフォーマットの2つの処理が実行されます:
レポート・スクリプト・エディタを使用して、レポート・スクリプトを作成または変更するときには、Administration Servicesを使用する必要があります。任意のテキスト・エディタを使用して、スクリプト・ファイルを作成できます。レポート・スクリプト・エディタを使用した場合、デスクトップ・コンピュータだけでなく、Essbaseサーバーに保管されているレポート・スクリプトも作成および変更できます。サーバーに保管されているレポート・スクリプトを変更するには、アプリケーション・マネージャまたはデータベース・マネージャのアクセス権が必要です。
Essbaseでは、複数のユーザーによるデータベースへの同時アクセスをサポートします。ほとんどの複数ユーザー環境と同様、Essbaseでは、重要なデータをセキュリティ・システムで保護します。ユーザーは、正しい権限がある場合にのみデータの読取りまたは更新ができます。
レポート・スクリプトを実行すると、Essbaseのセキュリティによって、レポートの指定されたすべてのデータ・メンバーに対して読取り以上のアクセス・レベルがユーザーにあることが確認されます。メンバーをスプレッドシートに取り込むプロセスと同じフィルタ・プロセスでは、Essbaseによって、ユーザーの権限が足りないメンバーが出力から除外されます。
データのレポートのみを行うユーザーには、他のユーザーによって行われたロックは透過的です。ユーザーがロックしていて、レポートに必要なデータの一部を更新している場合でも、ロックがレポートを妨げることはありません。レポートのデータは、レポートを実行した時点でのデータベースのデータを表します。同じレポートを後で実行すると、前回のレポート実行後に行われた変更が反映されます。
Essbaseセキュリティ・システムの詳細は、EPM Systemセキュリティ・モードでのユーザーの管理およびセキュリティを参照してください。
この項では、レポート・スクリプトを作成するプロセスについて説明します。
レポート・スクリプトの作成を参照してください。
Oracle Essbase Administration Services Online Helpの「スクリプト構文の検査」を参照してください。
レポート・スクリプトの保存を参照してください。
レポート・スクリプトの実行を参照してください。
Oracle Essbase Administration Services Online Helpの「レポートの保存」を参照してください。
データベースのデータに関してレポートするには、次のいずれかの方法を使用します:
レポート・スクリプト・エディタ。多次元データの多数のページで構成される大規模なレポートを作成するには、レポート・スクリプト・エディタを使用します。この規模のレポートは、ほとんどの場合、最も強力なスプレッドシートの機能も超える可能性があります。レポート・ライター・コマンドを使用して、フォーマット済レポートの定義、Essbaseデータベースからのデータのサブセットのエクスポートおよびフリーフォーム・レポートの作成を行うことができます。Oracle Essbase Administration Services Online Helpの「スクリプトの作成」を参照してください。
スプレッドシート。フリーフォーム・モードまたはテンプレート取得モードでスプレッドシートのレポート・コマンドを使用します。
Essbase API。C、Visual BasicおよびグリッドAPIを使用したレポートの生成および『Oracle Essbase APIリファレンス』を参照してください。
Administration Servicesでのレポート・スクリプトの作成と編集の詳細は、Oracle Essbase Administration Services Online Helpの「レポート・スクリプト・エディタについて」を参照してください。
Administration Servicesを使用してレポート・スクリプトを実行すると、その結果を「レポート・ビューア」ウィンドウ、プリンタまたはファイル(あるいは3つすべて)に送信できます。「レポート・ビューア」ウィンドウでは、レポートを印刷、保存およびコピーできます。
Administration Servicesを使用すると、レポートをバックグラウンドで実行できるので、レポートの処理中でも作業を続けることができます。バックグラウンド・プロセスのステータスを確認して、レポートが完了した時間を確認できます。
Oracle Essbase Administration Services Online Helpの「レポート・スクリプトの実行」を参照してください。
フリーフォーム・レポートは、通常、構造化レポートを作成するよりも簡単に作成できます。フリーフォームのレポート形式は、「レポート・スクリプト・エディタ」ウィンドウでのアド・ホック・レポートに最適です。
フリーフォーム・レポートでは、PAGEコマンド、COLUMNコマンドまたはROWコマンドを使用しません。そのかわりに、レポートを実行すると、一連の内部ルールから情報が集められて、レポート・エクストラクタによってレポート・スクリプトに適用されます。
次のスクリプトおよびレポートは、フリーフォーム・レポートの例です:
Sales Colas Jan Feb Mar Actual Budget Illinois Ohio Wisconsin Missouri Iowa Colorado {UCHARACTERS} Central !
Sales 100 Jan Feb Mar Actual Budget Actual Budget Actual Budget ======= ======= ======= ======= ======= ======= Illinois 829 700 898 700 932 700 Ohio 430 300 397 300 380 300 Wisconsin 490 300 518 400 535 400 Missouri 472 300 470 300 462 300 Iowa 161 0 162 0 162 0 Colorado 643 500 665 500 640 500 ======== === === === === === === Central 3,025 2,100 3,110 2,200 3,111 2,200
フォーマット・コマンドを使用して、特定のフォーマットをフリーフォーム・レポートに追加できます。PAGE、COLUMNおよびROWコマンドが省略されている場合、Essbaseでは、次のルールに従ってフリーフォーム・レポートをフォーマットします:
レポート・エクストラクタは、レポート指定に定義されている単一の次元の最後のメンバー(レポート出力演算子!の前)を見つけます。この次元がレポートの行次元になります。残りのすべての選択は、ルール2と3に定義されているように、ページ次元または列次元になります。
レポート・エクストラクタは、単一メンバー選択をサーチします。ルール1を満たしていない単一メンバーが見つかった場合、その次元はページ次元になります。
レポート・エクストラクタは、ルール1または2を満たしていない残りの次元メンバーをサーチします。残りのメンバーが見つかった場合、その次元は列次元になります。列次元は、フリーフォーム・スクリプトでの選択順にネストされます。
レポート・エクストラクタは、レポート指定で指定されていない次元について、データベース・アウトラインをサーチします。指定されていない次元が見つかった場合、その次元はページ次元(ルール2に定義されている、単一メンバー選択のデフォルト)になります。
たとえば、次のレポートは、California、Oregon、Washington、Utah、NevadaおよびWestがMarketのメンバーとして認識されます。
Sales Jan Feb Mar Actual Budget Apr May Jun California Oregon Washington Utah Nevada {UCHARACTERS} West !
レポート・エクストラクタは、このレポートにフリーフォームのフォーマット・ルールを適用します:
California、Oregon、Washington、Utah、NevadaおよびWestは最後にリストされているので、レポート・エクストラクタは、これらをROW(Market)が指定されている場合と同様に扱います(ルール1)。
Salesはメジャー次元からの単一メンバー選択です。レポート・エクストラクタは、このメンバーをPAGE(Measures)が指定されている場合と同様に扱います(ルール2)。
レポート・エクストラクタは、残りのメンバーをサーチすると、年次元とシナリオ次元のメンバーを検出します。このメンバーをCOLUMN(Year, Scenario)として扱います(ルール3)。
レポート・エクストラクタは、データベース・アウトラインをサーチし、製品次元がレポート指定で指定されていないことを検出します。製品は単一メンバー選択なので、レポート・エクストラクタはこのメンバーをPAGE(Product)が指定されている場合と同様に扱います(ルール4)。
最後に、レポート・エクストラクタは、Apr May JunがJan Feb Marと同じ次元に含まれ、スクリプトの後続の行に表示されていることを検出します。レポート・エクストラクタは、最初の指定(Jan Feb Mar)を破棄して、2番目の指定(Apr May Jun)を使用します。
Product Sales Actual Budget Apr May Jun Apr May Jun ======= ====== ====== ====== ====== ====== California 3,814 4,031 4,319 3,000 3,400 3,700 Oregon 1,736 1,688 1,675 1,100 1,000 1,100 Washington 1,868 1,908 1,924 1,500 1,600 1,700 Utah 1,449 1,416 1,445 900 800 800 Nevada 2,442 2,541 2,681 1,900 2,000 2,100 ====== ===== ===== ===== ===== ===== ===== West 11,309 11,584 12,044 8,400 8,800 9,400