Saiku没有数据产出,原来是Schema问题,解决步骤分享

在使用Pentaho的Saiku时遇到无法查看数据的问题,通过Schema Workbench导入Schema后,发现数据源未显示。经过排查,错误包括Measure中的datatype与formatString冲突,levelType定义错误,以及日志权限问题。修复包括调整Measure配置,修正levelType,解决日志权限,并发现Saiku查询中的默认值问题。通过勾选HasAll选项,成功解决数据展示异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天用Pentaho的

Schema Workbench

 Product Version : 3.1.5 revision 13307  New Features : Access Control, Aggregate Tables  Java : 1.5 and above
 

License: 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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值