4 クエリの作成
4.1 クエリについて
4.1.1 クエリを使用したデータの取得
4.1.1.1.3 クエリ内で利用可能なオブジェクト
Web Intelligence クエリでは、次のオブジェクトを利用できます。
クラスとサブクラス
オブジェクトは、クラスと呼ばれるフォルダにグループ分けされます。また各クラスには、1つまたは複数のサブクラスを含める ことができます。サブクラスには、そのクラスのオブジェクトの下位レベルに属するオブジェクトがまとめられます。
クラスの役割は、オブジェクトを論理的なグループに分けることです。ユニバースでクエリを作成する際、クラスを使用すること でクエリで指定する情報を表すオブジェクトが簡単に見つかります。
分析ディメンション
分析ディメンションには関連階層のコレクションが含まれます。分析ディメンションはクエリの結果オブジェクトとして表示されま せん。分析ディメンションを選択すると、そのデフォルト階層がクエリに表示されます。
分析ディメンションは、以下のように表示されます。
ディメンション
ディメンションは、レポートで行う分析のベースとなる非階層データを表します。ディメンションでは通常、顧客名、リゾート名、
日付などの文字型のデータを取得します。たとえば、"顧客" ディメンションと "売上げ" メジャーを含むクエリは、顧客ごとの売 上げを返します。
ディメンションにより、クエリによって生成された結果セットに非階層列が作成されます。
階層データソースでは、階層はディメンションに基づいています。階層は使用可能オブジェクトのリストでベースとなるディメン ションの下に表示されます。非階層データを返すようにクエリにディメンションを含めるか、または階層データを返すように 1 つ 以上の関連階層を含めることができます。
属性
属性は、ディメンションまたは階層に関する詳細なデータを提供します。たとえば、年齢は顧客ディメンションの属性になること ができます。
属性は、関連付けられたディメンションと一対一の関係である必要があります。各ディメンションオブジェクトの値は、いずれか の属性の関連付けられた値を 1 つのみ持つことができます。上の例では、各顧客値は、年齢詳細オブジェクトで関連付けら れた値を 1 つのみ持つことができます。
正しくないユニバースデザインのため、詳細オブジェクトが 1 つのディメンション値に対して複数の値を返そうとする場合、セル
に #MULTIVALUE エラーメッセージが表示されます。
属性は次のように表示されます。
注記
.unv ユニバース (ユニバースデザインツールで作成されたもの) の場合、属性は詳細として参照され、リレーショナルデー
タソースに適用されます。
階層
階層とは、レベルまたは親子関係内に編成されたデータメンバーのセットです。たとえば、[地理] 階層には [国]、[州]、および [都市] レベルを含めることができます。
階層により、クエリによって生成された結果セットに階層列が作成されます。階層内の項目を展開してデータを検索できます。
たとえば、[地理] 階層内の [カリフォルニア州] レベルを展開すると、カリフォルニア関連のデータを検索できます。
メンバーセレクタを使用して、結果セットに表示するメンバーを選択することができます。
階層データソースでは、階層はディメンションに関連付けられ、使用可能オブジェクトのリストで関連付けられるディメンション の下に表示されます。階層オブジェクトとともに、次の情報も表示されます。
表示オブジェクト 説明
メンバーアイコンによる矢印 Web Intelligence のデフォルトの階層。取得された階層のプレース ホルダ。
黒色の円の中の 'V' 記号 検証または切り替え。このオブジェクトが BEx、MSAS、および Essbase の 'アクティブ' な階層であることを示します (MSAS で は、「デフォルト」という用語はアクティブな階層を説明するのに使用 されます)。
[n] ('n' は整数値) BEx クエリに適用。設計時に使用された BW 階層のバージョン番
号。これらの階層では、Web Intelligence によって階層名の後に階 層のバージョンが表示されるようになりました。例: 国階層 [2]。BEx クエリのデザイナは、分かりやすくするためにバージョン番号の前 に文字列を追加できます。例: [バージョン 2]。このバージョンは、レ ポートテーブルヘッダにも表示されます。
レベルオブジェクト
レベルとは、階層のルートから同じ距離にある階層内のメンバーのセットです。たとえば、[都市] は [ロサンゼルス] および
[サンフランシスコ] などのメンバーを含む [地理] 階層内のレベルです。レベルの名前の前には、レベルの深さが表示されま
す。この数字は連続していて、常に次のようにルート (数字 1) からはじまります。
1 - レベル a 2 - レベル b
3 - レベル c
レベルにより、クエリによって生成された結果セットにフラット列が作成されます。たとえば、[国] レベルおよび [売上げ] オブ ジェクトを含むクエリは、以下のような結果を生成します。
国 売上げ
アメリカ 10,123,121
フランス 8,232,231
ドイツ 7,342,342
イギリス 9,343,092
すべての階層にレベルが含まれるとは限りません。レベルは BEx クエリ内の階層では使用できません。
レベルは、以下のように表示されます。
関連リンク
BEx クエリの定義 [ページ 68]
メンバー
メンバーは階層内の個々のデータアイテムです。たとえば、"地理" 階層は、"国" レベルに "フランス"、または "市町村" レベ
ルに "ラスベガス" などのメンバーを含めることができます。
階層内にすべてのメンバーを含めない場合は、クエリ結果に含める個々のメンバーを階層から選択します。また、メンバーセ ットを含む名前付きセットを定義することもできます。
名前付きセット
名前付きセットとは、メンバーのセットを返す名前付きの式です。名前付きセットは OLAP データベース、またはリレーショナル
または OLAP データベースに基づくユニバースで定義できます。
計算メンバー
計算メンバーは、MDX 式によって返されるメンバーです。MDX は OLAP データベース内の階層データにアクセスするのに使 用される言語です。
OLAP データベースの管理者は、データベースにアクセスする MDX クエリで使用できる計算メンバーを作成できます。
計算されたメンバーは、以下のように表示されます。
メジャー
メジャーは、データベースのデータを計算して得たデータ (通常は数値) を取得するために使います。たとえば、[売上げ]は、
販売個数に単価を掛けた計算結果です。メジャーは通常メジャークラスに属します。
デフォルトで、メジャーはデータベースから返された詳細値を集計して計算されます。スマートメジャーとは、データベース自体 によって計算され、集計済みクエリによって返された特別な種類のメジャーです。
スマートメジャーが、計算の表示方法に影響を与えることもあります。スマートメジャーに関する詳細については、Web Intelligence における関数、式、計算の使い方ガイドを参照してください。
メジャーは、クエリ内で関連付けられるオブジェクトに基づき結果を返します。たとえば、"顧客" ディメンションおよび "売上げ"
メジャーを含むクエリは、顧客ごとの売上げを返します。"地理" 階層および "売上げ" メジャーを含むクエリは、階層内で可能 なすべての異なる集計に対して計算された売上げを返します。
メジャーオブジェクトは、以下のように表示されます。
4.1.1.1.4 非階層クエリの定義
非階層クエリは、データを階層で整理するオブジェクトを含まないユニバースベースのクエリです。ディメンション、属性、メジャ ーを使用して非階層クエリを作成します。ディメンションは、顧客や市町村などのビジネスオブジェクトを表示します。メジャー は、クエリに含めるディメンションから通常は数値で結果を抽出します。たとえば、"顧客" ディメンションおよび "売上げ" メジャ ーを含むクエリは、顧客ごとの売上げを返します。
非階層クエリは、ディメンションが関連していない結果セットを作成します。クエリ内の各オブジェクトは、結果セット内で 1 つの フラットな列を作成します。
非階層クエリは、階層、レベル、メンバー、または名前付きセットのようなオブジェクトを含みません。
関連リンク
ユニバースに対するクエリを作成する [ページ 49]
4.1.1.1.5 階層クエリの定義
階層クエリには、少なくとも 1 つの階層オブジェクトが含まれます。階層データをサポートするユニバース、または SAP Info
Query に直接アクセスする BEx クエリで、階層クエリを作成するためのオプションがあります。階層データは、ユニバースによ
るデータの構築方法によって、リレーショナルデータベースまたは OLAP データベースから取得できます。
注記
リレーショナルデータソースの場合、厳密には階層ではなくナビゲーションパスです。
階層は、結果オブジェクトまたはフィルタオブジェクトのいずれかに含めることができます。階層クエリを作成する際、クエリパ ネルでは、階層データを操作するための追加機能を提供します。たとえば、結果オブジェクトとして階層を含める場合、結果に 表示する階層からメンバーを選択する機能があります。これらの階層機能は、クエリを非階層データで作成する場合には使