プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド
12c (12.2.1)
E70035-01
  目次へ移動
目次

前
前へ
 
次
 

6 フレックスフィールドの追加

この章では、BI Publisherデータ・モデルのフレックスフィールドのサポートについて説明します。

この章の内容は次のとおりです。

6.1 フレックスフィールドについて

フレックスフィールドは、プログラミングせずに組織のビジネス・ニーズに合せてカスタマイズできる柔軟なデータ・フィールドです。Oracleアプリケーション(Oracle E-Business SuiteおよびOracle Fusion Applications)では、キー・フレックスフィールドと付加フレックスフィールドの2種類のフレックスフィールドが使用されています。キー・フレックスフィールドは、部品番号、アカウント番号などのマルチセグメント値を入力するためにカスタマイズできるフィールドです。付加フレックスフィールドは、Oracleアプリケーション製品でフィールドがまだ用意されていない追加情報を入力するためにカスタマイズできるフィールドです。

Oracleアプリケーションからのデータについてのレポートを作成する場合は、データ・モデルのフレックスフィールド・コンポーネントを使用してフレックスフィールド・データを取得します。BI PublisherがOracle Fusion Applicationsと統合されている場合は、キー・フレックスフィールドと付加フレックスフィールドの両方がサポートされます。BI PublisherがOracle E-Business Suiteと統合されている場合は、キー・フレックスフィールドのみがサポートされます。

図6-1 データ・モデルのフレックスフィールド・コンポーネント

データ・モデルのフレックスフィールド・コンポーネント

レポートにフレックスフィールドを含めるには、アプリケーションにおけるフレックスフィールドを理解する必要があります。Oracle E-Business SuiteまたはOracle Fusion Applicationsのドキュメントを参照してください。

6.1.1 データ・モデルでのフレックスフィールドの使用方法

SQLベースのデータ・モデルでフレックスフィールドを使用するには、次のようにします。

  • この章での説明に従って、フレックス不イールド・コンポーネントをデータ・モデルに追加します。

  • アプリケーションのデータ表に対してSQL SELECT文を定義します。

  • SELECT文の内部で、各フレックスフィールドを字句として定義します。SELECT文にフレックスフィールド関連字句を埋め込むには、&LEXICAL_TAGを使用します。

6.2 キー・フレックスフィールドの追加

キー・フレックスフィールド参照を使用すると、SELECT、FROM、WHERE、ORDER BYまたはHAVINGの後に出現する句を置換できます。フレックスフィールド参照は、実行時にパラメータを複数の値に置換する必要があるときに使用します。データ・モデル・エディタは、次のフレックスフィールド・タイプをサポートしています。

  • Where - このタイプの字句は、文のWHEREセクションで使用されます。これは、キー・フレックスフィールド・セグメント・データに基づいてSELECT文がフィルタ処理できるようにWHERE句を変更する際に使用されます。

  • Order by - このタイプの字句は、文のORDER BYセクションで使用されます。この字句では、出力結果をフレックス・セグメント値によりソートできるように列の式のリストが戻されます。

  • Select - このタイプの字句は、文のSELECTセクションで使用されます。これは、字句定義に基づき、キー・フレックスフィールド(kff)コード組合せ関連データの取得および処理に使用されます。

  • Filter - このタイプの字句は、文のWHEREセクションで使用されます。これは、Oracle Enterprise Scheduling Serviceから渡されたフィルタIDに基づいてSELECT文がフィルタ処理できるようにWHERE句を変更するために使用します。

  • Segment Metadata - フレックスフィールド関連のメタデータを取得するには、このタイプの字句を使用します。この字句を使用する場合、このメタデータの取得にPL/SQLコードを作成する必要はありません。そのかわり、ダミーSELECT文を定義してから、この字句を使用してメタデータを取得します。この字句は、定数文字列を返します。

データ・モデルのフレックスフィールド・コンポーネントを設定してから、次の構文を使用してSQL問合せでフレックスフィールド字句参照を作成します。

&LEXICAL_TAG ALIAS_NAME

例:

&FLEX_GL_BALANCING alias_gl_balancing

SQL問合せを入力したら、「OK」をクリックします。

キー・フレックスフィールドを追加するには:

  1. 次の項目を入力します。

    • 字句名 - フレックスフィールド・コンポーネントの名前を入力します。

    • フレックスフィールド・タイプ — 「キー・フレックスフィールド」を選択します。

    • 字句タイプ — リストからタイプを選択します。ここでの選択によって、必要になる追加フィールドが決まります。第6.2.1項「フレックスフィールドの詳細の入力」を参照してください。

    • アプリケーションの短縮名 - このフレックスフィールドを所有するOracle Applicationの短縮名を入力します(例 - GL)。

    • フレックスフィールド・コード — このフレックスフィールドに定義されているフレックスフィールド・コードを入力します。Oracle E-Business Suiteでは、このコードは、キー・フレックスフィールドの登録フォームで定義されます(GL#など)。

    • IDフレックス番号 - フレックスフィールド構造情報を格納しているソース列またはパラメータの名前を入力します。たとえば、101です。パラメータを使用するには、:PARAM_STRUCT_NUMのようにパラメータ名の前にコロンを付けます。

      図6-2 キー・フレックスフィールド

      キー・フレックスフィールドの例

6.2.1 フレックスフィールドの詳細の入力

「詳細」リージョンに、選択した字句タイプに応じて適切なフィールドが表示されます。

キー・フレックスフィールド・タイプ: Segment Metadataのフィールド

Segment Metadataの詳細

表6-1 Segment Metadataの詳細フィールド

フィールド 説明

構造インスタンス番号

フレックスフィールド構造情報が格納されているソース列またはパラメータの名前を入力します。たとえば、101です。パラメータを使用するには、:PARAM_STRUCT_NUMのようにパラメータ名の前にコロンを付けます。

セグメント

(オプション)このデータが要求されるセグメントの識別子。デフォルト値は「ALL」です。構文は、Oracle E-Business Suite開発者ガイドを参照してください。

親セグメントの表示

このボックスを選択すると、依存セグメントの親セグメントが自動的に表示されます。これにより、そのセグメントの属性で表示しないように指定されているセグメントも表示されます。

メタデータ・タイプ

返すメタデータのタイプを選択します。

セグメントの上プロンプト - セグメントの上プロンプト。

セグメントの左プロンプト - セグメントの左プロンプト。


キー・フレックスフィールド・タイプ: Selectのフィールド

Selectタイプのフレックスフィールドのフィールド

表6-2に、Selectフレックスフィールド・タイプの詳細フィールドを示します。

表6-2 Selectの詳細フィールド

フィールド 説明

複数構造インスタンスの有効化

この字句が複数構造をサポートしているかどうかを示します。このボックスを選択することで、潜在的にすべての構造がデータのレポート作成に使用されることを示します。データ・エンジンは、<code_combination_table_alias>.<set_defining_column_name>を使用して構造番号を取得します。

コード組合せ表別名

列名の接頭辞として追加する表別名を指定します。SELECTが別のフレックス表と結合している場合や、自己結合を使用している場合は、TABLEALIASを使用します。

構造インスタンス番号

フレックスフィールド構造情報が格納されているソース列またはパラメータの名前を入力します。たとえば、101です。パラメータを使用するには、:PARAM_STRUCT_NUMのようにパラメータ名の前にコロンを付けます。

セグメント

(オプション)このデータが要求されるセグメントの識別子。デフォルト値は「ALL」です。構文は、Oracle E-Business Suite開発者ガイドを参照してください。

親セグメントの表示

このボックスを選択すると、依存セグメントの親セグメントが自動的に表示されます。これにより、そのセグメントの属性で表示しないように指定されているセグメントも表示されます。

出力タイプ

次のいずれかを選択します。

  • 値 - ユーザーに表示されるときのセグメント値。

  • 埋込み値 - ユーザーに表示されるときの埋込みセグメント値。Number型の値は左側から空白が埋め込まれます。String型の値は右側に空白が埋め込まれます。

  • 説明 - セグメント値の説明。セグメント定義で定義された説明のサイズを超えることはできません。

  • 詳細な説明 - セグメント値の説明(実サイズ)。

  • セキュリティ - 現在の組合せが現在のユーザーに対してセキュリティ保護されている場合は、Yが返されます。それ以外の場合は、Nが返されます。


キー・フレックスフィールド・タイプ: Whereのフィールド

Whereタイプのフレックスフィールドのフィールド

表6-3に、Whereキー・フレックスフィールド・タイプの詳細フィールドを示します。

表6-3 Whereの詳細フィールド

フィールド 説明

コード組合せ表別名

列名の接頭辞として追加する表別名を指定します。SELECTが別のフレックス表と結合している場合や、自己結合を使用している場合は、TABLEALIASを使用します。

構造インスタンス番号

フレックスフィールド構造情報が格納されているソース列またはパラメータの名前を入力します。たとえば、101です。パラメータを使用するには、:PARAM_STRUCT_NUMのようにパラメータ名の前にコロンを付けます。

セグメント

(オプション)このデータが要求されるセグメントの識別子。デフォルト値は「ALL」です。構文は、Oracle E-Business Suite開発者ガイドを参照してください。

演算子

適切な演算子を選択します。

オペランド1

条件式の右側に使用する値を入力します。

オペランド2

(オプション)BETWEEN演算子の上限値です。


キー・フレックスフィールド・タイプ: Order Byのフィールド

Order Byの詳細フィールド

表6-4に、Order byフレックスフィールド・タイプの詳細フィールドを示します。

表6-4 Order Byの詳細フィールド

フィールド 説明

複数構造インスタンスの有効化

この字句が複数構造をサポートしているかどうかを示します。このボックスを選択すると、潜在的にすべての構造がデータ・レポート作成に使用されることになります。データ・エンジンは、<code_combination_table_alias>.<set_defining_column_name>を使用して構造番号を取得します。

構造インスタンス番号

フレックスフィールド構造情報が格納されているソース列またはパラメータの名前を入力します。たとえば、101です。パラメータを使用するには、:PARAM_STRUCT_NUMのようにパラメータ名の前にコロンを付けます。

コード組合せ表別名

列名の接頭辞として追加する表別名を指定します。SELECTが別のフレックス表と結合している場合や、自己結合を使用している場合は、TABLEALIASを使用します。

セグメント

(オプション)このデータが要求されるセグメントの識別子。デフォルト値は「ALL」です。構文は、Oracle E-Business Suite開発者ガイドを参照してください。

親セグメントの表示

このボックスを選択すると、依存セグメントの親セグメントが自動的に表示されます。これにより、そのセグメントの属性で表示しないように指定されているセグメントも表示されます。


キー・フレックスフィールド・タイプ: Filterのフィールド

Filterフレックスフィールドの詳細

表6-5に、Filterフレックスフィールド・タイプの詳細フィールドを示します。

表6-5 Filterの詳細フィールド

フィールド 説明

コード組合せ表別名

列名の接頭辞として追加する表別名を指定します。SELECTが別のフレックス表と結合している場合や、自己結合を使用している場合は、TABLEALIASを使用します。

構造インスタンス番号

フレックスフィールド構造情報が格納されているソース列またはパラメータの名前を入力します。たとえば、101です。パラメータを使用するには、:PARAM_STRUCT_NUMのようにパラメータ名の前にコロンを付けます。


6.3 付加フレックスフィールドの追加

付加フレックスフィールドについてのレポート作成は、Oracle Fusion Applicationsでのみサポートされています。

付加フレックスフィールドを追加するには:

  1. フレックスフィールドの基本情報を入力します。

    • 名前 - フレックスフィールド・コンポーネントの名前を入力します。

    • フレックスフィールド・タイプ「付加フレックスフィールド」を選択します。

    • 字句タイプ — 「Select」のみサポートされています。

    • アプリケーションの短縮名 - このフレックスフィールドを所有するOracleアプリケーションの短縮名を入力します(FNDなど)。

    • フレックスフィールド・コード — 付加フレックスフィールドの登録フォームでこのフレックスフィールドに定義されたフレックスフィールド・コードを入力します(FND_DFF1など)。

    図6-3 付加フレックスフィールドの入力

    付加フレックスフィールドの例
  2. フレックスフィールドの詳細を入力します。

    • 表の別名 - 列名の接頭辞として追加する表別名を指定します。SELECTが別のフレックス表と結合している場合や、自己結合を使用している場合は、TABLEALIASを使用します。

    • フレックスフィールド使用方法コード - (オプション)このデータが要求されるセグメントの識別子。デフォルト値は「ALL」です。

  3. 付加フレックスフィールド定義にパラメータを含める場合は、「パラメータ」リージョンにパラメータを入力できます。

    パラメータを入力するには、+をクリックして各パラメータを追加します。パラメータごとに、ラベルおよびを入力します。ラベルは、付加フレックスフィールド定義でのラベルと完全に一致する必要があります。

図6-4 付加フレックスフィールドの詳細

付加フレックスフィールドの詳細

6.3.1 SQL問合せでの付加フレックスフィールド参照の挿入

SQLデータ・セットを作成する際に、次のようにアンパサンド記号を使用して付加フレックスフィールドを含めます。

&DFF_SELECT

図6-5に例を示します。

図6-5 SQL問合せでの付加フレックスフィールドの参照

SQL問合せでのDFFの参照

「OK」をクリックすると、図6-6に示すように付加フレックスフィールドから返された列がデータ・セットのダイアグラムに表示されます。

図6-6 &DFF_SELECTによって返された列

字句参照によって返された列

キー・フレックスフィールドから返される列には、次の制限事項があります。

  • 要素のプロパティは無効になっています。

  • データ・モデルの「構造」タブでは、「XMLタグ名」、「Null時の値」、「表示名」、「データ型」の各フィールドを編集できません。

  • 付加フレックスフィールドの要素のサブグループ化がサポートされていません。

  • 要素のリンクがサポートされていません。