2016-08-03 5 views
0

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

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

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

enter image description here

Данные он показывает правильно:

enter image description here

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

enter image description here

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

enter image description here

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

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

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

ответ

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>