报表样例

通过本示例,可以了解会话变量在报表中的应用。

制作如下图所示的报表:

报表特点

  • 用户在查看报表时,报表能够自动获取系统当前用户的帐号ID。

  • 报表使用获取到的用户ID查询出该人员所销售的全部订单,因此每个人只能在这张报表中查看到自己的数据。

制作方法

第一步 定义带有会话变量的数据集

报表中的数据来自产品中自带的演示数据表“演示_订单表”,采用sql检索数据集并对字段“雇员ID”设置了进行数据过滤的检索条件。

在定义报表的sql检索数据集时,选取对应的表和字段后,在检索条件设置页面定义一个名称为“sys_UserID”、参数类型为“会话变量”的参数,并应用这个参数设置对字段“雇员ID”的过滤条件,设置如下图: 会话变量 - 图1

数据集sql语法如下: 会话变量 - 图2

保存为“雇员信息表”。

第二步 制作表样

绘制报表基本结构:

会话变量 - 图3

第三步 定义单元格表达式

拖拽对应字段到相应单元格,生成表达式如下: A4单元格:=雇员信息表.Select(订单ID) B4单元格:=雇员信息表.客户ID C4单元格:=雇员信息表.订购日期 D4单元格:=雇员信息表.货主地区 E4单元格:=雇员信息表.货主城市 F4单元格:=雇员信息表.雇员ID

在F2单元格写入表达式:=@sys_UserID,用于接收参数值。

会话变量 - 图4

第四步 保存报表

点击保存按钮,将报表保存为“个人订单查询表”。

第五步 查看报表

登录刘新军,ID为5(登录用户名和缺省密码均为5)账号,在资源中心下点击报表名称查看报表,效果如下: 会话变量 - 图5

登录王晓娴,ID为1(登录用户名和缺省密码均为1)账号,查看效果如下: 会话变量 - 图6

功能点说明

会话变量是一种特殊的参数类型。它是能够从web服务器的session会话中读取信息的参数变量。会话变量的值,是自动从session中取同名变量的值。

在产品中,默认可以通过会话变量自动获取当前系统登录人员的用户帐号ID、部门ID、角色ID。对应的会话变量命名规则为:

用户ID: sys_UserID 机构ID: sys_Orgs_ForDAUC 角色ID: sys_Roles_ForDAUC 在报表中设置了以上名称的会话变量时,报表计算就能够自动地获取对应的信息。利用获取到的用户ID、部门、角色信息,可以实现灵活的报表控制,比如进行这些信息的显示,进行数据权限的控制等等。

例如上面的示例报表中,设置了会话变量“sys_UserID”获取当前系统人员的ID,基于该ID值最终实现对报表数据的过滤控制。