我的架构中的一个维度是建模为具有以下表结构的雪花架构:
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;的成员等级(但它不是第一个)
为什么我看不到我所有级别的成员?
答案 0 :(得分:0)
我认为您在MDX标识符中缺少级别的名称。正确的语法是:
[Hierarchy Name].[Level Name].[Member Name] (.[Child Member Name])
请改为尝试:
{[Researched Value].[Criteria].[Internet]}