帆软软件
作者帆软软件·2015-06-02 17:29
产品经理·帆软软件

java报表开发工具FineReport教程之设计思路:数据集【6】 多维数据库

字数 2534阅读 2080评论 0赞 0

1. 描述
java报表开发工具FineReport中,连接多维数据库,首先要通过数据连接将多维数据库与FineReport连接起来,也就是我们前面所说的XMLA数据连接,那么下面就需要在数据连接的基础上新建多维数据库XMLA数据集,用于模板设计。

2. XMLA数据集
新建好XMLA数据连接之后,在模板数据集面板中点击添加按钮,新建一个多维数据库,如下图:

进入多维数据库XMLA数据集配置界面,XMLA数据集查询取数方式包括简单通用查询和自定义MDX查询两种,如下图:

简单通用查询

1. 描述
简单通用查询取数方式是指FineReport通过XMLA连接上多维数据库之后,直接展示多维cube结构,通过可视化操作获取columns、rows两个轴上的维度及度量,转换成FineReport中的二维数据集,选择好columns及rows上的维度及度量后,后台会自动打印对应的MDX执行语句,在此基础上,用户可以进一步编辑如添加where筛选条件。

注:FineReport中的数据集是二维结构的,故需要将多维cube中的数据转化为二维使用。

2. 示例
在XMLA数据连接章节中新建的sass数据连接的基础上新建一个多维数据库。

2.1 新建多维数据库
在数据集面板中,点击添加按钮,添加一个多维数据库,如下图:

2.2 选择数据连接和查询方式
新建多维数据库之后,页面会打开一个XMLA数据集的对话框,在该对话框中配置多维数据库各个参数,首先选择数据连接跟查询方式,点击数据库连接标签后面的下拉选项,可以看到所有XMLA数据连接列表,这里直接使用SQLServer Analysis Services数据连接ssas,查询方式是指通过数据连接向多维数据库中取数的时候的取数方式,FineReport有两种查询方式,简单通用查询和自定义MDX查询,这里使用简单通用查询,如下图:

2.3 XMLA数据集字段选择

  • 列轴/度量值选择

选择好数据库连接和查询方式之后,在下方的cube选项中就会罗列出该多维数据库中的所有cube,点击下拉选项即可选择,示例数据库中只有一个Sales的cube,这里直接选择,点击列轴/度量值标签后面的设置按钮,就会弹出对话框显示cube的列轴中的所有指标字段,如下图所示:

  • 行轴/维度选择

列轴选择完毕之后,点击确定,然后再点击行轴/维度标签后面的设置按钮,将行轴/维度里面的字段添加进来,如下图:

2.4 过滤条件
下面为该XMLA数据集添加一个过滤条件,只显示Due Date维度里Calendar Year为2003年的数据,如下图,点击过滤条件后面的设置按钮,弹出过滤条件添加对话框,在可选列中选择该数据列,设置其值为2003,然后点击增加按钮:

注:在输入可选列的值的时候可以输入参数,数据类型选择公式,然后输入${参数名},点击增加即可,单击数据集对话框下面参数面板的刷新按钮,即可将参数添加进来。

如果需要过滤列轴/度量值里面的数据,可在过滤条件中将可选列切换为度量值,如下图:

2.5 效果查看
全部都设置好之后,点击左上角的预览按钮即可查看该数据集中的数据,如下图:

自定义MDX查询

1. 描述
自定义MDX查询是指用户直接在MDX语句输入框中输入MDX查询语句,然后FineReport通过该语句去多维数据库取数。

2. 示例
在查询方式下拉列表中选择自定义MDX查询,如下图:

2.1 MDX查询语句
MDX是一种语言,支持多维对象与数据的定义和操作。它可以表达在线分析出来数据卡上的选择、计算和一些元数据定义等操作,并赋予用户表现查询结果的能力。

下面我们在MDX查询语句输入框中输入以下查询语句:

SELECT [Measures].[Internet Cost] on COLUMNS, ({[Product].[Color].[${color}]},{[Product].[Product].children}) ON Rows FROM [Sales]

此MDX语句的意思是指从Sales多维数据库中取出度量值中的Internet Cost数据列作为二维表的列,维度下面的Product维度中的Color、Product两个数据列作为二维表的行,并且取出来的数据中Color数据列中数据等于${color}参数。

注:可以点击格式说明查看MDX查询语句的基本格式。

MDX查询语句的更多语法请查看多维表达式 (MDX)。

2.2 参数设置
点击参数面板下面的刷新按钮,将上面MDX查询语句中的参数显示出来,并赋初始值,如下图:

2.3 效果查看
点击左上角的预览按钮,可以查看到所有color为Black的数据,如下图:

FineBI多维数据库

1. 描述
前面两节讲述的是通过XMLA数据连接新建多维数据库数据集,而使用FineBI数据连接的时候,也是新建多维数据库数据集,但是较之XMLA数据连接下的数据集,会有所区别,下面详细介绍。

2. 示例
新建一张模板,在数据集面板中添加一个模板数据集,数据集类型为多维数据库,在弹出的XMLA数据集对话框中,选择FIneBI数据库连接,如下图:

注:连接到FineBI数据连接的XMLA数据集,只有一种查询方式。

2.1 cube选择
一个FineBI数据连接下面可有多个业务包,点击下拉按钮,可以看到该cube下面的所有业务包,这里选择业务包1,如下图:

2.2 列轴/指标选择
点击列轴/指标后面的设置按钮,进入列轴选择对话框,对话框中罗列出业务包中所有数据表的指标字段,直接勾选即可,如下图:

2.3 行轴/维度选择
列轴选择好之后,点击行轴.维度后面的设置按钮,在弹出的对话框中选择行轴字段,该对话框中显示了所有与上面列轴选择字段相关联的数据表,如下图:

2.4 过滤条件
FineBI数据集的过滤条件设置过程与简单通用查询中的过滤条件设置过程一样,这里不再赘述。

2.5 效果查看
设置完成之后,点击左上角的预览按钮,可以看到如下图所示的效果:

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关问题

相关资料

X社区推广