UNION (MDX)
指定された 2 つのセットの要素で構成されたセットを返します。オプションで重複を除外します。
返りタイプ
この関数は、セットを返します。
構文および詳細
UNION(set_expression1, set_expression2, ALL)
または、以下のようにします。
UNION(set_expression1, set_expression2)
-
set_expression1 および set_expression2 は、セットに対して評価される式です。
-
オプションのキーワード ALL が含まれている場合、これは、すべての重複を保持することを指定します。既定では、返されたセットに、重複する要素が含まれている場合、それらのうち最初の要素のみが含まれます。
例
2 つの名前付きセットを定義する以下のクエリを考えてみます。
WITH SET set1 AS '{allerd.eggs,allerd.soy,allerd.wheat}'
SET set2 AS '{allerd.[dairy products],allerd.pollen,allerd.soy,allerd.wheat}'
SELECT MEASURES.[%COUNT] ON 0, UNION(set1,set2) ON 1 FROM patients
Patient Count
1 eggs 451
2 soy 462
3 wheat 479
4 dairy products 463
5 pollen 447
このクエリは、set1 および set2 にあるすべてのメンバを示します。
一方、ALL キーワードを使用して重複を保持している以下のバリエーションを考えてみます。
WITH SET set1 AS '{allerd.eggs,allerd.soy,allerd.wheat}'
SET set2 AS '{allerd.[dairy products],allerd.pollen,allerd.soy,allerd.wheat}'
SELECT MEASURES.[%COUNT] ON 0, UNION(set1,set2,ALL) ON 1 FROM patients
Patient Count
1 eggs 451
2 soy 462
3 wheat 479
4 dairy products 463
5 pollen 447
6 soy 462
7 wheat 479
最後になりますが、より関心のあるセットを引数として使用することも、もちろんできます。以下はその例です。
WITH SET set1 AS 'TOPCOUNT(homed.city.members,5,MEASURES.[avg allergy count])'
SET set2 AS 'TOPCOUNT(homed.city.members,5,MEASURES.[avg age])'
SELECT MEASURES.[%COUNT] ON 0, UNION(set1,set2) ON 1 FROM patients
Patient Count
1 Juniper 1,197
2 Spruce 1,135
3 Centerville 1,155
4 Redwood 1,144
5 Magnolia 1,156
6 Cedar Falls 1,188
7 Elm Heights 1,266
8 Pine 1,139