1 语义层定义

语义层——是处于数据源与报表之间的一个概念,是用户和数据库之间的一个代码翻译层,通俗的讲是将数据库中的比较凌乱、复杂的数据对象(例如:存储在table中的各个字段的记录)按预先定义好的规则(“语义层”)重组为面向用户的对象, 也就是通过过滤转换成实际使用的业务对象。对象可以是数据库中的表、列、连接(多字段组合)以及对多字段进行运算的表达式。

2 语义层作用

皕杰报表的语义层具有以下作用:

  • 将数据库中的表及字段改为有意义的业务术语,从而使最终用户不需要依赖IT人员即可轻松构建查询和报表;
  • 能按用户习惯,对数据库信息进行分类管理;
  • 预建表关联(以后做查询、报表不必再建);
  • 将复杂统计表达式作为单个对象,象使用字段一样方便查询和做报表;

最终用户只要打开语义层文件,然后通过简单的拖拽就可以完成复杂报表的设计,不需要掌握复杂的数据库理论知识 。

皕杰报表之语义层_数据库

表映射

皕杰报表之语义层_数据库_02

A.“基本”选项卡,是填写表的映射名称的。

B.“字段”选项卡,是选择在该表中所需的字段,单击不同的表,会出现各自表中的字段,然后选中字段前面的复选框按钮即可,映射名,就是在使用语义映射时,所看到的对应的字段名。

C.指标选项卡,指标是指将数据表中的数据经过函数运算得到的结果,在报表设计中,语义层定义好的指标可以像普通字段一样使用,新建一个指标,然后编辑表达式和显示值。

D.“过滤条件”选项卡,过滤条件就是对表中记录的筛选,在“过滤条件”选项卡可以新建过滤条件,然后对其编辑表达式和参数,这里的表达式的功能是筛选数据,每个数据表可以定义多个过滤条件,用户在设计报表时,只需要根据需要选择过滤条件即可。

表间关系

皕杰报表之语义层_选项卡_03

其中表间关系有:

  1. 内连接:两个表(或连接)中某一数据项相等的连接称为内连接。连接的结果是形成一个新的数据表
  2. 左连接:向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值(null)。
  3. 右连接:与左连接相反。向外联接的结果集包括 LEFT OUTER 子句中指定的右表的所有行,而不仅仅是联接列所匹配的行。如果右表的某行在左表中没有匹配行,则在相关联的结果集行中左表的所有选择列表列均为空值(null)。
  4. 全连接:将左右连接结合,即为全连接。

查询映射

皕杰报表之语义层_报表工具_04

查询映射就是定义SQL语句,通过SQL语句的执行结果构成一个查询视图

皕杰报表之语义层_字段_05

A.“字段”选项卡

即选择所需的字段,然后编辑其映射名称和显示值。

B.“参数”选项卡

参数可以用来实现数据的传递,当我们希望生成一张日期报表时,首先需要向报表传递日期参数,然后报表才会根据我们传递进去的日期参数,生成该日的日期报表。

C.“过滤条件”选项卡

这里的“过滤条件”是筛选表记录的,可以限制记录的条数,或者根据自己想要的信息显示。

参数和变量部分可以查看皕杰报表帮助文档。