今天用Pentaho的
Schema Workbench
Product Version : 3.1.5 revision 13307 New Features : Access Control, Aggregate Tables Java : 1.5 and aboveLicense: EPL
起初,通过DataSource管理导入Schema,在用Saiku查看的时候查看不到数据源。于是通过少量增量的方式排查错误。
有些事Meansure中制定了 datatype,而且还用了formatString,这样不能同时在一块。
<Measure name="Cost" column="sale_money" datatype="Integer" aggregator="sum" visible="true">
或者
<Measure name="Duration Avg" column="taxi_time_long" formatString="##,###.0" aggregator="avg" visible="true">
另外也把formatString和formatter进行了混淆,导致了错误。
后期通过排查在Dim方面levelType 在day制定错误,在quarter中忘记了指定等低级错误。
下面展示date和time的两个维度定义:
<Dimension type="TimeDimension" visible="true" highCardinality="false" name="Calendar By Date">
<Hierarchy name="Default" visible="true" hasAll="true" primaryKey="date_value">
<Table name="dim_date">
</Table>
<Level name="Day" visible="true" column="date_value" ordinalColumn="date_key" type="Date" uniqueMembers="false" levelType="TimeDays" hideMemberIf="Never">
</Level>
<Level name="Week" visible="true" column="week" type="String" uniqueMembers="false" levelType="TimeWeeks" hideMemberIf="Never">
</Level>
<Level name="Month" visible="true" column="month" nameColumn="month_name" type="Integer" uniqueMembers="false" levelType="TimeMonths" hideMemberIf="Never" captionColumn="month_name">
</Level>
<Level name="Quarter" visible="true" column="quarter" nameColumn="quarter_name" type="Integer" uniqueMembers="false" levelType="TimeQuarters" hideMemberIf="Never" captionColumn="quarter_name">
</Level>
<Level name="Year" visible="true" column="year" type="Integer" uniqueMembers="true" levelType="TimeYears" hideMemberIf="Never">
</Level>
</Hierarchy>
<Hierarchy name="Calendar" visible="true" hasAll="false" primaryKey="date_value">
<Table name="dim_date">
</Table>
<Level name="Year" visible="true" column="year" type="Integer" uniqueMembers="true" levelType="TimeYears" hideMemberIf="Never">
</Level>
<Level name="Quarter" visible="true" column="quarter" type="Integer" uniqueMembers="false" levelType="TimeQuarters" hideMemberIf="Never" captionColumn="quarter_name">
</Level>
<Level name="Month" visible="t