機械翻訳について

重複するメンバー名および別名を指定するMDX構文

重複メンバー名が有効になっているデータベースには、次のメンバー指定ルールが適用されます。

ノート:

これらのルールは、MDXを使用して一意のメンバー名アウトライン(重複するメンバー名が有効になっていないアウトライン)で共有メンバー名を明示的に参照する必要がある場合にも適用されます。 このトピックの「共有メンバー名の例」を参照してください。

重複するメンバー名を指定するには、修飾名を使用する必要があります。 修飾メンバー名または別名は、次を使用して指定できます:

  • 「完全修飾メンバー名」-重複するメンバーまたは別名と、ディメンション名までのすべての祖先で構成されます。 各名前は角brackets([])で囲み、ピリオドで区切る必要があります。

    [DimensionMember].[Ancestors...].[DuplicateMember] 

    例:

    [Product].[100].[100-10]
  • 「修飾メンバー名へのショートカット」-Essbaseでは、重複メンバー・アウトラインのメンバーのショートカット修飾名が内部的に構成されます。

    ショートカット修飾名は、スクリプト、Smart Viewまたは他のグリッド・クライアント、MDX問合せに手動で挿入できます。

    Essbaseでは、次の構文を使用してショートカット修飾名を構成します。 スクリプト、グリッド・クライアントおよびMDX問合せでメンバーを参照する場合、Essbaseが使用するのと同じ構文を使用するのが最適ですが、必須ではありません。

    表4-3 ショートカット修飾メンバー名の構成

    シナリオ 修飾名の構文
    世代2に重複メンバー名が存在する [DimensionMember].[DuplicateMember]

    [Year].[Jan]または[Product].[Jan]

    アウトラインに重複するメンバー名が存在しますが、ディメンション内で一意です [DimensionMember]@[DuplicateMember]

    [Year]@[Jan]

    重複メンバー名は一意の親を持つ [ParentMember].[DuplicateMember]

    [East].[New York]

    世代3に重複メンバー名が存在する [DimensionMember].[ParentMember].[DuplicateMember]

    [Products].[Personal Electronics].[Televisions]

    重複メンバー名が名前付き世代またはレベルに存在し、メンバーはその世代またはレベルでは一意である [DimensionMember]@[GenLevelName]|[DuplicateMember]

    [2006]@[Gen1]|[Jan]

    MDXでは、次のいずれかの構文メソッドを使用して、ショートカット修飾メンバー名を参照する必要があります:

    • 「Escape Characterメソッド」-MDX構文では大カッコも使用します:

      1. ショートカット修飾名内の名前部分で使用される内部の閉じ角カッコ(])には、追加の]エスケープ文字が必要です。

      2. ショートカット修飾メンバー名全体を大カッコ([])で囲む必要があります。

      例:

      [Year].[Jan]はMDXでは[[Year]].[Jan]]]として参照されます。

      [Year]@[Jan]はMDXでは[[Year]]@[Jan]]]として参照されます。

      [2006]@[Gen1]|[Jan]はMDXでは[[2006]]@[Gen1]]|[Jan]]]として参照されます。

      ノート:

      前述の構文は、完全修飾メンバー名にも使用できますが、必須ではありません。

    • 「StrToMbr関数メソッド」-StrToMbr関数を使用して、修飾名文字列をメンバー値式に変換できます。

      例:

      [Year].[Jan]はMDXではStrToMbr("[Year].[Jan]")として参照されます。

      [Year]@[Jan]はMDXではStrToMbr("[Year]@[Jan]")として参照されます。

      [2006]@[Gen1]|[Jan]はMDXではStrToMbr("[2006]@[Gen1]|[Jan]")として参照されます。

      ノート:

      前述の構文は、完全修飾メンバー名にも使用できますが、必須ではありません。

重複メンバー名の問合せの例

次の問合せでは、MDXでショートカット・メンバー名を参照する両方のメソッドを使用します:

SELECT
 { Sales, Profit } 
ON COLUMNS,
 {[[Store]]@[6]]], StrToMbr("Product.SKU.1")}
ON ROWS
FROM MySample.Basic
WHERE ([[1998]].[Q1]].[1]]])

ノート:

StrToMbrは、任意のタイプのメンバー識別子文字列を受け入れます: 名前、別名または修飾名。

共有メンバー名の例

次の例は、共有メンバーを含む一意のメンバー名のアウトラインに適用されます。

Sample Basicデータベースでは、メンバー[100-20]は親[100]の下の参照メンバーであり、親[Diet]の下の共有メンバーが関連付けられています。 共有メンバー[100-20]は、次の問合せに示すように、一意の名前[Diet].[100-20]を使用して明示的に参照できます:


SELECT
 {Sales} 
ON COLUMNS,
 {[[Diet]].[100-20]]]} PROPERTIES MEMBER_UNIQUE_NAME
ON ROWS
FROM Sample.Basic;