具有多个级别的雪花模式

时间:2013-04-04 12:14:41

标签: mondrian workbench

我的架构中的一个维度是建模为具有以下表结构的雪花架构:

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

我可以看到对应的值 (&#34;移动服务&#34;&#34;运营商&#34;是第一个级别成员&#34; Domain&#34;&#34; Criteria&#34;

但尝试例如:

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

我得到了:

  

蒙德里安错误:MDX对象&#39; [研究价值]。[移动   服务] [互联网]&#39;在立方体&#39; Recherche&#39;

中找不到

while&#34; internet&#34;是&#34;标准&#34;的成员等级(但它不是第一个)

为什么我看不到我所有级别的成员?

1 个答案:

答案 0 :(得分:0)

我认为您在MDX标识符中缺少级别的名称。正确的语法是:

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

请改为尝试:

{[Researched Value].[Criteria].[Internet]}