0

我正在使用 Pentaho 上的 Saiku 插件来分析立方体。尽管所有维度和测量字段都是可见的,但没有显示任何事实,所有单元格都是空的。(如果在工具栏中选择了“非空”选项,Saiku 将返回“无结果”,当未选择该选项时,将显示在列和行中正确列出所有成员的表格 - 只是没有单元格值)。因为列和行中的成员值是正确的,所以我知道 Saiku 正在正确读取多维数据集 xml 文件和 MySQL 数据源。我认为指定的测量可能存在一些问题,但我找不到任何错误(我可以看到控制台或日志中没有错误)。请注意,无论我在 Saiku 中选择什么尺寸,都会遇到这个问题。这是我使用模式工作台创建的蒙德里安模式文件。

<Schema name="Test Small4">
<Cube name="Policy Cube" caption="A small test" visible="true" description="Policy data description" cache="true" enabled="true">
<Table name="fact_policy">
</Table>
<Dimension type="StandardDimension" visible="true" foreignKey="deductable_id" highCardinality="false" name="Deductable" caption="Caption: deductable">
  <Hierarchy visible="true" hasAll="false">
    <Table name="deductable">
    </Table>
    <Level name="Deductable Type" visible="true" column="type" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
    </Level>
    <Level name="Deductable Limit" visible="true" column="deductable_limit" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
    </Level>
    <Level name="Deductable Cap" visible="true" column="cap" type="Numeric" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
    </Level>
  </Hierarchy>
</Dimension>
<Dimension type="StandardDimension" visible="true" foreignKey="endorsement_id" highCardinality="false" name="Endorsement" caption="Caption: Endorsement">
  <Hierarchy visible="true" hasAll="true">
    <Table name="endorsement">
    </Table>
    <Level name="Endorsement Type" visible="true" column="type" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
    </Level>
    <Level name="Endorsement Number" visible="true" column="number" type="Numeric" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
    </Level>
    <Level name="Endorsement Effective Date Regular" visible="true" column="effective_date" type="Date" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
    </Level>
  </Hierarchy>
</Dimension>
<Measure name="Quantity Unique Rate" column="rate" datatype="Numeric" aggregator="distinct-count" visible="true">
</Measure>
<Measure name="Average Rate" column="rate" datatype="Numeric" aggregator="avg" visible="true">
</Measure>
<Measure name="Average Premium" column="premium" datatype="Numeric" formatString="#,###" aggregator="avg" visible="true">
</Measure>
<Measure name="Num Rates" column="rate" datatype="Integer" aggregator="distinct-count" visible="true">
</Measure>
<Measure name="String test" column="rate" datatype="String" aggregator="distinct count" visible="true">
</Measure>
<Measure name="Sum test" column="system_id" datatype="Integer" aggregator="sum" visible="true">
</Measure>
<Measure name="Test" column="system_id" datatype="Integer" formatString="Standard" aggregator="count" visible="true">
</Measure>
<CalculatedMember name="Premium Rate dif" formula="[Measures].[Average Rate]-[Measures].[Average Premium]" dimension="Measures" visible="true">
</CalculatedMember>

知道为什么会这样吗?我该如何调试这个问题?

4

1 回答 1

2

您缺少层次结构上的 primaryKey 属性。Dimension 元素具有正确识别事实表中的列的 foreignKey 属性,但 Hierarchy 元素没有指定维度表中的 primaryKey 来执行连接。

因此,所有连接都将返回 0 行。(我不知道蒙德里安甚至会接受这样的模式,因为我希望在测试模式时连接条件格式错误)

于 2014-06-12T15:14:21.017 回答