层次结构和级别(Pentaho 模式工作台)?

Posted

技术标签:

【中文标题】层次结构和级别(Pentaho 模式工作台)?【英文标题】:Hierarchies and levels (Pentaho schema workbench)? 【发布时间】:2015-02-08 12:39:41 【问题描述】:

我是 BI 领域的新手,我有很多问题。我要做一个 BI 家庭作业项目,所以我决定使用:

mysql(数据库) Pentaho 水壶 (ETL) Pentaho 模式工作台(星型模式) QlikView(报告)

我有一个维度表 SUPERMARKET,它是从模式工作台和 MySQL 数据库之间的连接中编辑的:

SUPERMARKET (id_supermarket, name_supermarket, number_of_boxes, active (YES or NOT), date_of_update) SUPERMARKET 表通过外键直接附加到 Fact 表 SALES

所以我的问题是如何在 SUPERMARKET 维度中建立层次结构和级别?

据我所知,维度表的所有成员之间都必须有时间维度之间的关系(年包含季度,季度包含月,月包含周,周包含日)。

我还有一个问题:Pentaho 工作台将星型模式导出为 XML 文件,那么如何在 Pentaho Kettle 中调用或使用此模式进行 ETL?

【问题讨论】:

【参考方案1】:

第一个建议:使用 Saiku CE 而不是 QlikView 进行报告。是查询 Mondrian OLAP、创建简单报告和快速测试的最佳选择。

报告工具:Saiku 2.6 OLAP 架构:蒙德里安 3.8 OLAP 架构工具:Pentaho 架构工作台 数据仓库(或数据库):MySQL ETL 工具:Pentaho 数据集成(Kettle)

让我们来描述解决方案的整个概念:

    [SOURCE DB]:您有一些数据源(数据库、其他系统),您希望将这些数据用于报告。假设您将这些数据存储在 MySQL DB 中。 [DWH]:要将数据用于报告,您需要创建一个数据仓库(星型模式),从source db 加载数据。 [ETL]:要从source db 中提取数据并将它们加载到DWH,使用ETL[OLAP 架构]:DWH 的顶部构建OLAP schema。它是reporting applications 用来了解如何查询DWH 数据的XML 文件。它包含 OLAP 多维数据集、维度和度量的定义。 [报表应用程序]:是一个知道如何以OLAP方式查询DWH数据的工具(它在OLAP模式中定义的多维数据集、维度和度量之上使用MDX查询)。您只需要定义 OLAP 模式位置和与 DWH 的连接即可使其工作。

请注意,如果您没有任何源数据库并且目的只是为了证明一些功能概念,则可以省略 source dbETL

对于 DWH(星型模式 DB),您需要 3 个包含这些列的表才能启动:

    标准维度表[dim_supermarket]: supermarket_key, supermarket_name, number_of_boxes, active, date_of_update 时间维度表[dim_date]: date_key, day_of_month, week_of_year, month, year 事实表 [fact_sales]: date_key (INT)、supermarket_key (INT)、sales (DECIMAL)

..您可以使用ETL (Kettle) on the base of this post 填写日期维度

在 Pentaho Schema Wrokbench 中创建 OLAP 模式:

    设置与 DWH 的数据库连接 在fact_sales的基础上创建cube“销售” 创建名为“Sales”的度量(指向fact_sales 中的sales 列) 创建标准维度“超市”(添加表=dim_supermarket;在层次结构中填充主键=supermarket_key;添加级别“超市名称”与列supermarket_name) 创建时间维度“日期”(将维度类型设置为TimeDimension;添加表dim_date;在层次结构中填充主键=date_key;添加级别“年”-列@987654348 @, levelType = TimeYears; 添加级别“月” - 列 month, levelType = `TimeMonths; ...)

.. 现在您已经创建了包含一个多维数据集、一个度量和两个维度的 OLAP 架构

设置 Saiku 以使用您的 OLAP 架构和 DWH:

    添加 Mondrian OLAP 架构文件: 将 OLAP 架构 XML 文件复制到 saiku/tomcat/wabapps/saiku/WEB-INF/classes/ 设置 OLAP 模式位置和 MySQL 连接到 thw DWH: 编辑saiku/tomcat/wabapps/saiku/WEB-INF/classes/saiku-datasources/test,设置location=jdbc:mondrian:Jdbc=jdbc:mysql://localhost:3306/dwh;Catalog=res:test.xml;JdbcDrivers=com.mysql.jdbc.Driver; 添加 MySQL 连接器: 例如mysql-connector-java-5.1.17WEB-INF/lib 运行 Saiku。 玩你的立方体。

【讨论】:

非常感谢mzy,现在我知道我该做什么了。

以上是关于层次结构和级别(Pentaho 模式工作台)?的主要内容,如果未能解决你的问题,请参考以下文章

在没有模式工作台的情况下在 pentaho 5.1 中部署 mondrian 模式

MDX 获取层次结构值

Python:从项目层次结构中同一级别的另一个目录导入模块

子上下文更改传播到其他子上下文(相同层次结构级别)而不合并

[工作中的设计模式]组合模式compnent

在 BigQuery 中展平嵌套层次结构