0

私のスキーマのディメンションの 1 つは、次のテーブル構造を持つスノーフレーク スキーマとしてモデル化されています。

fact table -> criteria_value -> criteria -> Domain

モンドリアン スキーマ:

<Dimension type="StandardDimension" foreignKey="id_value" highCardinality="false" name="Researched Value">
  <Hierarchy name="Researched Value" hasAll="true" primaryKey="id_va" primaryKeyTable="criteria_value">
    <Join leftAlias="criteria_value" leftKey="id_va" rightAlias="criteria" rightKey="id_c">
      <Table name="criteria_value">
      </Table>
      <Join leftAlias="criteria" leftKey="id_c" rightAlias="domain" rightKey="id_domain">
        <Table name="criteria" alias="">
        </Table>
        <Table name="domain" alias="">
        </Table>
      </Join>
    </Join>
    <Level name="Domain" table="domain" column="desc_d_Eng" type="String" uniqueMembers="true" levelType="Regular" hideMemberIf="Never">
    </Level>
    <Level name="Criteria" table="criteria" column="desc_c_Eng" uniqueMembers="false">
    </Level>
    <Level name="Value" table="criteria_value" column="desc_va_Eng" uniqueMembers="false">
    </Level>
  </Hierarchy>
</Dimension>

問題は、Mondrian Workbench で MDX クエリを実行しようとすると、次のようになることです。

{[Researched Value].[Mobile services].operator} ON ROWS

対応する値を確認できます (「モバイル サービス」と「オペレーター」は、それぞれレベル「ドメイン」と「基準」の最初のメンバーです)

しかし、例えばしようとすると:

{[Researched Value].[Mobile services].internet} ON ROWS

私が得た:

モンドリアン エラー: MDX オブジェクト '[調査された値].[モバイル サービス].[インターネット]' がキューブ 'Recherche' に見つかりません

一方、「インターネット」は「基準」レベルのメンバーです(ただし、最初のものではありません)

自分のレベルのすべてのメンバーを表示できないのはなぜですか?

4

1 に答える 1

0

MDX 識別子にレベルの名前がないと思います。正しい構文は次のとおりです。

[Hierarchy Name].[Level Name].[Member Name] (.[Child Member Name])

代わりにこれを試してください:

{[Researched Value].[Criteria].[Internet]}
于 2013-04-05T14:36:07.630 に答える