2.1 准备数据
数据集 ds1,查询出所有地区,SQL 语句为:SELECT 货主地区 FROM 订单 where 货主地区!=''
数据集 ds2,根据第一层 layer1 的值查询出省份,SQL 语句为:SELECT 货主省份 FROM 订单 where 货主省份!='' and 货主地区='${layer1}'
数据集 ds3,根据前两层 layer1、layer2 的值查询出城市,SQL 语句为:SELECT 货主城市 FROM 订单 where 货主城市!='' and 货主地区 = '${layer1}'and 货主省份='${layer2}'
注:这里是通过 layer1、layer2 来引用,以此类推。其中 layer1,layer2 等均是预定义好的,不可更改。
2.2 报表设计
1)参数面板拖入下拉树控件
2)选择属性表>高级>数据字典,构建方式选择普通分层构建,选择每层对应的数据集。
层次1:
层次2:
层次3:
2.3 拼接构建默认值
1)新建一个数据集ds4,sql语句为:select 货主地区||','||货主省份||','||货主城市 from 订单 where 货主地区 !="" and 货主省份 !="" and 货主城市 !=""
注:此处需要根据实际需求修改SQL,最终将每个节点值的完整路径输出即可。如果设置了返回叶子节点,则SQL拼接出的节点中不能有目录节点。
2)选中下拉树控件,在「控件设置>属性>高级>控件值」选择公式,输入以下公式:JOINARRAY(value("ds4",1),";")
2.4 效果预览
保存模板,点击预览,效果如下图所示: