`
sito
  • 浏览: 44634 次
  • 性别: Icon_minigender_1
  • 来自: bj
社区版块
存档分类
最新评论

workbench创建cube示例,发布到mondrian服务器

    博客分类:
  • OLAP
阅读更多

Mondrian 建立 cube 示例

1 准备数据

分析一个访问日志的事实表,有三个维度,站点、 IP 地址、日期。事实表记录的

数据源为 mysql 数据库

1.1 创建数据库

DROP DATABASE IF EXISTS `accessinfo`;

CREATE DATABASE `accessinfo` /*!40100 DEFAULT CHARACTER SET latin1 */;

USE `accessinfo`;

1.2 创建维度表

DROP TABLE IF EXISTS `dim_ip`;

CREATE TABLE `dim_ip` (

  `id` smallint(6) NOT NULL AUTO_INCREMENT,

  `dip` varchar(255) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

 

INSERT INTO `dim_ip` VALUES (1,'61.183.248.218');

INSERT INTO `dim_ip` VALUES (2,'61.144.207.115');

 

DROP TABLE IF EXISTS `dim_site`;

CREATE TABLE `dim_site` (

  `id` smallint(6) NOT NULL AUTO_INCREMENT,

  `dSiteID` int(11) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;

 

INSERT INTO `dim_site` VALUES (1,542);

INSERT INTO `dim_site` VALUES (2,548);

INSERT INTO `dim_site` VALUES (3,543);

INSERT INTO `dim_site` VALUES (4,552);

INSERT INTO `dim_site` VALUES (5,551);

INSERT INTO `dim_site` VALUES (6,549);

 

DROP TABLE IF EXISTS `dim_time`;

CREATE TABLE `dim_time` (

  `id` smallint(6) NOT NULL AUTO_INCREMENT,

  `signinTime` varchar(10) NOT NULL DEFAULT '',

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;

 

INSERT INTO `dim_time` VALUES (1,'2008-11-15');

INSERT INTO `dim_time` VALUES (2,'2008-11-16');

INSERT INTO `dim_time` VALUES (3,'2008-11-17');

INSERT INTO `dim_time` VALUES (4,'2008-11-18');

INSERT INTO `dim_time` VALUES (5,'2008-11-19');

1.3 创建事实表

DROP TABLE IF EXISTS `fact_logs`;

CREATE TABLE `fact_logs` (

  `fID` varchar(20) NOT NULL DEFAULT '',

  `fSiteID` varchar(20) DEFAULT NULL,

  `fTime` varchar(10) DEFAULT NULL,

  `fIP` varchar(20) DEFAULT NULL,

  `fCount` int(11) DEFAULT NULL,

  PRIMARY KEY (`fID`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

INSERT INTO `fact_logs` VALUES ('1','1','4','1',87);

INSERT INTO `fact_logs` VALUES ('10','2','5','2',14);

INSERT INTO `fact_logs` VALUES ('2','1','4','2',128);

INSERT INTO `fact_logs` VALUES ('3','3','4','1',5);

INSERT INTO `fact_logs` VALUES ('4','4','4','2',4);

INSERT INTO `fact_logs` VALUES ('5','5','4','2',5);

INSERT INTO `fact_logs` VALUES ('6','6','4','2',3);

INSERT INTO `fact_logs` VALUES ('7','2','4','2',4);

INSERT INTO `fact_logs` VALUES ('8','5','5','2',15);

INSERT INTO `fact_logs` VALUES ('9','6','5','2',13);

2 定义模型

利用的是 pentaho 的工具: psw-ce-3.2.2.14148\schema-workbench  

1 Option->connection 配置好数据源

2 )创建模型文件 AccessInfo.xml

3 )新建 schema ,随便给个名字

 


4 )右击 add cube

 


5 )右击 add table

 


6 )右击 add measure


 

7 )右击 schema 然后 add dimension


 

双击这个 dimension ,设置所有层次的别名:


 

右击这个层次, add table ,并选择它对应的维度表:


右击层次添加至少一个 level


同样的方法添加另外两个维度。

8 )在 cube 中引用以上维度

右击 cube add dimension usage


注意添加完引用后,需要再回到 dimension 处,修改 hierarchy primaryKey



 
 

3 添加数据源

datasource.xml 文件中添加如下内容:

         <DataSource>

                  <DataSourceName>Provider=Mondrian;DataSource=AccessInfo;</DataSourceName>

                  <DataSourceDescription>AccessInfo Data Warehouse</DataSourceDescription>

                  <URL>http://localhost:8080/mondrian/xmla</URL>

         <DataSourceInfo>Jdbc=jdbc:mysql://192.168.23.128/accessinfo;JdbcUser=root;JdbcPassword=root;JdbcDrivers=com.mysql.jdbc.Driver;</DataSourceInfo>

                  <ProviderName>Mondrian</ProviderName>

                  <ProviderType>MDP</ProviderType>

                  <AuthenticationMode>Unauthenticated</AuthenticationMode>

                  <Catalogs>

                          <Catalog name="AccessInformation">

                          <Definition>/WEB-INF/queries/AccessInfo.xml</Definition>

                  </Catalog>

                  </Catalogs>

         </DataSource>

 

4 添加查询页面

修改 query 文件夹下的 xmla.jsp 页面内容:

<jp:xmlaQuery id="query01"

    uri="http://localhost:8080/mondrian/xmla"

    dataSource="Provider=Mondrian;DataSource=AccessInfo;"

      catalog="AccessInformation">

select NON EMPTY {[Measures].[Amount]} ON COLUMNS, NON EMPTY{([Access Time].[All Time], [Website Num].[All Site]) } ON ROWS from [Access Analysis] where [User IP].[All IP].[61.144.207.115]

</jp:xmlaQuery>

注意:红色字体中的括号不能少,另外 where 条件(即对应的切片过滤条件 slicer )也不能少。  

分析查询的结果:


  • 大小: 10.5 KB
  • 大小: 12.1 KB
  • 大小: 10.8 KB
  • 大小: 11.7 KB
  • 大小: 10.2 KB
  • 大小: 11.7 KB
  • 大小: 18.5 KB
  • 大小: 14.7 KB
  • 大小: 17.3 KB
  • 大小: 13.9 KB
  • 大小: 43.3 KB
  • 大小: 18.1 KB
0
1
分享到:
评论
1 楼 huoli298 2016-04-15  
您好,datasource.xml 是服务器jpivot的文件吗?其中DataSource=AccessInfo是在服务器配一个叫AccessInfo数据库,还是跟schma的xml文件名一样就可以?

相关推荐

    初学者使用MySQL Workbench 创建数据库教程

    MySQL Workbench 创建数据库教程 MySQL Workbench 是一款专为 MySQL 设计的 ER/数据库建模工具,可以用来设计和创建新的数据库图示,建立数据库文档,以及进行复杂的 MySQL 迁移。下面是使用 MySQL Workbench 创建...

    MySQL_Workbench创建数据库和表.docx

    MySQL_Workbench创建数据库和表 MySQL Workbench 是一款专为 MySQL 设计的 ER/数据库建模工具,继承了 DBDesigner4 的功能。它可以帮助用户设计和创建新的数据库图示,建立数据库文档,以及进行复杂的 MySQL 迁移。...

    利用MySQL Workbench创建数据库和表.pdf

    MySQL Workbench 数据库和表的创建 MySQL Workbench 是一个功能强大且易于使用的可视化工具,能够帮助开发者快速创建数据库和表。下面我们将详细介绍如何使用 MySQL Workbench 创建数据库和表。 创建数据库 在 ...

    初学者使用MySQLWorkbench创建数据库教程.pdf

    "使用 MySQL Workbench 创建数据库教程" MySQL Workbench 是 MySQL AB...本教程通过实际示例,展示了如何使用 MySQL Workbench 创建数据库,设计物理数据模型,设置数据库对象,创建订单系统,设计表结构和创建关系。

    SAP应用及ABAP开发最佳实践—基于ABAP Workbench创建并发布Web Service.pdf

    - **工具集**: 在 ABAP Workbench 中,开发者可以利用 SAP 提供的标准化体系结构和工具集来创建 Web Service,这些工具集覆盖了从设计到实现再到测试和发布的整个生命周期。 总之,基于 ABAP Workbench 创建并发布 ...

    psw-ce-3.14.0.0-12 mondrian建模schema工具workbench

    更多可以参考官方 ...这个是可视化工具,配置好jdk1.8之后,运行workbench.sh或者workbench.bat就可以把代码弹出来,配合我其他资源的foodmart.xml就可以针对mondrian4.0以下可视化建模了。

    mondrian设置schema3.0工具

    Schema Workbench是用于创建和编辑Mondrian Schema的工具,它为用户提供了图形化的界面来设计和管理数据模型。这个工具可以帮助你直观地构建维度、层次和度量,简化了复杂的数据模型设计过程。 在Schema Workbench...

    利用MySQL Workbench创建数据库和表.docx

    MySQL Workbench 数据库和表创建指南 MySQL Workbench 是一个功能强大且易用的可视化数据库设计工具,能够帮助开发者快速创建数据库和表。以下是使用 MySQL Workbench 创建数据库和表的步骤指南: 创建数据库 1. ...

    联机分析olap之mondrian

    Schema Workbench是Mondrian提供的一个图形化工具,用于创建和编辑Mondrian的XML schema文件。通过这个工具,开发者可以直观地设计多维数据模型,包括维度、层次、度量等,并能直接预览MDX查询结果,极大地简化了...

    mysql使用workbench的eer生成关系数据库.docx

    我们可以使用 Workbench 的关系图标来创建这种关系,并将 ORDER 表的键移动到 SALES_ORDER 表和 PURCHASE_ORDER 表中。 最后,我们将我们的模型保存为 ORDER.mwb,并生成 DDL(SQL CREATE script)。然后,我们可以...

    workBench配置1

    在本文中,我们将深入探讨如何配置workBench以及与Mondrian数据源的集成,以实现更高效的数据分析和处理。首先,让我们了解workBench和Mondrian是什么。 workBench是一种用于设计和管理数据仓库的工具,它允许用户...

    通过MySQL Workbench创建及管理数据库

    ### 通过MySQL Workbench创建及管理数据库 #### 实验目的 - **熟悉MySQL Workbench工具:** 学习如何使用MySQL Workbench进行数据库管理和开发工作。 - **掌握MySQL Workbench管理数据库的方法:** 包括创建数据库...

    ansys workbench 下电机电磁场分析示例

    本示例将引导你了解如何利用这个强大的工程模拟工具来研究电机的电磁性能。 首先,我们要理解ANSYS Workbench的核心价值。它是ANSYS公司提供的一款集成化的工程仿真平台,集成了结构力学、流体动力学、热力学、电磁...

    workbench二次开发代码示例

    workbench作为一款大型的CAE软件,在各行各业都有着广泛的应用。对于workbench二次开发技术的研究在国内少之又少,现在就将workbench的二次开发代码实例与大家分享。希望给从事workbench二次开发技术研究的同学以...

    FME WorkBench添加独立发布参数

    标题中的"FME WorkBench添加独立发布参数"指的是在FME(Feature Manipulation Engine)工作台中设置独立的发布参数,以便在FME Server上部署转换服务时进行动态配置。FME是Safe Software开发的一款强大的数据转换...

    ANSYS--Workbench添加新材料到材料库的方法

    总结来说,添加新材料到Workbench的材料库的步骤包括:进入Engineering Data模块,复制或创建新材料,并设置相应的属性。然后,通过在Engineering Data Sources(工程数据源)中找到需要编辑的材料库,并将新创建的...

    初学者使用MySQL_Workbench_创建数据库教程.docx

    MySQL_Workbench 创建数据库教程 MySQL_Workbench 是 MySQLAB 近来开释的可视数据库设计工具,拥有很多功能和特征。这个工具是设计 MySQL 数据库的专用工具。 MySQL Workbench 拥有好多的功能和特征,通过本教程,...

    Workbench_workbench_workbench代码_ansys界面_

    对于初学者,通过阅读和理解这段代码,可以学习到如何使用Qt创建复杂界面,理解Workbench界面的设计思路,同时也能了解到CAE软件的用户交互设计原则。对于有经验的开发者,这可能是改进或定制现有Workbench界面的一...

    Schema-workbench

    Mondrian是一个开源的在线分析处理(OLAP)服务器,它支持多种数据库系统,并且能够快速地处理复杂的数据查询,提供高效的数据分析能力。 Schema-Workbench是Mondrian的重要辅助工具,主要用途是设计、测试和调试...

    workbench-2.3.2.9247.zip

    Workbench与Mondrian的集成意味着用户可以直接在Workbench中创建和管理多维数据集,进行复杂的分析查询。Mondrian通常与Pentaho Data Integration (Kettle)等BI工具一起使用,提供快速的数据立方体处理和分析。 5. ...

Global site tag (gtag.js) - Google Analytics