语义层设计之视图关系

来源:互联网 发布:武装突袭3画面优化 编辑:程序博客网 时间:2024/06/07 16:29

 

润乾报表语义层提供定制视图关系的功能。所谓视图关系就是指视图与视图之间的数据关系。在定义好视图之间的关系后,基于语义层定制报表时,视图间的关系会自动带到报表中。在润乾报表语义层中,一个视图可以和多个其他视图建立关系,关联的方式可以为一对一、一对多、多对多三种(如果是多对一的关系,选择一对一即可)。下面就具体介绍一下润乾报表中视图关系的设置和使用。

选择左侧树框中的订单表,在右侧的【关系】标签页中可以为该表指定与其他各表的关联规则。点击工具栏上的【追加】按钮,为订单表增加一条关联,如下图

1.png

在这个关联中,【关系视图】是指定与该表进行关联的表,【表达式】为关联规则,【过滤】为关联方式,是该表与关系视图中的目标表之间的对应关系,适当选择对应关系不但是保证关联正确的必要条件,也是影响报表运算速度的因素之一。

这里选择关系视图为订单明细,表达式写入(可双击使用表达式编辑器): 订单.订单ID = = 订单明细.订单ID

过滤方法选择 一对多,用同样的方法为订单明细表也建立一个到订单表的关联,表达式相同,过滤方法选择 一对一

当一个表与关系视图中设置了关联的表同时被引用来制作报表时,这条关系就会自动应用,把两个表中的数据关联起来。因为在实际设计报表时关联的方向不容易确定而且确定起来也比较麻烦,所以建议为关联的两个表都做好相互的关联。

下面我们简单的给出建立关联的说明:

(1) 视图间的关系可以建在视图上,也可以建在字段上。语义层解析时,会先搜索定义在字段上的关系,如果字段和视图同时定义了关系,只取字段上定义的关系。

(2) 润乾报表中的视图间关系,不是简单的视图间的数据关系,而是制作报表时,当前主格字段指向的当前行或者当前组中的记录,与目标视图间的关系。

(3) 关联关系有三种,分别为一对一、一对多、多对多,详细介绍如下

●一对一

主扩展格字段所指向的当前行或者当前组的第一条记录,对应了目标视图中的一条记录。当前组的其他记录和第一条记录的关联字段值完全相同。引擎进行关联检索时,只检索当前组中的第一条记录。比如,【订单】表对【客户】表的关系就是一对一,即每一个订单对应一个客户。

●一对多

主扩展格字段所指向的当前行或者当前组的第一条记录,对应了目标视图中的多条记录。当前组的其他记录和第一条记录的关联字段值完全相同。引擎进行关联检索时,只检索当前组中的第一条记录。比如,【客户】表对【订单】表的关系就是一对多,即每一个客户对应多个订单。

●多对多

主扩展格字段所指向的当前组的多条记录,分别对应了目标视图中的多条记录。当前组的多条记录间,关联字段值不完全相同。引擎进行关联检索时,会检索当前组中的每一条记录。比如,【学生】和【课程】的关系,每一个学生可以选多门课程,每一个课程也对应多个学生。

注意:多对多的方式,引擎检索的次数=主视图的记录数*目标视图的记录数,因此如果记录数比较多的话,要慎用。

使用润乾报表提供的预先定制视图之间关系的功能,用户不会再为弄不清视图之间的关系而烦恼。
引自:润乾报表知识库
原文链接:语义层设计之视图关系
相关文章:润乾报表:远程设计器使用语义层的一个问题解决;语义层设计之数据表视图;润乾报表语义层介绍;语义层设计之指标

其他相关内容: 润乾 ; 商业智能BI联盟 ;  报表软件 ;Java报表商业智能解决方案web报表的扩展功能