• 検索結果がありません。

プロンプトを使用したデータのフィルタ

ドキュメント内 SAP BusinessObjects Web Intelligence ユーザーズガイド (ページ 109-118)

4 クエリの作成

4.9 クエリ内のデータのフィルタ処理

4.9.2 プロンプトを使用したデータのフィルタ

4.9.2.1 プロンプトの定義

プロンプトは、特殊なタイプのクエリフィルタです。これは、ドキュメント内のデータを最新表示するたびに取得するデータを問 い合わせる動的フィルタです。プロンプトに回答するには、データを最新表示する前に、表示する値を入力または選択します。

これにより、クエリは指定された値だけをデータベースから取得し、ドキュメント内のレポートに返します。

プロンプトを使用することで、複数のユーザが同じドキュメントを使い、データベース内の異なる情報を取得して同じ形式のテ ーブルやチャートに表示できます。プロンプトには、データベースからのデータ取得に要する時間を短縮できるという利点もあ ります。

プロンプトには、次の要素が含まれます。

● フィルタ適用オブジェクト

● 演算子

● メッセージ

たとえば、ユーザに特定の年を選択するよう要求するには、[年]ディメンションにプロンプトを定義します。

Year Equal To ("Which year?)

このプロンプトで、フィルタ処理されるオブジェクトは "年"、演算子は Equal To、プロンプトメッセージは「年を指定」です。

プロンプトの定義は、ディメンション、メジャー、属性、階層、およびレベルに対して行うことができます。たとえば、"年" ディメン ションにフィルタを適用して特定の年の値だけを取得し、"売上げ" メジャーにフィルタを適用して特定の範囲の売上げ値だけ を取得し、"地理" 階層にフィルタを適用してその階層のメンバーを取得することができます。

注記

Web Intelligence リッチクライアントまたはリッチインターネットアプリケーションインタフェースの場合、OLAP unx ユニバ

ースでは、メジャーにフィルタを適用するとき、定数のみを入力できます。

注記

Web Intelligence リッチクライアントまたはリッチインターネットアプリケーションインタフェースの場合、フィルタパネルで

BEx クエリにメジャーまたは詳細オブジェクトを追加することはできません。

同じクエリ内に複数のプロンプトを作成し、AND または OR 演算子で関連付けることができます。プロンプトをネストすることも 可能です。ユーザがクエリを実行すると、プロンプトが表示されます。

注記

BEx クエリと OLAP unx ユニバースでは、AND 演算子のみを使用できます。

プロンプトは、クエリによって生成されたスクリプト内に、プロンプトに対して入力された値、または特別なプロンプト構文として 表示されます。たとえば、Country に対するプロンプトは、次のように生成済みの SQL で表示されます。

Resort_Country.country = @prompt('Enter Country:','A', 'Resort\Country', Mono,Free,Persistent,,User:0)

または

Resort_country.country In ('UK')

プロンプトはオプションの場合があります。オプションプロンプト場合は、必ずしも値を指定する必要はありません。値を指定し ない場合、プロンプトは無視されます。

独自のプロンプトを作成したり、ユニバースで定義済みのプロンプトから選択したりすることもできます。

4.9.2.1.1 結合プロンプト

ドキュメントに複数のデータプロバイダが含まれている場合、同じデータ型のオブジェクト、同じ種類の演算子、同じプロンプト テキストを使用するプロンプトは結合されます。

データプロバイダがすべて最新表示された後は、これらのプロンプトについて同一のプロンプトメッセージが表示されます。

結合されたプロンプトで表示される値の一覧は、最も厳しい条件の表示プロパティを持つプロンプトのオブジェクトに関連した 一覧です。

4.9.2.1.2 BE x 変数からのプロンプトの結合および結合解除

BEx変数は Web Intelligence でプロンプトに変換されます。複数のデータソースクエリに 2 つ以上の BExクエリがあり、同

じ BEx変数が 2 つ以上ある場合、変数は結合することができ、1 回のみ情報の入力を求められます。同じ技術名を持つ BE x変数のみが結合されます。[ドキュメントの要約] ペインでプロンプトの結合を選択します。このオプションの選択を解除する と、結合されたプロンプトはすべて、結合が解除されます。各 BEx変数に対してプロンプトが表示されます。

4.9.2.1.3 階層プロンプト

次のオブジェクトの値の一覧は、プロンプト内で階層表示されます。

● 階層

● レベル

● 階層型の値の一覧に関連付けられているディメンション

階層型の値の一覧は、ツリー形式で表示されます。ツリーを上下に移動して、対象とするアイテムを表示します。プロンプト内 のフィルタ演算子に応じて、アイテムを値の一覧のさまざまなレベルから選択できるか、最下位レベルのみから選択できま す。

4.9.2.2 クエリフィルタおよびプロンプト演算子

4.9.2.2.1 演算子の一覧

Equal To 演算子

ある値と等しいデータを取得するには、Equal To 演算子を使用します。

たとえば、US のデータのみを返すには、“国 Equal To US”フィルタを作成します。

Not Equal To 演算子

ある値と等しくないデータを取得するには、Not Equal To 演算子を使用します。

たとえば、US 以外のすべての国のデータを返すには、“国 Not Equal To US”フィルタを作成します。

注記

この演算子は OLAP unx ユニバースの親子階層や BEx クエリには使用できません。

Greater Than 演算子

ある値よりも大きいデータを取得するには、Greater Than 演算子を使用します。

たとえば、60 を越える年齢の顧客のデータを取得するには、“[顧客の年齢] Greater than 60”フィルタを作成します。

注記

この演算子は OLAP unx ユニバースの親子階層や BEx クエリには使用できません。

Greater Than Or Equal To 演算子

ある値以上のデータを取得するには、Greater Than or Equal To 演算子を使用します。

たとえば、売上げが 150 万ドル以上のデータを取得するには、“[売上げ] Greater than or equal to 1500000”フィルタを作 成します。

注記

この演算子は OLAP unx ユニバースの親子階層や BEx 階層には使用できません。

Less Than 演算子

Less Than 演算子は、ある値よりも小さいデータを取得する場合に使用します。

たとえば、試験結果が 40 点より低いデータを取得するには、“[試験結果] Less Than 40”フィルタを作成します。

注記

この演算子は、OLAP unx ユニバース、およびフィルタ内の階層 (BEx クエリの階層) では使用でません。

Less Than Or Equal To 演算子

ある値以下のデータを取得するには、Less Than Or Equal To 演算子を使用します。

たとえば、年齢が 30 歳以下の顧客のデータを取得するには、“[年齢] Less Than Or Equal To 30”フィルタを使用します。

注記

この演算子はフィルタの OLAP unx ユニバースおよび階層、または BEx クエリの階層には使用できません。

Between 演算子

2 つの境界値の間のデータ (2 つの境界値を含む) を取得するには、Between 演算子を使用します。1 つ目に宣言する値は 2 つ目の値より下の値である必要があります。

たとえば、第 25 週から第 36 週までの週 (第 25 週と第 36 週を含む) のデータを取得するには、"[週] Between 25 and 36" フィルタを作成します。

注記

この演算子はフィルタの OLAP unx ユニバースおよび BEx 階層には使用できません。

Not Between 演算子

2 つの値の範囲に含まれないデータを取得するには、Not Between 演算子を使用します。

たとえば、第 25 週から第 36 週までの週を除くすべての週 (第 25 週と第 36週を含まない) のデータを取得するには、“[週] Not between 25 and 36”フィルタを作成します。

注記

この演算子はフィルタの OLAP unx ユニバースおよび BEx 階層には使用できません。

In List 演算子

In List 演算子は、値の一覧の値に対応するデータを取得する場合に使用されます。

たとえば、US、UK、および Japan のデータのみを取得する場合、[国] In List フィルタを作成します。このフィルタでは、[値を 入力] フィールドに値を入力するときに「US;UK;Japan」と入力する必要があります。

クエリフィルタで階層型の値の一覧とともに使用する場合は、それが階層型の値の一覧か階層オブジェクトのいずれに関連 付けられているディメンションの値であっても、In List 演算子は階層の任意のレベルから複数のメンバーを選択できます。た とえば、In List 演算子を使用した "地理" 階層のプロンプトでは、プロンプトの "市" レベルで "パリ" を、"国" レベルで "カナ ダ" を選択することができます。

レポートフィルタで使用する場合、In List は値のフラットリストを作成します。

Not In List 演算子

複数の値に対応しないデータを取得するには、Not In List 演算子を使用します。

たとえば、US、UK、および Japan のデータを取得しない場合、[国] Not In フィルタを作成し、[値の入力] フィールドの値が入 力可能なとき、「US;UK;Japan」と入力する必要があります。

階層型の値の一覧とともに使用する場合は、それが階層型の値の一覧か階層オブジェクトかレベルオブジェクトのいずれに 関連付けられているディメンションの値であっても、In List 演算子は階層の任意のレベルから複数のメンバーを選択できま す。たとえば、Not In List 演算子を使用する "地理" 階層のプロンプトでは、プロンプトの都市レベルで "パリ、国レベルで "カ

ナダ" を選択することができます。

注記

この演算子は、レベルベースの階層など、特定の種類の階層でのみ使用できます。

Matches Pattern 演算子

Matches Pattern 演算子を使用して、特定の文字列または文字列の一部を含むデータを取得します。

ドキュメント内 SAP BusinessObjects Web Intelligence ユーザーズガイド (ページ 109-118)