报表中的空单元格/偏移量:如何在多维数据集中定义维度和层次结构?

时间:2016-08-03 08:15:04

标签: pentaho olap mondrian saiku rolap

我想分析一些过程的一些动态。为此,我使用Saiku分析插件CE for Pentaho Business Intelligence Server CE 5.0.1。

有一个事实表和一个用于执行某些聚合的维度表。维度代表层次结构"年 - 月 - 日"。

我按年度和月份编制了两份报告。报告如下:

enter image description here

它显示的数据是正确的:

enter image description here

如果我定义了一个独立维度"月",报告看起来是正确的:

enter image description here

但是,数据已经不对了:

enter image description here

我尝试添加反向维度"月 - 年",但没有看到任何数据。

有没有办法定义维度,报告中不包含空单元格?

我将非常感谢这些信息。谢谢大家。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案 - 问题出在日期错误的维度上。

请在此处查看详细答案:Create a date range in mysql

新蒙德里安架构:

<Schema name="MondrianSchema">
  <Dimension type="TimeDimension" visible="true" highCardinality="false" name="X dimension">
    <Hierarchy name="X_hierarchy" visible="true" hasAll="true" primaryKey="date_key">
      <Table name="tbl_declaration_date_dim" schema="dbo">
      </Table>
      <Level name="Year" visible="true" table="tbl_declaration_date_dim" column="Year" nameColumn="Year" type="Numeric" uniqueMembers="true" levelType="TimeYears" hideMemberIf="Never">
      </Level>
      <Level name="Month" visible="true" table="tbl_declaration_date_dim" column="Month" nameColumn="Month" ordinalColumn="Month" type="Numeric" uniqueMembers="false" levelType="TimeMonths" hideMemberIf="Never">
      </Level>
      <Level name="Day" visible="true" table="tbl_declaration_date_dim" column="Day" nameColumn="Day" ordinalColumn="Day" type="Numeric" uniqueMembers="false" levelType="TimeDays" hideMemberIf="Never">
      </Level>
    </Hierarchy>
  </Dimension>
  <Dimension type="TimeDimension" visible="true" name="Y dimension">
    <Hierarchy name="Y_Hierarchy" visible="true" hasAll="true" primaryKey="date_key">
      <Table name="tbl_declaration_date_dim" schema="dbo" alias="">
      </Table>
      <Level name="Year" visible="true" table="tbl_declaration_date_dim" column="Year" nameColumn="Year" type="Numeric" uniqueMembers="true" levelType="TimeYears" hideMemberIf="Never">
      </Level>
      <Level name="Month" visible="true" table="tbl_declaration_date_dim" column="Month" nameColumn="Month" ordinalColumn="Month" type="Numeric" uniqueMembers="false" levelType="TimeMonths" hideMemberIf="Never">
      </Level>
      <Level name="Day" visible="true" table="tbl_declaration_date_dim" column="Day" nameColumn="Day" ordinalColumn="Day" type="Numeric" uniqueMembers="false" levelType="TimeDays" hideMemberIf="Never">
      </Level>
    </Hierarchy>
  </Dimension>
  <Cube name="tbl_application_cube" caption="..." visible="true" description="..." cache="true" enabled="true">
    <Table name="tbl_appl_olap_fact" schema="dbo">
    </Table>
    <DimensionUsage source="X dimension" name="X axis" visible="true" foreignKey="date_dim" highCardinality="false">
    </DimensionUsage>
    <DimensionUsage source="Y dimension" name="Y axis" visible="true" foreignKey="date_dim">
    </DimensionUsage>
    <Measure name="DeclarationCount" column="declaration_id" aggregator="count" visible="true">
    </Measure>
  </Cube>
</Schema>