ここでは、ブラジルに旅行したことのある顧客が訪れた別の目的地を確認する場合を想定します。この情報を得るには、ブラジルに旅行したことのある顧客を知る必要があり、ブラジルに旅行したという条件を満たす顧客が訪れた目的地のリストも必要です。
このような状況では、サブクエリが役立つ場合があります。サブクエリにより、フィルタで使用する値のリストが提供されるためです。これはつまり、WHERE 節で別のクエリに挿入されるクエリです。
サブクエリ (内部クエリ) は、クエリが使用する値または値のリストを取得します。ネストされたサブクエリを使用することは、2 つの逐次クエリを実行して、内部クエリの結果を外部クエリ (メインクエリ) の検索値として使用することと同じです。
サブクエリは、サブクエリよりも使いやすい単純なフィルタでは情報を取得できない場合に使用します。
項目属性 in 項目属性 Where (条件)
例
上記の例のクエリを作成します。ピボットテーブルでは、示される領域にフィールドを挿入します。まずは、単純なフィルタを試してみます。これで十分な場合があるためです。
ケース 1
Customer name |
行 |
Arrival Country Name |
行 |
このクエリを実行すると、すべての顧客とその目的地のリストが取得されるので、このオプションでは問題は解決されません。
ケース 2
PassengerFullName |
行 |
ArrivalCountryName |
行 |
ArrivalCountryName = “Brazil” |
フィルタ |
このクエリを実行すると、ブラジルに旅行したことのある顧客のみが返されますが、訪れた別の目的地は含まれていません。したがって、この方法も適切ではありません。
ケース 3
PassengerFullName |
行 |
ArrivalCountryName |
行 |
PassengerFullName IN PassengerFullName where (ArrivalCountryName = “Brazil”) |
フィルタ |
このクエリを実行すると、今までにブラジルに旅行したことのある全顧客の目的地が返されます。したがって、これが正しい方法です。
サブクエリを挿入するには、フィルタ領域の緑のボタンをクリックして、次に示すように、エクスプレッションエディター内にコードを入力します。
参考情報
ユーザー定義項目属性 (UDA) GXquery での情報のフィルタリング
|