我一直在努力让聚合表工作.这是我的事实表看起来像:
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) 有没有人试图从R中访问提供XMLA API(如Mondrian)的OLAP服务器?
我喜欢从R对Mondrian运行MDX查询并检索结果集.
在MySQL数据库之上使用诸如Mondrian之类的ROLAP服务器是否有任何性能优势,而不是简单地查询MySQL数据库?
我在大多数查询相对简单的上下文中询问这一点(例如在一定时间内查找所有销售),但数据库的大小相当大(数十万条目).
我的想法是使用OLAP加速查询,但现在我很困惑这是否实际上是这项技术的目的,特别是在其ROLAP形式.在尝试olap4j API时,我意识到我可以使用它来进行MDX查询,甚至没有实际的OLAP服务器(只有一个关系数据库和OLAP架构).在性能方面,这怎么可能有用呢?
谢谢
现实描述:我们有一个项目列表.在每个项目中都有很多账户.您可以对每个帐户执行大量操作.我确实有以下维度和事实表定义(简化):
Dimensions and attributes:
 Project
  project_key
  project_name
  industry
  number_of_accounts
 Distance
  distance_key
  distance_in_months
  distance_in_quarters
 Account
  account_key
  project_key
  account_id
Fact Table and attributes:
 Action_Fact_Table
  project_key
  distance_key
  account_key
  action_id
Run Code Online (Sandbox Code Playgroud)
现在,我想使用径流三角形方法来分析数据(它可能不是真正的径流三角形,但方法是相同的).最简单的三角形看起来像:
              Distance in Months
Project name|     1    2    3    4    5    6    7    8    9    10
-------------------------------------------------------------------------
 Project1   |     5   10   15   20   25   30   35   40   45    50
 Project2   |     7   14   21   28   35   42   49   56   63
 Project3   |     2    5    8   11   14   20   25   30
 Project4   |     0    2 …Run Code Online (Sandbox Code Playgroud) 在阅读蒙德里安的手册时,我发现它没有那么多类型,包括整数和数字 - 这种类型有什么区别?
我如何使用时间戳级别类型?
我无法找到如何使用Mondrian创建一个简单的Web应用程序来分析其OLAP多维数据集上的数据.我有一个小型数据库,只包含一个事实表和2个维度表.
是否有关于如何构建将MySQL中的3个表连接到允许MDX查询的Mondrian Web应用程序的Web应用程序的教程或参考?
任何帮助赞赏.
我想知道是否有一个可以处理MDX 的内存 OLAP服务器.
我找到了维基百科的文章.但它没有说明内存功能......
我所知道的唯一一个是Mondrian,它也是上面wiki文章中提到的两个开源解决方案之一.
到目前为止,我刚刚和蒙德里安合作了......我不认为Mondrian是一个真正的内存OLAP服务器.
原因如下:
 
它有一个内存缓存,其中包含查询结果.但是他们的第一次执行需要很长时间,必须从RDBMS加载.(http://mondrian.pentaho.com/documentation/faq.php#Scalability)
 
我认为最好的方法是:
 
在Cache中加载所有的事实和维度表,然后对这个内存中的数据执行每个查询.
AFAIK,甲骨文将在今年发布12c企业版,有可能在内存中拥有一些(或所有)表.这将加速OLAP服务器,它只使用SQL查询RDBMS-fact-tables.
...但企业版非常昂贵......
我想听听其他一些意见.
最好的问候,
 
丹尼斯.
我需要按日期过滤的蒙德里安的MDX查询,其中一个或两个边界日期可能不存在.我使用下面的查询只要存在2013-01-01和2013-01-08维度就可以使用.如果两个日期中的一个不存在,则它不返回任何结果,即使两者之间的维度确实存在.即使在缺少边界日期维度的情况下,如何使此查询起作用?
SELECT
NON EMPTY {Hierarchize({[Measures].[Number of Something]})} ON COLUMNS,
NON EMPTY {[Date].[2013-01-01]:[Date].[2013-01-08]} ON ROWS
FROM [Users]
Run Code Online (Sandbox Code Playgroud) 我想实现一个为MDX查询提供支持的应用程序.为此,我想使用pentaho mondrian(一个带有MDX接口的开源OLTP服务器)中的一个库,它将MDX查询转换为下划线数据库的SQL(基于xml描述),遗憾的是我无法找到任何信息.库我需要包含 - 以及如何使用它们 - 在我的项目中使MDX到SQL映射工作.
有没有人在她/他的应用程序中重复使用mondrian组件的经验?
我的数据库团队使用MySQL数据库建立了一个数据库Cube.我需要从PHP连接到此Cube并使用MDX查询获取数据.
我找不到怎么做.有人可以尽快帮助我吗?