动态表实现了不同的人根据需要选择不同的表进行查看,从而提高查询效率
在定义数据集时,通过if函数来判断参数的值从而来实现调用不同的数据表
如直接将SQL语句定义成:SELECT * FROM ${if(table='table1','table1','table2')},即若参数table='table1'时,查询的是“table1”表,若table!='table1'时,查询的是“table2”表。
例如报表的自带数据集中的 “订单表”与“销量表” 可写为 SELECT * FROM ${if(table='订单','订单','销量')}
模板设计:拖入数据列到单元格中
在B3单元格设置单元格属性-形态,选择数据字典,数据库为FRDemo,数据库表为客户,实际值选择列名:客户ID,显示值选择列名:公司名称。
将E3单元格设置单元格属性-形态,选择数据字典,数据库为FRDemo,数据库表为运货商,实际值选择列名:运货商ID,显示值选择列名:公司名称。
进入参数面板设置界面,在右侧的属性栏中点击全部添加:
参数面板中会自动添加三个控件,点击中间的控件,选择‘文本控件’
摁住Ctrl选择A1、A2、A3单元格,设置条件属性:行高为0,类型选择公式,输入公式:LEN(A3)=0,点击增加,当公式出现在下方时 条件才能生效
同样操作A4、A5、A6单元格设置条件属性:行高为0,类型选择公式,需将公式改为:LEN(A6)=0
设置完成后,预览。报表会根据输入的 表名展示相应的表数据