我一直在努力让聚合表工作.这是我的事实表看起来像:
employment_date_id
dimension1_id
dimension2_id
dimension3_id
dimension4
dimension5
measure1
measure2
measure3
Run Code Online (Sandbox Code Playgroud)
我将employment_date_id
年度,季度和月份折叠成仅包括年份,但包括其他所有列.这是我的聚合表的样子:
yearquartermonth_year
dimension1_id
dimension2_id
dimension3_id
dimension4
dimension5
measure1
measure2
measure3
fact_count
Run Code Online (Sandbox Code Playgroud)
我只是把日期的那一部分搞砸了.其余字段保持原样.这是我的配置:
<AggFactCount column="FACT_COUNT"/>
<AggForeignKey factColumn="dimension1_id" aggColumn="dimension1_id"/>
<AggForeignKey factColumn="dimension2_id" aggColumn="dimension2_id"/>
<AggForeignKey factColumn="dimension3_id" aggColumn="dimension3_id"/>
<AggMeasure name="[Measures].[measure1]" column="measure1"/>
<AggMeasure name="[Measures].[measure2]" column="measure2"/>
<AggMeasure name="[Measures].[measure3]" column="measure3"/>
<AggLevel name="[dimension4].[dimension4]" column="dimension4"/>
<AggLevel name="[dimension5].[dimension5]" column="dimension5"/>
<AggLevel name="[EmploymentDate.yearQuarterMonth].[Year]" column="yearquartermonth_year"/>
Run Code Online (Sandbox Code Playgroud)
我大部分都是从文档中复制聚合表的第二个例子.我的大多数列都没有折叠到表中,而是维度表的外键.
我正在尝试执行的查询是这样的:
select {[Measures].[measure1]} on COLUMNS, {[EmploymentDate.yearQuarterMonth].[Year]} on ROWS from Cube1
Run Code Online (Sandbox Code Playgroud)
问题是,当我调试它并打开日志记录时,我看到看起来像这样的位键:
AggStar:agg_year_employment
bk=0x00000000000000000000000000000000000000000000000111111111101111100000000000000000000000000000000000000000000000000000000000000000
fbk=0x00000000000000000000000000000000000000000000000000000001101111100000000000000000000000000000000000000000000000000000000000000000
mbk=0x00000000000000000000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000
Run Code Online (Sandbox Code Playgroud)
我的查询的位模式是:
Foreign columns bit key=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
Measure bit key= 0x00000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000 …
Run Code Online (Sandbox Code Playgroud) 在MySQL数据库之上使用诸如Mondrian之类的ROLAP服务器是否有任何性能优势,而不是简单地查询MySQL数据库?
我在大多数查询相对简单的上下文中询问这一点(例如在一定时间内查找所有销售),但数据库的大小相当大(数十万条目).
我的想法是使用OLAP加速查询,但现在我很困惑这是否实际上是这项技术的目的,特别是在其ROLAP形式.在尝试olap4j API时,我意识到我可以使用它来进行MDX查询,甚至没有实际的OLAP服务器(只有一个关系数据库和OLAP架构).在性能方面,这怎么可能有用呢?
谢谢
我需要在现有的spring boot Web应用程序中添加OLAP报告支持.我遇到过多种BI工具,如BIRT,JasperServer Report和Saiku,但对于所有这些工具,我必须使用已经创建的多维数据集.如果数据有任何修改,它将不会反映在我的报告中.
是否有任何第三方工具可以帮助我在运行时创建多维数据集或通过在运行时向多维数据集添加数据来生成报表?
我正在计划一个使用Mondrian OLAP引擎和Olap4j的应用程序,并应向用户显示/显示数据.我理解所有的后端内容,但我不确定如何在视图层中显示数据.
例如,olap4j有一个格式化程序,可以很好地将SELECT打印到控制台中.
我从olap4j获得的数据如何显示在视图层中?我刚刚浏览了olap4j API,并且似乎没有任何东西可以以某种方式获得结果,可以以某种方式进一步处理和显示.这个过程是Pentaho解决方案的一部分吗?那么否则仅仅从Mondrian OLAP引擎和olap4j呈现数据真的不容易?
编辑:我习惯于传统上从数据库中获取一些数据到我的DTO中并在视图层中显示它.但是如何为这样复杂的结果集创建DTO呢?
我一直在探索Pentaho生态系统.请原谅问题中任何天真的事情.
关于这些配置文件(包含域名及其映射等)有一些我似乎无法理解的内容.
因此,如果您直接使用mondrian,则可以设置这些xml配置文件.现在,假设我使用Pentaho BI服务器而不仅仅是计划mondrian,那么解决方案存储库中就有这些元数据域xmi文件.
Q1)这些pentaho元数据域xmi文件是否可以避免使用mondrian架构xml文件?
现在,CDA(社区仪表板访问)看起来也很有趣.如果我安装此插件,解决方案存储库中会有.cda配置文件.cda文件包含连接和域映射详细信息.
Q2)这些cda文件是否不需要Q1中讨论的两个配置文件?
Q3)假设我想使用olap4j向引用cda文件的Pentaho BI服务器写入mdx查询.这个问题有意义吗?
谢谢