繁体   English   中英

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

[英]Hierarchies and levels (Pentaho schema workbench)?

我是BI世界的新手,我有很多问题。 我必须做一个BI家庭工作项目,所以我决定使用:

  • MYSQL(数据库)
  • Pentaho Kettle(ETL)
  • Pentaho架构工作台(星型架构)
  • QlikView(报道)

我有一个尺寸表是SUPERMARKET ,它是从schema workbench和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调用或使用此模式?

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

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

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

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

请注意,如果您没有source db ,则可以省略source dbETL ,目的只是为了证明某些功能概念。

对于DWH(星型模式DB),您需要3个表来启动这些列:

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

..你可以在这篇文章的基础上使用ETL(Kettle)填充日期维度

在Pentaho Schema Wrokbench中创建OLAP架构:

  1. 设置与DWH的数据库连接
  2. fact_sales的基础上创建多维数据集 “Sales”
    • 创建名为“Sales”的度量 (指向fact_sales sales列)
    • 创建标准维度 “超市”(添加table = dim_supermarket ;填充层次结构中的主键= supermarket_key ;使用列supermarket_name添加级别“超市名称”)
    • 创建时间维度 “Date”(将维度类型设置为TimeDimension ;添加表dim_date ;填充层次结构中的主键= date_key ;添加级别“Year” - 列year ,levelType = TimeYears ;添加级别“Month” - 列month ,levelType =` TimeMonths; ...)

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

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

  1. 添加Mondrian OLAP架构文件:将OLAP架构XML文件复制到saiku/tomcat/wabapps/saiku/WEB-INF/classes/
  2. 设置OLAP架构位置和MySQL连接到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;
  3. 添加MySQL连接器:例如mysql-connector-java-5.1.17WEB-INF/lib
  4. 跑Saiku。 玩你的立方体。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM