名前付きセットと計算済メンバーの作成および使用
計算済メンバーおよび名前付きセットは、問合せの存続期間中に複数回使用できる問合せの論理エンティティです。 計算済メンバーおよび名前付きセットを使用すると、記述されたコード行および実行時に時間を節約できます。 MDX問合せの先頭にあるオプションのWITHセクションでは、計算済メンバーまたは名前付きセット(あるいはその両方)を定義します。
次の問合せでは、計算済メンバーが使用されます:
WITH
MEMBER [Measures].[Max Qtr2 Sales] AS
'Max (
{[Year].[Qtr2]},
[Measures].[Sales]
)'
SELECT
{ [Measures].[Max Qtr2 Sales] } on columns,
{ [Product].children } on rows
FROM Sample.Basic
次の問合せでは、名前付きセットが使用されます:
WITH SET [NewSet]
AS 'CrossJoin([Product].Children, [Market].Children)'
SELECT
Filter([NewSet], NOT IsEmpty([NewSet].CurrentTuple))
ON COLUMNS
FROM Sample.Basic
WHERE
{[Sales]}
計算済メンバー
計算済メンバーは、問合せの実行中に存在する仮想メンバーです。 計算済メンバーを使用すると、キューブ・アウトラインに物理メンバーを追加せずに複雑な分析を実行できます。 計算済メンバーには、物理メンバーに対して実行された計算結果が格納されます。
計算済メンバー名には、次のガイドラインを使用します:
-
計算済メンバーをディメンションに関連付けます。たとえば、メンバーMyCalcをMeasuresディメンションに関連付けるには、
[Measures].[MyCalc]
という名前を付けます。 -
実際のメンバー名を使用して計算済メンバーに名前を付けないでください。たとえば、SalesはMeasuresディメンションにすでに存在するため、計算済メンバーに
[Measures].[Sales]
という名前を付けないでください。
複数の計算済メンバーを使用して比率またはカスタム合計を作成する場合は、各計算済メンバーの解決順を設定することをお薦めします。
名前付きセット
名前付きセットは、問合せのWITHセクションで定義します。 これは、問合せのSELECTセクションを作成するときにセットを名前で参照できるため便利です。
たとえば、名前付きセットBest5Prods
は、12月の最上位5つの販売製品のセットを識別します:
WITH
SET [Best5Prods]
AS
'Topcount (
[Product].members,
5,
([Measures].[Sales], [Scenario].[Actual], [Year].[Dec])
)'
SELECT [Best5Prods] ON AXIS(0),
{[Year].[Dec]} ON AXIS(1)
FROM Sample.Basic