Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド 12c (12.2.1.1.0) E77227-02 |
|
前へ |
次へ |
多くの論理列は、物理レイヤーからビジネス・モデルとマッピング・レイヤーに表をドラッグすることによって自動的に作成されます。
その他の論理列は、特に他の論理列に基づいた計算が含まれる論理列は、後で作成することができます。
論理列は、属している論理表から展開されるツリー構造で表示されます。論理列が主キー列の場合または主キーに関与している場合、その論理列はキー・アイコンが付いて表示されます。論理列に集計ルールが設定されている場合は、ルール・アイコンが付いて表示されます。ビジネス・モデルとマッピング・レイヤーで論理列を並べ替えることもできます。
この項では、次の項目について説明します。
この手順を使用して、ビジネス・モデルとマッピング・レイヤーで論理列を作成します。
次の手順では、ビジネス・モデルとマッピング・レイヤーで論理列を作成する方法を説明しています。
論理列を作成するには:
論理列には、ソートの基礎とする別の列を指定できます。
これによって、辞書式順序で値を並べることが適切でない場合に列のソート順序を変更できます。
辞書式順序のソートでは、結果が辞書のようなアルファベット順に配置されます。このタイプのソートでは、数字が別のグループに分けられるのではなく、アルファベットのスペル順で並べられます。
たとえば、月をソートする場合(MONTH_NAME
などの列を使用して)、辞書式順序では、2月、1月、3月などという順序で結果が返されます。ところが、月は時間的順序でソートする必要があります。このため、表には、値がそれぞれ1 (1月)、2 (2月)、3 (3月)である月のキー(MONTH_KEY
など)が必要です。必要なソートを実行するには、MONTH_NAME
列の「ソート順列」フィールドをMONTH_KEY
に設定します。そうすれば、MONTH_NAME
による並替えのリクエストから、1月、2月、3月の順序で値が返されます。
物理レイヤーからキューブをドラッグ・アンド・ドロップすることによってビジネス・モデルが作成される場合、Essbaseデータ・ソースに対してソート列が自動的に定義されます。
列のソート順序の基礎とする別の列を割り当てるには:
多言語列がルックアップ関数をベースとしている場合、翻訳されていないルックアップ・キー列を、翻訳された列の記述子ID列として指定することが一般的です。
記述子ID列を割り当てることで、二重列のサポートが有効になります。この機能は言語依存フィルタの定義に役立ちます。たとえば、「アンサー」では、ユーザーに表示列が表示されますが、問合せでは非表示の記述子ID列にフィルタが適用されます。
詳細は、多言語データのサポートを参照してください。
二重列は、空間列のモデリングなど、他の目的にも使用されます。
表示列に記述子ID列を割り当てるには:
集計後の計算をメジャーに適用する手段として他の論理列から列を派生する場合があります。
これを実行するには、「論理列」ダイアログの「列ソース」タブで派生列式を指定します。
「計算ウィザード」を使用して一連の派生列を作成することもできます。詳細は、「計算ウィザード」の使用を参照してください。
NQSConfig.INI
で、パラメータPREVENT_DIVIDE_BY_ZERO
がYES
に設定されている場合、Oracle BIサーバーでは、「アンサー」列計算の場合でも、ゼロ除算の状況でエラーが防止されます。Oracle BIサーバーでは、物理SQLの記述時にnullif()
または同様の関数を使用してゼロ除算阻止式が作成されます。このため、PREVENT_DIVIDE_BY_ZERO
がYES
(デフォルト値)に設定されているかぎり、ゼロ除算エラーを回避するためにCASE
文を使用する必要はありません。NQSConfig.INI
の設定の詳細は、Oracle Business Intelligence Enterprise Editionシステム管理者ガイドを参照してください。
計算に事前集計を適用することもできます。詳細は、物理から論理表ソースへのマッピングの定義と計算項目の作成を参照してください。
派生列を指定するには:
式ビルダーを使用して、参照関数を作成することにより、多言語データベース・スキーマからデータを表示することができます。詳細は、Oracle Business Intelligence Enterprise Editionシステム管理者ガイドの多言語データのサポートを参照してください。
Oracle Business Intelligenceユーザーが分析やダッシュボードで通貨列を表示する通貨を選択できるように、論理列を構成できます。
すべてのユーザーで通貨オプションの同一の静的リストが表示されるようにこの機能を設定することも、指定する論理SQL文に基づいて変化する通貨オプションの動的リストを提供することもできます。
複数通貨サポートのために論理列を構成するには:
プレゼンテーション・サービスでこの機能を有効にするには、追加の構成が必要です。Oracle BIプレゼンテーション・サービスの構成に関する詳細は、Oracle Business Intelligence Enterprise Editionシステム管理者ガイドのユーザー定義の通貨オプションの定義を参照してください。
メジャーであるマップ済論理列に、集計ルールを指定する必要があります。
集計は、集計COUNT
およびCOUNTDISTINCT
を除いて、メジャー列でのみ実行する必要があります。メジャー列は、論理ファクト表にのみ指定できます。
オプションで、対象の論理列に関連付けられている別のディメンションに別の集計ルールを選択できます。たとえば、1つのディメンションに沿って集計列に問合せが実行された場合、1つのタイプの集計ルールを使用できる一方で、別のディメンションに沿って別の集計ルールを使用することもできます。
デフォルトの集計ルールが「個別のカウント」の場合、オプションで、特定の論理表ソースにオーバーライド集計式を指定できます。たとえば、なんらかの集計レベルがすでに含まれている別の集計表ソースに問合せを実行する場合に、オーバーライド集計式を指定できます。オーバーライドを指定しないと、デフォルトのルールが使用されます。
集計ルールEvaluate_Aggrを選択して、問合せでデータ・ソースのカスタム・ファンクションをコールできるように指定できます。この関数およびその他の集計ルールの詳細は、Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Edition論理SQLリファレンス・ガイドを参照してください。また、マルチディメンション・ソースに集計を設定する手順の詳細は、マルチディメンション・データ・ソースへの集計ルールの定義を参照してください。
デフォルトで、データはスパースであると見なされます。ただし、まれな場合に、論理表ソースのデータ密度が高いことがあります。論理表ソースは、関連付けられているディメンション・レベルの組合せごとに行が存在する場合に密度が高いデータが含まれると見なされます。メジャー列に集計ルールを設定するときは、マッピング先のすべての論理表ソースのデータ密度が高い場合にのみデータ密度が高いと見なすことができます。
注意:
「アンサー」では、Oracle BIリポジトリの列のデフォルトの集計ルール・セットをオーバーライドできます。詳細は、Oracle Business Intelligence Enterprise Editionユーザーズ・ガイドの「集計ルールと機能」を参照してください。
メジャー列にデフォルトの集計ルールを指定するには:
大多数のメジャーで、各ディメンションに同一の集計ルールが設定されます。メジャーによっては、ディメンションごとに異なる集計ルールが設定されていることもあります。
たとえば、銀行は一定期間の単純な合計で計算された個別の預金の平均ではなく、特定期間の平均預金残高を計算できます。ディメンション固有の集計ルールを構成できます。指定した1つのディメンションに1つの集計ルールを指定し、他のディメンションには適用する他のルールを指定することができます。
ディメンション固有の集計を設定するには、ビジネス・モデルとマッピング・レイヤーでディメンションを構成する必要があります。集計ナビゲーションの設定の詳細は、論理表ソース(マッピング)の管理を参照してください。
指定したディメンションにルールを選択した後、「その他」というラベルが付いたディメンションを使用して、残りのディメンションに集計ルールを設定します。
メジャーの計算時に、集計ルールは、このダイアログで指定されている順序(上から下)で適用されます。複数のディメンションがある場合は、「上へ」または「下へ」を使用して、ディメンション固有のルールの実行順序を変更できます。
複数の論理ファクト列に対する集計ルールを指定するには、このタスクの手順を使用してください。
メジャーの計算時に、集計ルールは、このダイアログで指定されている順序(上から下)で適用されます。
少なくとも2つの列を選択して、「集計の設定」メニュー項目を有効にします。これらの列に派生列が含まれていると、「集計の設定」は有効になりません。
Essbase、Oracle OLAP、およびMicrosoft Analysis ServicesやSAP/BWなどのマルチディメンション・データ・ソースをソースとする論理メジャーに、集計ルールを定義する際のベスト・プラクティスについて説明します。
Essbaseのキューブなどのマルチディメンションのキューブを「物理」レイヤーにインポートすると、Oracle BIサーバーはデータソース内で設定された集計ルールを読み取れなくなります。デフォルトの動作の結果、メジャーは、外部集計のデフォルトの集計ルールを使用して自動的にインポートされます。
Oracle BIサーバーでは、外部集計は次のことを意味します。
特定のメジャーの基礎となる集計ルールを認識できない。
メジャーを計算できない。
常に基礎となるマルチディメンション・データ・ソースに集計の問合せを送信する。
基礎となるデータ・ソースは非常に効率的であるため、集計ルールをデータ・ソースにプッシュ・ダウンすることによって、Oracle BIサーバーから、処理でさらにオーバーヘッドを追加することなく結果を返すことができるようになります。「物理」レイヤーおよび「ビジネス・モデルとマッピング」レイヤーの両方で、データ・ソースに定義されている対応する集計ルールとともに、Oracle Business Intelligenceでメジャーごとに集計ルールを更新することをお薦めします。メジャーごとに集計ルールを更新することで、Oracle BIサーバーは必要に応じて追加の計算ができるようになります。Oracle BIサーバーから最適化された問合せが可能なかぎり引き続きプッシュ・ダウンされるため、問合せのパフォーマンスに影響はありません。
注意:
Oracle BIサーバーで、特定の問合せに対して追加の集計を実行する必要があり、集計ルールが外部集計のデフォルト値に設定されている場合、Oracle BIサーバーから次のエラーが返されます。
外部問合せブロック内で外部集計が検出されました。
このエラーは、Oracle BIサーバーで、基礎となるデータ・ソースの集計ルールを読み取れなかったために発生します。これらの問合せに対して正しい結果が返されるようにするには、基礎となるデータ・ソースに設定されている集計ルールと一致するように、Oracle BIリポジトリに設定されている集計ルールを変更する必要があります。
Oracle Business Intelligenceで定義されている集計ルールが、基礎となるデータ・ソースのルールと一致することが必要です。また、次の図に示しているように、物理レイヤーおよびビジネス・モデルとマッピング・レイヤーの両方に適切な集計ルールを設定する必要もあります。
Oracle BIサーバー内に対応するファンクションがないカスタムの集計の場合、物理メジャー列とそれに対応する論理メジャー列の両方について集計を外部集計のままにすることをお薦めします。
注意:
Oracle OLAPデータ・ソースの場合、Oracle OLAP列に物理レイヤー集計ルールを明示的に設定することはありません。このため、ビジネス・モデルとマッピング・レイヤーのOracle OLAP列にのみ集計ルールを設定する必要があります。
また、問合せでOracle OLAPデータ・ソース内に存在しない集計がリクエストされたときに、集計ルールが外部集計に設定されている場合、Oracle BIサーバーからエラーが返されます。このエラーを回避するには、ビジネス・モデルとマッピング・レイヤーのOracle OLAP列に集計ルールを明示的に設定する必要があります。
Oracle OLAP列の集計ルールを外部集計以外のものに明示的に設定しないと、Oracle BIプレゼンテーション・サービスのカスタム・グループからのリクエストが失敗します。これは、カスタム・グループは常に、データ・ソースには存在しない集計をリクエストするためです。
「レベル」タブでディメンション・レベルを選択することによって、属性を論理レベルに関連付けることができます。
メジャーは、複数のディメンションからのレベルと関連付けることができ、常に指定されたレベルに集計されます。メジャーがレベルに関連付けられている場合、レベル・ベース・メジャーと呼ばれ、問合せコンテキストに低いグレインが含まれていてもそのグレインで計算されます。たとえば、yearlySalesが年レベルに関連付けられている場合、問合せSelect month, yearlySalesで年レベルで計算されます。
ディメンションは、「ディメンション」リストに表示されます。対象の属性が論理レベルに関連付けられている場合、レベルは「レベル」リストに表示されます。
特定のディメンションのレベルにメジャーを関連付ける別の方法として、ビジネス・モデルとマッピング・レイヤーでディメンション・ツリーを展開し、ターゲットのレベルに列をドラッグ・アンド・ドロップできます。レベルベースのメジャーの詳細は、「レベルベース・メジャーの計算」を参照してください。
ディメンションの論理レベルにメジャーを関連付けるには:
管理ツールのビジネス・モデルとマッピング・レイヤーで、論理列をダブルクリックします。
「論理列」ダイアログで、「レベル」タブをクリックします。
「レベル」タブで、論理レベルの選択元のディメンションの「論理レベル」フィールドをクリックします。
「レベル」タブのレベルのリストでは、列ヘッダーをクリックすることによって、行をソートできます(昇順と降順を切り替えることができます)。
「論理レベル」リストで、レベルを選択します。
この処理を繰り返して、対象のメジャーを他のディメンションの他の論理ベルに関連付けます。
ディメンションとメジャーの関連付けを削除するには:
論理列をある表から別の表にドラッグ・アンド・ドロップすると、その論理列が移動されます。
同じ名前の列がすでに存在する場合は、新しい列の名前が変更されます(たとえば、mycolumn#1)。
「オプション」ダイアログの「論理列の移動時にプロンプトを表示」オプションを選択して、論理列をドラッグ・アンド・ドロップしたときに「移動列のソース」ダイアログが表示されるようにすることもできます。このダイアログでは、ドラッグ・アンド・ドロップの動作に関するオプションを選択できます。
「論理列の移動時にプロンプトを表示」オプションを選択する方法の詳細は、管理ツールのオプションの設定を参照してください。
「移動列のソース」ダイアログを使用して論理列を移動またはコピーするには: