FineReport连接多维数据库示例及操作
1. 描述
FineReport连接多维数据库,首先要通过数据连接将多维数据库与FineReport连接起来,然后在数据连接的基础上新建多维数据库XMLA数据集,用于模板设计。
2.XMLA数据连接
2.1描述
多维数据库(Multi Dimensional Database,MDD),顾名思义,就是指将数据存储在多个维度中,简单来说,就是将数据存放在一个n维数组中,而不是像关系据库那样以记录的形式存放。因此它存在大量稀疏矩阵,人们可以通过多维视图来观察数据。多维数据库增加了一个时间维,与关系数据库相比,它的优势在于可以提高数据处理速度,加快反应时间,提高查询效率。
2.2操作步骤
FineReport提供了XMLA数据连接的方式来与多维数据库进行连接,建立桥梁,通过该桥梁,FineReport可以轻松获取到多维数据库中的数据转换为二维表进行模板制作,数据分析。
2.2.1安装多维数据集插件,或者导入相关jar包
设计器插件安装方法参照:插件的安装管理
服务器安装插件方法参照:服务器上安装插件
点击重启设计器,稍后设计器会自动重启,重启后插件即被启用成功,数据连接里就会出现XMLA数据连接,如下图所示。
注:8.0之前的版本才需要导入下面的jar包
2.2.2 新建数据连接
打开设计器,点击服务器>定义数据连接,进入定义数据连接对话框,点击+按钮添加一个XMLA数据连接,如下图:
2.2.3 数据连接参数配置
FineReport多维数据库XMLA数据连接支持市场上主流的SQLServer Analysis Services、Oracle Essbase、SAP HANA和SAP BW等等数据库类型,下面我们一一讲解各类型多维数据库的连接方式。
(1)SQLServer Analysis Services
SQLServer Analysis Services简称为SSAS,是指在内置计算支持的单个统一逻辑模型中,设计、创建和管理包含来自多个数据源(如关系数据库)的详细信息和聚合数据的多维结构。
XMLA数据连接参数配置界面上的数据库类型选择SQLServer Analysis Services,在URL输入该数据库所在站点地址,用户名及密码,然后点击数据库标签后面的下拉选项,FineReport会自动将该站点下面的所有多维数据库加载显示在下拉列表中,选中需要连接的数据库即可,如下图:
注:上面的XMLA URL连接的是直接通过IIS发布的站点。
点击测试连接即表示连接成功。
(2)Oracle Essbase
数据库类型选择Oracle Essbase,在URL输入该数据库所在站点地址,用户名及密码,然后点击数据库标签后面的下拉选项,FineReport会自动将该站点下面的所有多维数据库加载显示在下拉列表中,选中需要连接的数据库即可,如下图:
点击测试连接即表示连接成功。
注:简单通用查询时,在选择的维度上过滤,不支持“包含”“不包含”“开头是”,在非选择的维度上做过滤,只支持“等于”
另:涉及到复杂的过滤形式可以使用自定义MDX查询
(3)SAP HANA
数据库类型选择SAP HANA,在URL输入该数据库所在站点地址,用户名及密码,然后点击数据库标签后面的下拉选项,FineReport会自动将该站点下面的所有多维数据库加载显示在下拉列表中,选中需要连接的数据库即可,如下图:
点击测试连接即表示连接成功。
详细设置查看:SAP HANA 连接
(4)SAP BW
数据库类型选择SAP BW,在URL输入该数据库所在站点地址,用户名及密码,然后点击数据库标签后面的下拉选项,FineReport会自动将该站点下面的所有多维数据库加载显示在下拉列表中,选中需要连接的数据库即可,如下图:
点击测试连接即表示连接成功。
详细设置查看:SAP BW连接
XMLA数据连接建立好之后,就可以添加多维数据库XMLA数据集。
3. XMLA数据集
新建好XMLA数据连接之后,在模板数据集面板中点击添加按钮,新建一个多维数据库,如下图:
进入多维数据库XMLA数据集配置界面,XMLA数据集查询取数方式包括简单通用查询和自定义MDX查询两种,如下图:
原文摘自ITEYE:http://teacherzhang.iteye.com/blog/2374384
FineReport连接多维数据库示例及操作的更多相关文章
- PowerBI通过gateway连接多维数据库
简介 Microsoft Power BI 是由微软推出的商业智能的专业分析工具,给用户提供简单且丰富的数据可视化及分析功能.个人非常喜欢,有免费版和Pro的付费版,今天主要是介绍下通过gatew ...
- C#连接SQL Server数据库进行简单操作
环境:VS2010 + SqlServer 2008 首先,按照面向对象的程序设计思想,设计一个数据库操作工具类MyTool.cs,该类中封装了关于数据库连接和操作的方法,各个功能模块在需进行数据库操 ...
- C#连接SQL Server数据库进行简单操作[转]
环境:VS2010 + SqlServer 2008 首先,按照面向对象的程序设计思想,设计一个数据库操作工具类MyTool.cs,该类中封装了关于数据库连接和操作的方法,各个功能模块在需进行数据库操 ...
- springboot入门系列(四):SpringBoot和Mybatis配置多数据源连接多个数据库
SpringBoot和Mybatis配置多数据源连接多个数据库 目前业界操作数据库的框架一般是 Mybatis,但在很多业务场景下,我们需要在一个工程里配置多个数据源来实现业务逻辑.在SpringBo ...
- python连接sql server数据库实现增删改查
简述 python连接微软的sql server数据库用的第三方模块叫做pymssql(document:http://www.pymssql.org/en/stable/index.html).在官 ...
- R和python连接SQL sever 数据库操作
在R的使用中,为了方便提取数据, 我们经常要进行数据库进行操作,接下来我们尝试使用R进行连接数据. 这里我们使用R中的RODBC进行操作, 首先,我们需要先配置ODBC资源管理器 通过任务管理器或者w ...
- 详解连接SQL Server数据库的方法,并使用Statement接口实现对数据库的增删改操作
总结一下,连接SQL Server数据库需要以下几个步骤: 1. 导入驱动Jar包:sqljdbc.jar 2. 加载并注册驱动程序 3. 设置连接路径 4. 加载并注册驱动 5. 连接数据库 6. ...
- Python 连接Mysql数据库执行语句操作
学习Mysql模块的使用,模块命名的坑,解决SHA加密错误无法连接
- c++ 远程连接局域网内 数据库,并进行操作
首先尝试利用Windows自带的dos命令窗口操作数据库:参考见https://jingyan.baidu.com/article/3aed632e19b5e8701080918f.html 1.搜索 ...
随机推荐
- 基于alpine用dockerfile创建的nginx镜像
1.下载alpine镜像 [root@docker43 ~]# docker pull alpine Using default tag: latest Trying to pull reposito ...
- 关于使用 IDEA Spring Boot 热部署
1,POM 中引用 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...
- Python多线程、多进程实现
劝君莫惜金缕衣,劝君惜取少年时.花开堪折直须折,莫待无花空折枝. 内容摘要: paramiko模块 进程.与线程区别 python GIL全局解释器锁 多线程 语法 join 线程锁 ...
- Ruby:多线程队列(Queue)下载博客文章到本地
Ruby:多线程下载博客文章到本地的完整代码 #encoding:utf-8 require 'net/http' require 'thread' require 'open-uri' requir ...
- 删除qq互联
1.删除source/plugin 下的文件qqconnect文件夹 2.删除数据: DELETE FROM `dn_common_plugin` WHERE `identifier` = 'qqco ...
- Linux 数据重定向
名称 描述 代码 表示 stdin 标准输入 0 < 或 << stdout 标准输出 1 > 或 >> stderr 标准错误输出 2 2> 或 2> ...
- CVPR2019 | Mask Scoring R-CNN 论文解读
Mask Scoring R-CNN CVPR2019 | Mask Scoring R-CNN 论文解读 作者 | 文永亮 研究方向 | 目标检测.GAN 推荐理由: 本文解读的是一篇发表于CVPR ...
- kafka 生产者基本操作
kafka自带了一个在终端演示生产者发布消息的脚本--kafka-console-producer.sh 运行该脚本会启动一个进程,在运行该脚本时可以传递相应配置以覆盖默认配置. 参数-- -- pr ...
- Linux-(inotify-tools&rsync)
inotifywait命令 mac中的是:fswatch,fsevents-tools. 1.命令格式: inotifywait [参数] [events] [targetDir] 2.命令功能: 平 ...
- 用new关键字对一个String 变量赋值和用literal值直接赋值有什么不同(转)
String str1="ABC": 和String str2 = new String("ABC"); 有什么区别. String str1="AB ...