Oracle® Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド 11gリリース1(11.1.1) B66712-02 |
|
前へ |
次 |
この章では、BI Publisherデータ・モデルにパラメータと値リストを追加する方法について説明します。
この章の内容は次のとおりです。
データ・モデルにパラメータを追加することで、レポートを表示するときにユーザーがデータをやりとりできるようになります。
BI Publisherでは、次のパラメータ・タイプがサポートされます。
テキスト: ユーザーはパラメータとして渡すテキスト文字列を入力します。
メニュー: ユーザーは値リストから選択します。値リストには、指定した固定データを含めることも、定義されたデータソースに対して実行するSQL問合せを使用して作成したリストを含めることもできます。このオプションでは、複数選択、「すべて選択」オプション、およびパラメータをカスケードするための部分的なページ・リフレッシュがサポートされています。
メニュー・タイプのパラメータを作成する場合は、最初に値リストを定義してから、パラメータを定義して、そのパラメータを値リストに関連付けます。第4.4項「値リストの追加」を参照してください。
日付: ユーザーはパラメータとして日付を選択します。データ型も日付である必要があり、形式はJava日付フォーマットである必要があります。
データ・モデルにパラメータが定義されていると、そのパラメータのレポート内での表示方法は、レポート・レベルの設定としてさらに細かく構成できます。レポート・レベルの設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』のレポート用にパラメータ設定を構成する方法に関する項を参照してください。
パラメータのサポートはデータ・セットのタイプに応じて異なります。SQL問合せのデータ・セットは、利用可能なパラメータ機能の完全なセットをサポートします。その他のタイプのデータ・セットは、これらの機能のすべてまたはサブセットをサポートするか、まったくサポートしないこともあります。表4-1は、それぞれのデータ・セットのタイプに応じたサポートの内容を示しています。
表4-1 データ・セットのタイプに応じたパラメータのサポート
データ・セットのタイプ | パラメータのサポート | 複数選択 | 全選択可能 | 変更時に他のパラメータをリフレッシュ |
---|---|---|---|---|
SQL問合せ |
可 |
可 |
可 |
可 |
MDX問合せ |
不可 |
不可 |
不可 |
不可 |
Oracle BI Analysis |
Oracle BI Analysisから継承 |
可(Oracle BI Dashboard経由) |
可(Oracle BI Dashboard経由) |
可(Oracle BI Dashboard経由) |
ビュー・オブジェクト |
可。ただし、ビュー・オブジェクトがサポートし、そのように設計されている場合。 |
可。ビュー・オブジェクトで適切な構文を使用している場合。 |
可。ビュー・オブジェクトで適切な構文を使用している場合。 |
可(ビュー・オブジェクト・パラメータのみ) |
Webサービス |
可 |
不可 |
不可 |
不可 |
LDAP問合せ |
可 |
不可 |
不可 |
不可 |
XMLファイル |
N/A |
N/A |
N/A |
N/A |
Microsoft Excelのファイル |
可 |
不可 |
不可 |
不可 |
HTTP(XML入力) |
可 |
不可 |
不可 |
不可 |
新規パラメータを追加するには:
「データ・モデル」のコンポーネント・ペインで、「パラメータ」をクリックして、「新規パラメータの作成」をクリックします(図4-1を参照)。
パラメータの「名前」を入力します。名前はデータ・セット内のこのパラメータへの参照と同じにする必要があります。
注意: パラメータ名を決定する際は、使用するデータベースの識別子に許容された最大文字数を超過してはいけません。識別子の長さの制限については、使用するデータベースのドキュメントを参照してください。 |
リストから「データ型」を選択します。「日付」データ型は、日付の「パラメータ・タイプ」のみをサポートします。その他のデータ型は、次のメニューまたはテキストの「パラメータ・タイプ」をサポートします。
文字列
整数
注意: パラメータ用の整数データ型は、64ビット符号付き整数です。値の範囲は、-9,223,372,036,854,775,808以上、9,223,372,036,854,775,807以下です。 |
ブール
日付
浮動小数値
パラメータの「デフォルト値」を入力します。長時間実行される問合せを防止するために、これをお薦めします。デフォルトのパラメータ値は、BI Publisherレイアウト・エディタを使用してレポートのレイアウトを設計する際に、レポート出力をプレビューするためにも使用されます。
「パラメータ・タイプ」を選択します。サポートされているタイプは、次のとおりです。
テキスト: ユーザーはパラメータとして渡すテキスト・エントリを入力できます。第4.2.1項「テキスト・パラメータの定義」を参照してください。
メニュー: ユーザーに値リストを提示します。第4.2.2項「メニュー・パラメータの定義」を参照してください。
日付: 日付パラメータを渡します。「データ型」も日付にする必要があります。第4.2.3項「日付パラメータの定義」を参照してください。
注意: BI Publisherでは、テキスト入力またはメニュー(値リスト)のタイプをサポートしていますが、両方はサポートしていません。そのため、ユーザーがテキスト値を入力することも、値リストのメニューから選択することもできるような複合パラメータを定義できません。 |
行配置: この設定では、パラメータを表示する行の数と、各パラメータを配置する行を構成します。たとえば、レポートに6つのパラメータが含まれている場合は、それぞれが先頭行になるように各パラメータを個別の行(1~6)に割り当てることも、それぞれ2つのパラメータを行1、2、3に割り当てることもできます。デフォルトでは、すべてのパラメータが行1に割り当てられます。
行配置は、レポート・レベルでも構成できます。レポート定義では、パラメータに対して追加の表示オプションをサポートしています。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』のレポートのパラメータ設定を構成する方法に関する項を参照してください。
「テキスト」タイプのパラメータは、テキスト・ボックスを提示して、パラメータとしてデータソースに渡すテキスト・エントリを入力するようにユーザーに求めます。図4-2に、テキスト・パラメータの定義を示します。
テキスト・タイプのパラメータを定義するには:
「パラメータ・タイプ」リストから「テキスト」を選択します。下側のペインに、選択に応じた適切なフィールドが表示されます。
「表示ラベル」を入力します。表示ラベルは、レポートを表示したときにユーザーに表示されるラベルです。たとえば、Departmentなど。
「テキスト・フィールド・サイズ」に整数を入力します。このフィールドでは、テキスト・ボックスにユーザーが入力できる文字の数を決定します。たとえば、25など。
必要に応じて、次の「オプション」を有効にします。
テキスト・フィールドにカンマ区切りの値を含む: このオプションを選択すると、ユーザーはこのパラメータに対してカンマ区切りの複数の値を入力できます。データソース内のパラメータは、複数の値をサポートするように定義されている必要があります。
変更時に他のパラメータをリフレッシュ: このパラメータの値に依存する値を持つ他のパラメータをリフレッシュするために、ページの部分的なリフレッシュを実行します。
図4-3に、レポート利用者に表示されるDepartmentパラメータを示します。
メニュー・タイプのパラメータは、ユーザーに値リストを提示します。最初に、値リストを定義しておく必要があります。詳細は、第4.4項「値リストの追加」を参照してください。メニュー・タイプのパラメータは、「文字列」および「整数」のデータ・タイプのみをサポートします。
メニュー・パラメータの定義は、次のオプションを含みます。
図4-4に、メニュー・パラメータの定義を示します。
メニュー・タイプのパラメータを定義するには:
「パラメータ・タイプ」リストから「メニュー」を選択します。下側のペインに適切なフィールドが表示されます。「データ型」(「文字列」または「整数」)を選択します。
「表示ラベル」を入力します。表示ラベルは、レポートを表示したときにユーザーに表示されるラベルです。たとえば、Departmentなど。
「リストに表示する値の数」を入力します。このフィールドのエントリよりもリスト内の値の数が多い場合、ユーザーは「検索」をクリックして、表示されていない値を探す必要があります(図4-5を参照)。このフィールドのデフォルトは、100に設定されています。
このパラメータに定義した「値リスト」を選択します。
必要に応じて、次の「オプション」を有効にします。
複数選択: ユーザーはリストから複数のエントリを選択できます。データソースは、このパラメータに対して複数の値をサポートできる必要があります。複数の選択をサポートするメニュー・パラメータの表示は別のものになります。詳細は、図4-6および図4-7を参照してください。
全選択可能: リストに「すべて」オプションを挿入します。値リストから「すべて」を選択すると、パラメータにNULL値を渡すか、リストのすべての値を渡すかを選択できます。「NULL値が渡されました」または「すべての値が渡されました」を選択します。
注意: 「*」を使用するとNULLを渡すことになるため、データソースでNULLを処理する必要があります。NULLを処理するメソッドは、次のような標準のOracle NVLコマンドです。 where customer_id = nvl(:cstid, customer_id) このcstidはLOVから渡された値になります。ユーザーが「すべて」を選択するとLOVはNULL値を渡します。 |
変更時に他のパラメータをリフレッシュ: このパラメータの値に依存する値を持つ他のパラメータをリフレッシュするために、ページの部分的なリフレッシュを実行します。
図4-6は、複数選択が無効にされている場合に、レポート利用者に表示されるDepartmentメニュー・タイプのパラメータを示しています。
図4-7は、複数選択が有効にされている場合に、レポート利用者に表示されるDepartmentメニュー・タイプのパラメータを示しています。
日付タイプのパラメータは、データソースに渡すパラメータとして日付を入力するようにユーザーに求める日付ピッカーを提示します。図4-8に、日付パラメータの定義を示します。
日付タイプのパラメータを定義するには:
「パラメータ・タイプ」リストから「日付」を選択します。下側のペインに、選択に応じた適切なフィールドが表示されます。
「表示ラベル」を入力します。表示ラベルは、レポートを表示したときにユーザーに表示されるラベルです。たとえば、Hire Dateなど。
「テキスト・フィールド・サイズ」に整数を入力します。このフィールドでは、日付エントリ用のテキスト・ボックスにユーザーが入力できる文字数を決定します。たとえば、10など。
「日付書式文字列」を入力します。この書式は、Javaの日付書式にする必要があります(例: MM-dd-yyyy)。
必要に応じて、「開始日」と「終了日」を入力します。ここに入力した各日付によって、日付ピッカーでユーザーに提示する日付の範囲を定義します。たとえば、「開始日」に01-01-1990を入力すると、ユーザーは1990年1月1日より前の日付を日付ピッカーで選択できなくなります。「終了日」を空白のままにすると、将来の日付がすべて有効になります。
図4-9に、レポート利用者に表示されるHire Dateパラメータを示します。
値リストには、レポート利用者がデータソースに渡すパラメータ値を選択できる値のセットを定義します。メニュー・タイプのパラメータを定義すると、ここで定義した値リストは選択メニューを提示することになります。値リストは、メニュー・パラメータを定義する前に定義する必要があります。
次のいずれかの方法で、リストを移入します。
固定データ: 値リストを手動で入力します。
SQL問合せ: SQL問合せを使用してデータベースから値を取得します。
値リストを追加するには:
「データ・モデル」のコンポーネント・ペインで、「値リスト」をクリックし、「新規値リストの作成」をクリックします(図4-10を参照)。
リストの「名前」を入力して、「タイプ」に「SQL問合せ」または「固定データ」を選択します。
データ・エンジンは、値リストの問合せから名前(表示名)と値のペアを作成します。値リストのSELECT文では、データ・エンジンによって、最初にリストされる列が(ユーザーに表示される)表示名に使用され、2番目の列がデータ・セットの問合せのパラメータに渡される値に使用されます。
問合せで返される列が1つのみの場合は、その列の値が、ユーザーに表示される値リストの表示名およびパラメータに渡される値の両方として使用されます。
SQL問合せからリストを作成するには:
リストから「データソース」を選択します。
問合せの結果をレポート・セッション用にキャッシュする場合は、下側のペインで「結果のキャッシュ」を選択します(推奨)。
SQL問合せを入力するか、クエリー・ビルダーを使用します。クエリー・ビルダー・ユーティリティの詳細は、第2.4項「クエリー・ビルダーの使用」を参照してください。図4-11に、SQL問合せタイプの値リストを示します。
図4-11に示すSQL問合せは、DEPARTMENTS表のDEPARTMENT_NAME列のみを選択しています。この場合、値リストが問合せの結果としてリストに表示され、その同じ値がデータ・セットのパラメータに渡されます。図4-12は、値リストの表示項目とデータ・セットに渡された値を示しています。メニュー項目とP_DEPTに表示されている値はDEPARTMENT_NAMEの値であることに注意してください。
かわりに、DEPARTMENT_NAMEをリスト表示しているデータセットのパラメータにDEPARTMENT_IDを渡す場合は、SQL問合せを次のように構成します。
select "DEPARTMENTS"."DEPARTMENT_NAME" as "DEPARTMENT_NAME", "DEPARTMENTS"."DEPARTMENT_ID" as "DEPARTMENT_ID" from "DEMO"."DEPARTMENTS" "DEPARTMENTS
図4-13は、値リストの表示項目とデータ・セットに渡された値を示しています。メニューにはDEPARTMENT_NAMEがリスト表示され、P_DEPTにはDEPARTMENT_IDの値が表示されていることに注意してください。
固定データ・セットからリストを作成するには:
下側のペインで、「新規値リストの作成」アイコンをクリックして、「ラベル」と「値」のペアを追加します。ラベルはユーザーにリスト表示されます。値はデータ・エンジンに渡されます。
これを、必要なラベルと値のペアごとに繰り返します。
図4-14に、固定データ・タイプの値リストを示します。