ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド
11g リリース1(11.1.1)
B63031-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

5 分析用データのフィルタリングと選択

この章では、フィルタ、選択ステップ、グループおよび計算項目をOracle Business Intelligence Enterprise Editionで作成する方法を説明します。ここでは、これらのオブジェクトを使用して、分析およびダッシュボードに表示されるデータを指定する方法を説明します。

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

インラインまたは名前付きでのオブジェクトの保存

この項では、オブジェクトのインラインまたは名前付きでの保存について説明します。ここでは、次のトピックが含まれています。

インライン・オブジェクトまたは名前付きオブジェクトとは

特定のオブジェクトを使用する際、他のオブジェクトを作成して、そのオブジェクトとともに保存できます。他のオブジェクトとともに保存される場合、そのオブジェクトはインラインで保存されます。フィルタ、グループおよび計算項目をインラインで保存できます。たとえば、分析の一部としてグループを作成できます。分析を保存すると、グループはインラインで、つまり分析とともに保存されます。

これらのオブジェクトは、インラインで保存する以外に、個別のオブジェクトとしてOracle BIプレゼンテーション・カタログにサブジェクト・エリアとともに保存できます。オブジェクトを単独で保存すると、オブジェクトは名前付きオブジェクトになります。名前付きオブジェクトによって再利用性が得られます。1つのオブジェクトを作成し、名前付きオブジェクトで指定された列を含む分析、ダッシュボード(フィルタの場合)やダッシュボード・ページ(フィルタの場合)に複数回使用できます。名前付きオブジェクトを更新および保存すると、名前付きオブジェクトが使用されているすべてのオブジェクトに更新がただちに適用されます。

たとえば、グループを分析にインラインで保存した後で、単独のオブジェクトとしてカタログに保存できます。その名前付きグループを「カタログ」ペインから他の分析に適用できます。

名前付きオブジェクトのフォルダ構造とは

名前付きフィルタ、グループおよび計算項目は、関連するサブジェクト・エリア・フォルダに通常保存されます。サブジェクト・エリア・フォルダに保存することによって、同じサブジェクト・エリアに対して分析を作成する場合にオブジェクトが使用可能であることが保証されます。

/My Foldersに保存されている名前付きオブジェクトは、そのユーザーのみが使用できます。/Shared Foldersフォルダに保存されているオブジェクトは、フォルダにアクセスする権限を持つ他のユーザーも使用できます。サブジェクト・エリア・フォルダが/My Foldersフォルダにも/Shared Foldersフォルダにもない場合、サブジェクト・エリア・フォルダが自動的に作成されます。オブジェクトを保存する際、「名前を付けて保存」ダイアログに/My Folders/Subject Area Contents/<subject area>のデフォルトの保存パスが表示されます。ただし、ダイアログの「フォルダ」領域には、カタログ内のサブジェクト・エリア・フォルダのすべてのインスタンスが表示され続けます。

インラインまたは名前付きでのフィルタの保存

「分析」エディタ: 「基準」タブの「フィルタ」ペインでインライン・フィルタを作成する際、オプションでインライン・フィルタを名前付きフィルタとして保存できます。名前付きフィルタは、分析レベルで作成することも、グローバル・ヘッダーからスタンドアロン・オブジェクトとして作成することもできます。

名前付きフィルタは、ダッシュボードに埋め込まれている分析または同じダッシュボード・ページに埋め込まれている分析のすべてまたは一部をフィルタできます。

インラインまたは名前付きでのグループおよび計算項目の保存

グループまたは計算項目をインライン・オブジェクトまたは名前付きオブジェクトとして保存できます。

  • ビューの編集や保存の際、または複合レイアウトでの操作の際にグループまたは計算項目を作成すると、グループまたは計算項目は分析にインラインで保存されます。

  • 「選択ステップ」ペインでの操作時は、次のようになります。

    • カタログ内の名前付きオブジェクトとしてステップ内にあるグループまたは計算項目を保存できます。

    • ステップのセットまたは列に対する結果のメンバー・リストを名前付きオブジェクトとして保存できます。ステップの1つに計算項目が含まれる場合、ステップのセットをグループとして保存できません。

保存済グループの分析への追加の詳細は、「別の分析へのグループの追加」を参照してください。

計算項目またはグループを名前付きオブジェクトとしてカタログに保存する手順:

  1. 「選択ステップ」ペインを表示します。

  2. 計算項目またはグループのリンクをクリックし、「計算項目を次の名前で保存」または「グループを次の名前で保存」 をクリックして「名前を付けて保存」ダイアログを表示します。

  3. ダイアログを完成させ、オブジェクトをカタログに保存します。

ステップのセットをグループとしてカタログに保存する手順:

  1. 「選択ステップ」ペインを表示します。

  2. 列名の一番右にある「選択ステップの保存」ボタンをクリックします。

  3. 「選択ステップの保存」ダイアログを完成させ、グループをオブジェクトとしてカタログに保存します。

フィルタおよび選択ステップとは

フィルタと選択ステップの2つを使用して、分析を実行すると表示される結果を限定し、結果が特定の質問に対する解答となるようにします。分析に対して選択した列とフィルタと選択ステップによって、結果に何が含まれるかが決まります。フィルタの選択ステップに基づき、基準に合う結果のみが表示されます。たとえば、所属する業界によっては、フィルタと選択ステップを使用して、業績が最もよい10人、特定のブランドの売上金額、最も収益性の高い顧客などを確認することが考えられます。

プロンプトと呼ばれる別の種類のフィルタは、ダッシュボードのすべてのアイテムに適用できます。実行時にプロンプトを使用して、選択ステップおよびフィルタを完了できます。詳細は、第6章「ダッシュボードと分析でのプロンプト」を参照してください。

Oracle BI Enterprise Editionにはフィルタ・ビューと選択ステップ・ビューがあり、これらを分析に追加すると、その分析に適用されているフィルタや選択ステップが表示されます。これらのビューを追加すると、分析内の情報に対するユーザーの理解度が高まります。分析にビューを追加する方法の詳細は、第3章「ダッシュボードでの表示用のビューの追加」を参照してください。

フィルタと選択ステップの違い

フィルタと選択ステップは列レベル・ベースで適用し、分析でデータを限定する2つの方法を提供します。フィルタは常に、選択ステップが適用される前に列に適用されます。ステップは指定された順序で適用されます。フィルタと選択ステップは様々な点で異なります。

フィルタ

フィルタは、属性列およびメジャー列に直接適用できます。フィルタは問合せの集計前に適用され、問合せとメジャーの結果の値に作用します。たとえば、集計すると100になるメンバーのリストがあるとします。時間の経過とともに、フィルタ基準に合うメンバーが増え、集計が200になります。

選択ステップ

選択ステップは問合せの集計後に適用され、表示されているメンバーにのみ作用し、結果の集計値には作用しません。たとえば、集計すると100になる階層メンバーのリストがあるとします。選択ステップを使用してメンバーの1つを削除した場合、集計は100のままです。

選択ステップは、属性列と階層列の両方に作成できます。選択ステップは列ごとで、列をまたぐことができません。属性列には集計メンバーがないため、属性列に対しては選択ステップを使用してもフィルタを使用しても階層列ほど違いは出ません。メジャー列が「選択ステップ」ペインに表示されている場合、ステップによって影響を受けないようステップを作成できません。メジャーは、属性列および階層列に対する条件ステップ(100万ドルより多い売上など)の作成に使用されます。

階層列に影響する属性列へのフィルタの適用

関係する属性列にフィルタを使用し、階層列のメンバーの表示に影響を及ぼすことができます。たとえば、階層列に、年、四半期および月のレベルがあるとします。年の階層レベルに対応する属性列にフィルタがあるとします。年を2008と2009に限定するフィルタを年に作成した場合、階層列をビューに表示すると、それらの2年のみが表示されます。この機能は、Oracle BI管理ツールで、論理列がサブジェクト・エリアのビジネス・レイヤーにどのように定義されているかに依存します。

データの選択の使用

分析に含めるデータ・メンバーを指定すると、データ・ソースからのデータの選択が作成されます。選択ごとに、特定の列(製品、地理など)に対するメンバー・セットの基準を指定します。各選択は1つ以上のステップで構成されます。ステップは、選択に影響を与える指示(テキスト"ABC"を値に含む製品メンバーの追加など)です。ステップが実行される順序は、データの選択に影響を及ぼします。各ステップはその列のすべてのメンバーに作用するのではなく、前のステップからの結果に増分的に作用します。

これらの選択ステップは、「選択ステップ」ペインに表示できます。ステップは、次の方法で作成されます。

選択ステップのタイプは次のいずれかです。

選択ステップの作成

ステップは「選択ステップ」ペインで作成します。このペインは様々な場所で表示できます。次の手順で、「結果」タブでのステップの作成方法について説明します。

選択ステップを作成する手順:

  1. 「分析」エディタ: 「結果」タブを表示します。

  2. 「選択ステップ」ペインが表示されない場合、ツールバーの選択ステップ・ペインの表示ボタンをクリックしてペインを表示します。

    ペインは、「結果」タブの下部に縮小して表示される場合もあります。プラス記号のアイコンをクリックして展開します。

  3. ステップを定義する対象の列に対し、「次に、新規ステップ」リンクをクリックします。

  4. メニューから、作成するステップのタイプを選択し、表示されたダイアログを完成させます。

ビューの特定の階層列または属性列に対するデータの選択を絞り込むために、右クリックの相互作用(「関連項目の追加」「保持のみ」など)を使用すると、選択ステップが自動的に作成されます。「表、ピボット表およびトレリスの右クリック・メニュー」を参照してください。

分析に選択ステップを追加した後、「分析」エディタ: 「結果」タブに移動して、選択ステップ・ビューを分析に追加します。選択ステップ・ビューを追加すると、その分析に適用された選択ステップをユーザーが実行時に表示できるようになります。選択ステップ・ビューの追加の詳細は、「結果」タブ: 「選択ステップ」エディタを参照してください。

選択ステップの編集

次の手順に記載のとおり、既存の選択ステップを編集できます。

選択ステップを編集する手順:

  1. 「選択ステップ」ペインでステップにマウス・ポインタを合せ、表示されたツールバーのボタンをクリックします。

    ステップを編集するダイアログの表示、ステップの削除、ステップのリスト内のステップの順序の変更など様々なタスクを行えます。

    グループまたは計算項目の場合、名前をクリックして、編集や保存のオプションが含まれたメニューを表示します。

グループ・オブジェクトとしての選択ステップの保存

選択ステップのセットを作成した場合、「インラインまたは名前付きでのグループおよび計算項目の保存」に記載のとおり、セットをグループ・オブジェクトとして保存し、再利用できます。

選択ステップと二重列の使用

リポジトリが二重列用に構成されている場合、二重列に選択ステップを作成できます。これを行うには、列の表示値を選択します。すると、その表示値に対応するコード値を使用してステップが自動的に評価されます。

二重列を使用する場合、注意して「新規計算項目」ダイアログを使用してください。計算項目のカスタム式に、データ・セットの最初の行からの列を指定する$1などの位置の演算子を含めることができます。位置の演算子を含める場合、式の評価時、表示値はコード値にマップされません。

二重列の詳細は、「二重列機能の理解」を参照してください。

列フィルタの作成

次の手順を使用して、名前付きフィルタまたはインライン・フィルタを作成します。フィルタを編集用に開く方法の詳細は、「列フィルタの編集」を参照してください。

列フィルタを作成するには:


注意:

リポジトリが二重列用に構成されていて、次と等しい/次に存在する次と等しくない/次に存在しないまたは次の間にある以外の演算子を使用し、表示値ではなくコード値を指定する場合、表示列ではなく、コード列を明示的に選択する必要があります。

二重列の詳細は、「二重列機能の理解」を参照してください。


  1. 名前付きフィルタを作成する場合、次の手順を使用します。

    1. Oracle Business Intelligenceホームページでグローバル・ヘッダーに移動します。「新規」 メニューにポインタを合せ、メニューから「フィルタ」を選択します。「サブジェクト・エリアの選択」ダイアログが表示されます。

    2. 「サブジェクト・エリアの選択」ダイアログから、フィルタの作成対象のサブジェクト・エリアを選択します。「フィルタ」エディタが表示されます。

    3. 「サブジェクト・エリア」ペインで、フィルタを作成する列をダブルクリックします。「新規フィルタ」ダイアログが表示されます。

  2. インライン・フィルタを作成する場合、次の手順を使用します。

    1. 新規分析を作成するか、フィルタの作成対象の既存の分析にアクセスします。「基準」タブをクリックします。

    2. 「フィルタ」ペインに移動し、「フィルタ」ペインのツールバーで「現在のサブジェクト・エリアのフィルタを作成」ボタンをクリックします。分析の選択された列がカスケード・メニューに表示されます。

    3. メニューから列名を選択します。あるいは、「列を増やす」オプションを選択して、サブジェクト・エリアから列を選択できる「列の選択」ダイアログにアクセスします。

      列を選択すると、「新規フィルタ」ダイアログが表示されます。


      注意:

      別のサブジェクト・エリアにある列のフィルタを追加する場合、「サブジェクト・エリア」ペインサブジェクト・エリアの追加/削除ボタンをクリックし、まず、そのサブジェクト・エリアを分析に追加する必要があります。


  3. 「演算子」フィールドで、フィルタの演算子を選択します。選択した列のタイプに基づいて値が移入された演算子リストから選択します。「プロンプトで使用」「別の分析の結果に基づく」演算子オプションなどの各演算子の詳細は、「演算子」を参照してください。

  4. 「値」フィールドに、フィルタまたは条件を適用する際に使用する1つ以上の価を指定します。次のことが可能です。

    • 値を入力します。値の区切りには、セミコロンを使用します。

    • リストまたはカレンダから値を選択します。

      特定の値を検索するには、リスト・ボックスで「検索」をクリックします。「値の選択」ダイアログが表示され、値を検索して選択できます。

    リポジトリが二重列用に構成されていて、表示列にフィルタを作成する場合、デフォルトでは表示値を指定します。しかし、組織でコード値の表示が許可されている場合、表示値ではなくコード値を指定できます。ただし、次のいずれかの演算子を使用する場合のみです。

    • 次と等しい/次に存在する

    • 次と等しくない/次に存在しない

    • 次の間にある

    コード値を指定するには、コード列による選択」チェック・ボックスを選択し、値を指定します。

  5. リポジトリが二重列用に構成されていて、表示列にフィルタを作成し、コード値ではなく表示値をフィルタする場合、コード列によるフィルタ」チェック・ボックスを選択解除します。

  6. 「詳細オプションの追加」ボタンをクリックし、フィルタにSQL式、セッション変数、リポジトリ変数またはプレゼンテーション変数を追加します。SQL式または変数を使用してフィルタの値を設定する場合、「値」フィールドを空のままにする必要があります。変数の詳細は、「変数の使用方法」を参照してください。

  7. 「フィルタの保護」チェック・ボックスを選択して、一致するプロンプトの値によって、あるいはユーザーが分析内の別のレポートに移動した際、フィルタの値がオーバーライドされないようにします。分析内のあるレポートから別のレポートに移動すると、最初のレポートで指定したプロンプト値が2つ目のレポートに転送されることがあります。

  8. フィルタをSQL文に変換するには、「このフィルタをSQLに変換する」チェック・ボックスを選択します。「高度なSQLフィルタ」ダイアログが表示されます。


    注意:

    これは、1方向の変換です。「このフィルタをSQLに変換する」ボックスを選択した後は、「フィルタの編集」ダイアログでフィルタを表示または編集できなくなります。フィルタをSQL文に変換した後は、フィルタ・アイテムは「高度なSQLフィルタ」ダイアログでSQL文としてのみ表示および編集できます。


    このオプションの詳細は、「分析の列フィルタに対するSQL文の作成または編集」を参照してください。

  9. フィルタの基準の指定が終わったら、「OK」をクリックします。

  10. 次のいずれかの方法でフィルタを保存します。

    • 「分析」エディタから「分析の保存」を選択し、フィルタをインライン・フィルタとして保存します。

    • 「フィルタ」エディタから「フィルタの保存」を選択し、フィルタを名前付きフィルタとして保存します。

    詳細は、「インラインまたは名前付きでのオブジェクトの保存」を参照してください。

列フィルタの編集

保存済フィルタをオープンおよび編集する手順は、次のとおりです。名前付きフィルタを編集して保存した場合は、フィルタが使用される場所にフィルタに対する変更が伝播されます。

フィルタを編集するには:

  1. 名前付きフィルタを開く場合、次のサブ手順を使用します:

    1. グローバル・ヘッダーで、「カタログ」をクリックします。カタログ・ページが表示されます。

    2. 編集対象のフィルタに移動し、「編集」リンクをクリックします。「フィルタ」エディタが表示されます。

  2. インライン・フィルタを開く場合、次のサブ手順を使用します:

    1. 分析で「基準」タブをクリックします。

    2. 「フィルタ」ペインで、編集対象のフィルタを見つけて、その「フィルタの編集」ボタンをクリックします。「フィルタ」エディタが表示されます。

  3. 必要な変更を行います。

  4. フィルタを保存します。

EVALUATE_PREDICATE関数の使用

この項には、EVALUATE_PREDICATE関数の使用に関する次のトピックが含まれています。

この関数の詳細は、「EVALUATE_PREDICATE」を参照してください。

フィルタにEVALUATE_PREDICATE関数を使用する方法

EVALUATE_PREDICATE関数は、インライン・フィルタ句として追加できます。この関数は、階層列には使用できません。Oracle BI EEのフィルタ演算子で適切なフィルタ句を作成できない場合にこの関数を使用します。この関数は、ブールを戻り値とするデータベース関数用で、SQL関数にのみ使用できます。EVALUATE_PREDICATEのサポートは、多次元のデータ・ソース全体には及んでいません。また、EVALUATE_PREDICATEをXMLデータ・ソースに使用できません。

EVALUATE_PREDICATE関数の使用方法の例は、次のとおりです。この例では、Products.P4 Brand値は、6文字より長い必要があります。実行後、この例では、P4 Brand列のデータの長さが6文字より長い(BizTechやHomeViewなど)行を返します。

SELECT
0 s_0,
"A - Sample Sales"."Products"."P3 LOB s_1, 
"A - Sample Sales"."Products"."P4 Brand" s_2,
"A - Sample Sales"."Base Facts"."1- Revenue" s_3
FROM "A - Sample Sales"
Where EVALUATE_PREDICATE('length(%1)>6',"A - Sample Sales"."Products"."P4 Brand").
ORDER BY 1,2,3

インライン・フィルタへのEVALUATE_PREDICATE関数の追加

次の手順を使用して、EVALUATE_PREDICATE関数をインライン・フィルタに追加します。この関数は、階層列には使用できないことに注意してください。詳細は、「フィルタにEVALUATE_PREDICATE関数を使用する方法」および「EVALUATE_PREDICATE」を参照してください。

EVALUATE_PREDICATE関数をインライン・フィルタに追加する手順:

  1. 「分析」エディタの「フィルタ」ペインに移動して「詳細オプション」ツールバー・ボタンをクリックし、「EVALUATE_PREDICATE関数の追加」オプションを選択します。

    「新規EVALUATE_PREDICATE関数」ダイアログが表示されます。

  2. 関数の式を入力します。

    正しい構文の入力例は、「フィルタにEVALUATE_PREDICATE関数を使用する方法」を参照してください。

  3. 「OK」をクリックします。

    EVALUATE_PREDICATE関数が「フィルタ」ペインに表示されます。

分析への名前付きフィルタの適用

次の手順を使用して、名前付きフィルタを分析に適用します。

名前付きフィルタを分析に適用する手順:

  1. 名前付きフィルタの追加先の分析を作成するか、開きます。

  2. 「分析」エディタ: 「基準」タブ内で「カタログ」ぺインに移動し、名前付きフィルタが含まれている適切なフォルダに移動します。フィルタは通常、サブジェクト・エリア・サブフォルダに保存されています。たとえば、「Shared Folders/2.Functional Examples/Filters/A - Sample Sales/Demo」です。

  3. 名前付きフィルタを選択し、「詳細オプションの追加」ボタンをクリックします。「保存済みフィルタの適用」ダイアログが表示されます。

  4. 名前付きフィルタの分析への追加方法を指定します。次のオプションのいずれか、あるいは両方を選択できます。

    • 名前付きフィルタを追加する前に、既存のすべてのフィルタを分析から削除する場合、「適用する前に既存のすべてのフィルタを消去する」ボックスを選択します。

    • 実際のフィルタの内容を分析にコピーする場合、「フィルタの参照の代わりにフィルタの内容を適用する」ボックスを選択します。内容をコピーすると、保存済フィルタを変更せずにフィルタ基準を操作できます。「フィルタの参照の代わりにフィルタの内容を適用する」ボックスを選択解除すると、フィルタへの参照が分析に追加されます。分析から、名前付きフィルタの内容は表示できますが、変更できません。

  5. 「OK」をクリックします。

    フィルタが「フィルタ」ペインに表示されます。

列フィルタの組合せとグループ化

列フィルタをANDやORブール演算子と組み合せ、グループ化することにより、SQL文を知らなくても複雑なフィルタを作成することができます。グループ化により、Oracle BI EEが分析をフィルタする優先順を定めることができます。

列フィルタを別の列フィルタと組み合せる手順:

  1. 名前付きフィルタ、またはインライン・フィルタを含む分析を作成するか、開きます。

  2. 名前付きフィルタを使用する場合、「保存済みフィルタ」ペインに移動し、フィルタに2つ以上のフィルタ・アイテムが含まれていることを確認します。インライン・フィルタを使用する場合、「フィルタ」ペインに移動し、フィルタに2つ以上のフィルタ・アイテムが含まれていることを確認します。

    2つ目のフィルタ・アイテムを追加すると、2つ目のフィルタ・アイテムの前に「AND」演算子が表示されます。


    注意:

    フィルタをグループ化する場合、フィルタには3つ以上のフィルタ・アイテムが含まれている必要があります。


  3. AND演算子をOR演算子に変更するには、「AND」をクリックします。このようにして、ANDORを切り替えることができます。次の点に注意してください。

    • AND演算子は、各フィルタに指定されている基準を満たす必要があることを表します。これが、列フィルタを組み合せる場合のデフォルトの方法です。

    • OR演算子は、1つ以上の列フィルタに指定されている基準を満たす必要があることを表します。

  4. フィルタ・アイテムの追加後、必要に応じて「AND」演算子と「OR」演算子クリックし、適切なフィルタの組合せを作成します。

  5. 次のいずれかの方法でフィルタを保存します。

    • 「分析」エディタから「分析の保存」を選択し、フィルタをインライン・フィルタとして保存します。

    • 「フィルタ」エディタから「フィルタの保存」を選択し、フィルタを名前付きフィルタとして保存します。

    詳細は、「インラインまたは名前付きでのオブジェクトの保存」を参照してください。

保存済分析のフィルタとしての使用

別の分析から返された値に基づいてフィルタを作成できます。値の列を返す保存済分析はどれでも、分析内の一致する列のフィルタに使用できます。

別の保存済分析の結果に基づいてフィルタを作成する手順:

  1. 名前付きフィルタ、またはインライン・フィルタを含む分析を作成するか、開きます。

  2. 名前付きフィルタを使用する場合、「保存済みフィルタ」ペインに移動し、「サブジェクト・エリア」ペインからフィルタの作成対象の列を選択します。

    インライン・フィルタを使用する場合、「フィルタ」ペインに移動し、「フィルタ」ペインのツールバーで「現在のサブジェクト・エリアのフィルタを作成」ボタンをクリックしてフィルタの作成対象の列を選択します。

    「新規フィルタ」ダイアログが表示されます。

  3. 「演算子」フィールドで、「別の分析の結果に基づく」を選択します。

    「保存済分析」「関係」および「次の列の値を使用」フィールドが表示されます。

  4. 「保存済分析」フィールドに、保存済分析の完全なパスを入力するか、「参照」ボタンをクリックして、フィルタのベースとする分析を特定します。

    保存済分析からの列名が「次の列の値を使用」ドロップダウン・リストに表示されます。

  5. 「次の列の値を使用」フィールドから列名を選択し、「関係」フィールドで、結果とフィルタされる列との適切な関係を選択します。

  6. 「OK」をクリックします。

分析の列フィルタに対するSQL文の作成または編集

フィルタとして使用する論理SQL WHERE句を作成または編集できます。この機能は通常は必要ありませんが、高度なフィルタ機能を必要とするユーザーが使用します。SQL句の詳細は、付録D「論理SQLリファレンス」を参照してください。


注意:

フィルタをSQL文に変換した後は、フィルタ・アイテムは「高度なSQLフィルタ」ダイアログでSQL文として表示および編集できます。「フィルタの編集」ダイアログでフィルタを表示したり、編集できません。


列フィルタのSQL構文を作成または編集する手順:

  1. 名前付きフィルタ、またはインライン・フィルタを含む分析を作成するか、開きます。

  2. 名前付きフィルタを使用する場合、「保存済みフィルタ」ペインに移動し、「サブジェクト・エリア」ペインからフィルタの作成対象の列を選択します。

    インライン・フィルタを使用する場合、「フィルタ」ペインに移動し、「フィルタ」ペインのツールバーで「現在のサブジェクト・エリアのフィルタを作成」ボタンをクリックしてフィルタの作成対象の列を選択します。

    「新規フィルタ」ダイアログが表示されます。

  3. フィルタの基準を指定し、「このフィルタをSQLに変換する」を選択します。

  4. 「OK」をクリックします。

    「高度なSQLフィルタ」ダイアログが表示されます。

  5. 「SQL」フィールドに変更を入力し、「OK」をクリックします。フィルタをSQL文に変換した後は、「フィルタの編集」ダイアログでフィルタを表示したり、編集できないことに注意してください。

グループと計算項目の使用

表、ピボット表、トレリスまたはグラフにデータを表示する方法として、グループまたは計算項目を作成できます。グループや計算項目を使用すると、データ・ソースに存在しない新規メンバーを列に追加できます。これらのメンバーは、カスタム・メンバーとも呼ばれます。

グループと計算項目の両方とも、分析の選択ステップになります。したがって、その分析のすべてのビューに使用されます。グループと計算項目は、インライン・オブジェクトとしても、名前付きオブジェクトとしても保存できます。詳細は、「インラインまたは名前付きでのオブジェクトの保存」を参照してください。

グループとは

グループ(他の製品では「保存済選択」とも呼ばれます)は、列のユーザー定義メンバーです。グループはメンバーのリストの場合も、メンバーのリストを生成するために実行する選択ステップのセットの場合もあります。すべてのメンバーは同じ属性列または階層列に属し、階層列内の階層レベルは異なっていてもかまいません。グループは常に、列リストの最下部に、追加された順(「選択ステップ」ペインに表示される順)に表示されます。グループには、メンバーまたは他のグループを含めることができます。

グループはカタログに保存して再利用できます。たとえば、グループを分析およびダッシュボードの列プロンプトまたは変数プロンプトに適用できます。グループをプロンプトに適用すると、実行時、プロンプトでは、グループまたはグループのメンバーが選択リスト・オプションとしてユーザーに示されます。ユーザーがグループまたは列メンバーを選択した場合のプロンプトによる選択ステップのオーバーライドの詳細は、「列プロンプトによる選択ステップのオーバーライド」を参照してください。

計算項目とは

計算項目はメンバー間の計算で、1つのメンバーとして表されます。計算項目を使用すると、Oracle BIリポジトリで指定されているデフォルトの集計ルール、およびデザイナによって選択されている集計ルール(既存の分析の場合)をオーバーライドできます。計算項目は、カスタム式を使用して(デフォルト)または選択したメンバーと関数(SUMなど)を組み合せて定義できます。

計算項目は、ユーザーが定義した列のメンバーです。計算項目には、メンバーまたは他の計算項目を含めることができます。計算項目は常に、列リストの最下部に、追加された順(「選択ステップ」ペインに表示される順)に表示されます。計算項目はカタログに保存して再利用できます。

計算項目は、メンバーのセットを1つのエンティティとして表示したり操作する場合に便利です。たとえば、次のものに対して計算項目を定義できます。

  • 地理的地域の主要な取引先

  • ハイエンドの製品

  • 標準的でない期間(9月の最初の3週間など)

計算項目は、様々な場所で列に対して作成できます。計算は、「表とピボット表への合計の追加」に記載されている、メジャーに適用されるデフォルトの集計ルールとは異なります。内部では、計算項目は、SQLのSELECT文として処理され、指定された関数が結果セットに対して実行されます。SQL関数の詳細は、付録D「論理SQLリファレンス」を参照してください。

以前のリリースで作成された計算項目のアップグレード方法

以前のリリース(11gより前のリリース)のOracle BI EEでは、ピボット表に計算項目を作成すると、その計算項目は、その分析のそのピボット表にのみ適用されました。以前のリリース(11gより前のリリース)からアップグレードすると、すべての計算項目が選択ステップに自動的に変換され、分析のすべてのビューに適用されます。

詳細は、「フィルタおよび選択ステップとは」を参照してください。アップグレードの詳細は、『Oracle Fusion Middleware Oracle Business Intelligenceアップグレード・ガイド』の計算項目のアップグレードに関する項を参照してください。

グループと計算項目の作成

次の手順を使用して、計算項目またはグループを作成します。

計算項目またはグループを作成する手順:

  1. 次の操作のいずれかを実行します。

    • 計算項目またはグループを作成するボタンをクリックします。

      ボタンは複数の場所にあります。次のリストに、それらの場所の一部を示します。

      • ビュー・エディタのツールバーで、「新規計算項目」ボタンまたは「新規グループ」ボタンをクリックします。

      • 「レイアウト」ペインの <view-type>行または「列」領域で、列名の右にある「詳細オプション」ボタンをクリックし、「新規計算項目」を選択します。

    • 「選択ステップ」ペイン「次に、新規ステップ」リンクをクリックします。

    • 表、ピボット表またはトレリスで、メンバーとグループを選択するか、または含めるメンバーと計算項目を選択し、右クリックして「グループの作成」または「計算項目の作成」を選択します。「表、ピボット表およびトレリスの右クリック・メニュー」を参照してください。

  2. 「新規計算項目」ダイアログまたは「新規グループ」ダイアログのいずれか適切な方を完成させます。

  3. 計算項目またはグループが完成したら、「OK」をクリックします。

    エラーが検出された場合、メッセージが表示されます。エラーを修正し、「OK」を再度クリックします。


注意:

分析のデータ・ソースがOracle OLAPである場合、グループの使用時にエラーに遭遇する可能性があります。ビューにグループが含まれている状態でエラー・メッセージが表示された場合、その分析のメジャー列が外部集計を使っていることが問題の原因である可能性があります。

次のソリューションのいずれかを実装することについて、管理者に確認してください。

  • リポジトリのメジャーに対し、集計ルールを明示的に指定します。

  • Oracle OLAP分析ワークスペースのディメンション・メンバーとして適切な値のグループを作成します。


グループと計算項目の編集

グループや計算項目は、様々な方法で編集できます。

  • 「選択ステップ」ペインで計算項目またはグループのリンクをクリックし、「編集」をクリックして適切なダイアログを表示します。

  • オブジェクトをカタログに保存してある場合、「カタログ」ペインでオブジェクトを選択し、「編集」をクリックして適切なダイアログを表示します。

  • 表、ピボット表またはトレリスで、グループまたは計算項目を右クリックし、「グループの編集」または「計算項目の編集」を選択します。

グループまたは計算項目の値は、次のリストに示すように、フィルタや選択ステップの影響を受けます。

  • フィルタ: グループまたは計算項目は、フィルタを使用して削除されていないメンバーのみを使用して評価されます。たとえば、SUM(EAST + WEST)という計算項目がある場合、フィルタでWESTを削除すると、 EASTの合計のみが計算項目として含められます。すべてのメンバーを削除すると、null値が返され、表、ピボット表またはトレリスでは空のセルとして表示されます。

  • 選択ステップ: 選択ステップを作成すると、ステップにグループまたは計算項目を追加できます。後続の保持のみステップまたは削除ステップで、グループまたは計算項目に含まれていたメンバーを参照する場合があります。

    • グループ・リストは、後続のステップで保持または削除されたメンバーの影響を受けますが、グループ・アウトライン値は同じままになります。たとえば、MyNewYorkグループにAlbanyとBuffaloが含まれ、その値が100とします。後続のステップでAlbanyが削除されるとします。MyNewYorkグループの値は100のままですが、Albanyはグループのリストには含まれません。

    • 計算項目は、後続のステップで保持または削除されたメンバーの影響を受けません。

別の分析へのグループの追加

別の分析で作成された列と同じ列にグループを追加できます。グループはメンバーのリストまたは選択ステップのセットのいずれかです。これらのグループの詳細は、「グループ・オブジェクトとしての選択ステップの保存」を参照してください。

次の手順で、「結果」タブを使用したグループの追加方法について説明しますが、これは、「カタログ」ペインが表示される任意の場所で行うことができます。次の方法でもグループを追加することができます。

  • 「メンバー・ステップの編集」ダイアログの「アクション」ボックスで「グループまたは計算項目で開始」を選択し、「カタログ」ペインの「使用可能」リストからグループを選択します。

  • 「選択ステップ」ペインで、適切な列に対する「次に、新規ステップ」をクリックし、「グループまたは計算項目の追加」を選択します。「既存のグループおよび計算項目の選択」を選択し、表示されたダイアログでグループを選択します。

「カタログ」ペインを使用してグループを別の分析に追加する手順:

  1. 「結果」タブで、グループからの選択を適用する列と同じ列を含む分析を表示します。

  2. 「カタログ」ペインに移動し、保存済グループを含む適切なフォルダに移動します。

  3. グループを選択し、「カタログ」ペインのツールバーで「詳細オプションの追加」ボタンをクリックします。

  4. 次のいずれかのオプションを選択します。

    • グループ自体を追加する場合は「追加」。グループのアウトライン値が生成されます。表、ピボット表またはトレリスではグループ名が表示され、グループ名を展開すると、メンバー値が表示されます。(デフォルト)

    • グループ・メンバーのみを分析に追加する場合は「メンバーの追加」。アウトライン値は表示されません。

    グループまたはグループのメンバーは、「選択ステップ」ペインの「追加」ステップに含められます。必要に応じてステップを並べ替えることができます。

グループと計算項目のネスト

グループや計算項目を使用していて、それらをネストする必要が生じる場合があります。ネストとは、たとえば、グループの内部にグループを作成することです。次のリストに、グループおよび計算項目をネストする様々なシナリオを示します。

  • グループはネストできます。つまり、グループに他のグループを含めることができます。ネストしたグループはフラット化されています。たとえば、my_favorite_countriesグループにmy_favorite_citiesグループが含まれているとします。表にmy_favorite_countriesグループを表示して展開すると、my_favorite_citiesグループは表示されません。かわりに、my_favorite_citiesグループのメンバー値が表示されます。

  • 計算項目はネストできます。つまり、計算項目に他の計算項目を含めることができます。

  • グループに計算項目を含めることはできません。計算項目にグループを含めることもできません。

  • 選択ステップを使用する場合、次のようになります。

    • グループまたは計算項目を含む選択ステップは、結果が実行時に生成される一連のステップとして、または静的で毎回再表示される結果として保存できます。

    • ステップの保存済選択であるグループは「カタログ」ペインを使用して適用できます。保存済選択に計算項目に対するステップが含まれている場合にこれを行うと、グループのメンバーのみが追加されます。グループ自体は追加されません。

計算項目の例

この項の例と説明は、SQL文と構文に対する基本的な知識があることを前提としています。これらの例に示される構文は、「新規計算項目」ダイアログのカスタム式関数に適用されます。例は仮定のものです。すべての計算項目が示されているわけではありません。

例5-1に、SoftDrinkA、SoftDrinkB、SoftDrinkCの各製品の現在のメジャーの値(売上金額など)を取得し、値を合計するコードを示します。

これは、「関数」リストから「SUM」を選択し、SoftDrinkA'、'SoftDrinkB'、'SoftDrinkC'をクリックして、「関数」フィールドに追加するのと同じです。

例5-1 現在のメジャーの値の取得

sum('SoftDrinkA','SoftDrinkB','SoftDrinkC')

例5-2では、SoftDrinkAまたはSoftDrinkBの現在のメジャー(売上金額など)の最小値、つまりいずれか小さい方を取得します。

例5-1例5-2では、各関数計算項目は、製品レイヤーなどの外側のレイヤーの各メンバーに対して実行されます。たとえば、軸に年と製品があり、先行する計算項目の1つが製品レイヤーに基づく場合、結果は年ごとに計算されます。

例5-2 現在のメジャーの最小値の取得

min('SoftDrinkA','SoftDrinkB')

例5-3では、年や製品などの外側のレイヤーの各アイテムの値を取得し、合計します。

SoftDrinkAなどの属性列の名前付きアイテムを指定するかわりに、$nや$-n(nはアイテムの行位置を示す整数)と指定できます。$nと指定した場合、メジャーはn番目の行から取得されます。$-nと指定した場合、メジャーは最後からn番目の行から取得されます。

たとえば、売上金額の場合、$1でデータ・セットの最初の行からメジャーが取得され、$-1でデータ・セットの最後の行からメジャーが取得されます。

例5-3 外側のレイヤーの各アイテムの値の取得

sum(*) 

例5-4では、売上金額などの現在のメジャーの1番目、2番目および3番目の行からアイテムが取得され、合計されます。

例5-4 メジャーの値の取得と合計

sum($1,$2,$3)

例5-5では、SoftDrinkA、SoftDrinkBおよびSoftDrinkCの売上を合計します。例に示す2つの計算項目は同じであることに注意してください。つまり、Sumはデフォルトの関数であるため、省略できます。

例5-5 売上値の合計

'SoftDrinkA' + 'SoftDrinkB' + 'SoftDrinkC'
sum('SoftDrinkA','SoftDrinkB','SoftDrinkC')

例5-6では、SoftDrinkAの売上とdiet SoftDrinkAの売上を合計し、SoftDrinkBの売上とdiet SoftDrinkBの売上を合計して、2つの金額のうち大きい方を返します。

例5-6 売上値の合計と最大値の戻し

max('SoftDrinkA' + 'diet SoftDrinkA', 'SoftDrinkB' + 'diet SoftDrinkB')