私のスキーマのディメンションの 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' に見つかりません
一方、「インターネット」は「基準」レベルのメンバーです(ただし、最初のものではありません)
自分のレベルのすべてのメンバーを表示できないのはなぜですか?