Пустые ячейки / смещение в отчете: как определить измерение и иерархию в кубе?

Я хочу проанализировать некоторую динамику какого-то процесса. Для этого я использую плагин Saiku для аналитики CE для Pentaho Business Intelligence Server CE 5.0.1.

Существует таблица фактов и таблица измерений, которые используются для выполнения некоторых агрегаций. Размеры представляют иерархию "Год - Месяц - День".

Я построил некоторый отчет в два сокращения - по годам и месяцам. Отчет выглядит следующим образом:

введите описание изображения здесь

Данные, которые он показывает, верны:

введите описание изображения здесь

Если я определю независимое измерение "Месяц", отчет выглядит правильно:

введите описание изображения здесь

Однако данные уже не верны:

введите описание изображения здесь

Я пытался добавить обратное измерение "Месяц - Год", но не увидел никаких данных.

Есть ли способ определить измерение, в котором отчет не будет содержать пустых ячеек?

Буду очень признателен за информацию. Спасибо всем.

1 ответ

Решение

Я нашел решение - проблема была в неправильном измерении даты.

Смотрите подробный ответ здесь: Создать диапазон дат в 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>
Другие вопросы по тегам