具有多个级别的雪花模式



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

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

可以得到相应的值("移动服务"one_answers"运营商"分别是"领域"one_answers"准则"级别的首批成员

,但当尝试,例如:

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

蒙德里安错误:MDX对象'[研究值].[移动服务)。[internet]' not found in cube 'Recherche'

而"internet"是"criteria"级别的成员(但不是第一个)

为什么我不能看到我的关卡的所有成员?

我认为你在MDX标识符中遗漏了关卡名称。正确的语法应该是:

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

试试这个:

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

最新更新