条件宏
报表样例
通过本示例,可以了解动态宏在报表中的应用。
制作如下图所示的报表:
报表特点
报表实现便捷多条件查询订单记录。
根据输入的查询条件控制报表展现的数据,并获取输入的查询条件值。
制作方法
第一步 定义带有条件宏的数据集
报表数据来自复杂sql数据集,sql语句中应用了条件宏,具体操作如下:
1)点击【添加数据集】按钮,在弹出的新建数据集页面选择【复杂SQL】。
2)在数据集编辑页面输入SQL:select * from demo_orders where ${mac}
3)切换到“宏配置”Tab页下,将宏类型设置为条件宏,在右侧选择数据库模式之后,找到所需数据表点击【添加】按钮将数据表添加到已选数据表列表。选中已选数据表,设置表别名,勾选需要做查询的字段,条件宏配置完成。
4)点击【确定】,保存为“订单信息表”。
第二步 制作表样
绘制报表基本结构:
第三步 定义单元格表达式
1)快捷公式选择【列表】,将“订单ID”字段拖拽至A3单元格;选择【取值】,将字段“客户ID”、“订购日期”、“货主地区”、“货主名称”、“运货费”分别拖拽至B3、C3、D3、E3、F3单元格。
拖拽完成后生成的各单元格表达式如下:
A3单元格表达式为:=订单信息表.Select(订单ID)
B3单元格表达式为:=订单信息表.客户ID
C3单元格表达式为:=订单信息表.订购日期
D3单元格表达式为:=订单信息表.货主地区
E3单元格表达式为:=订单信息表.货主名称
F3单元格表达式为:=订单信息表.运货费
2)选中F2单元格,输入表达式:=conditionMacro("DEMO_ORDERS.货主名称")
,用于获取条件宏输入的条件。
第四步 设置通用查询
点击【编辑】—【通用查询】进入通用查询设计页面,勾选所需查询条件,并设置别名、编辑风格等。
点击【保存配置】按钮将通用查询设置保存。
第五步 保存预览
点击【保存】按钮对报表模板进行保存,在保存页面设置报表的资源名称、保存路径 和文件名称,点击【确定】,此报表模板保存资源名称为“订单记录查询表”。
点击【预览】按钮对报表进行查看,点击预览按钮时也会对报表进行保存。
预览界面:
功能点说明
条件宏可以相当轻松的实现多个查询,而当某个查询条件为空则默认为1=1。此处条件宏可视为占位符使用,其后是将填入值的条件拼接在sql中 ,如上图四个条件假如都填则执行的sql便为select from demo_orders where 客户id=值 and 发行日期=值 and 到货日期 =值 and 货主名称=值 。中间以and连接,而上图只填入一个条件执行sql 为,可以视作select from demo_orders where 货主名称=’方先生’ and 1=1 and1=1 and1=1
获取条件宏查询条件的函数conditionMacro(“DEMO_ORDERS.货主名称”) 使用方法 conditionMacro(条件宏别名.字段名)