微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

saiku中的mondrian 聚合表的配置报错详解


saiku mondrian配置聚合表的目的是通过先生成要分析的数据,在实际分析时,直接从聚合表提取结果,省去实时分析的步骤,从而提高分析性能

配置聚合表的方式:

<Cube name="Test_Demo">

<Table name="demo.t_test_demo" alias="t_test_demo">

<AggName name="agg_2_t_test_demo">

<AggFactCount column="row_count"/>

<AggMeasure name="[Measures].[UsersNum]" column="count_userid"/>

<AggMeasure name="[Measures].[CrashNum]" column="sum_crash_num"/>

<AggLevel name="[Isroot].[Isroot]" column="Isroot"/>

<AggLevel name="[Osversion].[Osversion]" column="Osversion"/>

</AggName>

</Table>

......

<Measure name="UsersNum" caption="用户数" column="userid" aggregator="count" datatype="Integer" />

<Measure name="CrashNum" caption="Crash数" column="crash_num" aggregator="sum" datatype="Integer" />

</cube>

伦理片http://www.dotdy.com/

聚合表的表结构定义如下:

create table agg_2_t_test_demo(

isroot string,

Osversion string,sans-serif; font-size:14px; line-height:25.1875px"> count_userid bigint,sans-serif; font-size:14px; line-height:25.1875px"> sum_crash_numbigint,sans-serif; font-size:14px; line-height:25.1875px"> row_count bigint

);

更新完schemal后,重新装载时会报如下错误

20:02:50,112 ERROR [AggTableManager] Recognizer.checkFactCount: Candidate aggregate table 'agg_2_t_test_demo' for fact table 't_test_demo' has no fact count columns.

ottom:0px; padding-top:0px; padding-bottom:0px; font-family:Helvetica,112 ERROR [AggTableManager] Recognizer.checkNosMeasures: Candidate aggregate table 'agg_2_t_test_demo' for fact table 't_test_demo' has no measure columns.

出错原因及解决方法

1、 <AggFactCount column="row_count"/> 这里的column必须是fact_count,这个是解决has no fact count columns的错误

2、 <AggMeasure name="[Measures].[UsersNum]" column="count_imei"/>

<AggMeasure name="[Measures].[CrashNum]" column="sum_crash_num"/>

这两配置的column必须和对应的Measures的column或是name相同才行,因此改成如下:

<AggMeasure name="[Measures].[UsersNum]" column="UsersNum"/>

<AggMeasure name="[Measures].[CrashNum]" column="CrashNum"/>

 <AggMeasure name="[Measures].[UsersNum]" column="userid"/>

<AggMeasure name="[Measures].[CrashNum]" column="crash_num"/>

因此表定义改成如下:

create table agg_2_t_test_demo(

isroot string,sans-serif; font-size:14px; line-height:16.8px"> Osversion string,sans-serif; font-size:14px; line-height:16.8px"> userid bigint,sans-serif; font-size:14px; line-height:16.8px"> crash_num bigint,sans-serif; font-size:14px; line-height:16.8px"> fact_count bigint

);

改好后,重新装载schemal,saiku可以正常运行

注:

如果聚合表没有数据时,会自动检测出,并在日志中打出如下内容

Zero size Aggregate table 'agg_2_t_test_demo' for Fact Table 't_test_demo'

这里,只要在聚合表中生成统计的数据即可

原文地址:https://www.jb51.cc/javaschema/284451.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐