历史版本3 :使用公式实现动态行列互转表 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 预期效果

用以实现动态筛选选择数据集所需展示的列,如下图所示: 

动态表维度筛选.gif


1.2 实现思路

使用数据集函数实现动态行列互转,进行行列维度的筛选互转

2. 示例编辑

2.1 模板设计

  1)新建报表,添加数据集ds1:select * from 订单

 1.png

2)参数栏页面拖入两个lable控件和两个下拉框控件,如下所示

 将对应行的下拉框控件的控件名称修改为H,同时设置数据字典,维度名称对应为数据集ds1所查询出的字段名

  2.png

 3)修改对应列的控件名称为Z,同时设置数据字典

3.png

2.2 页面设计

1)B1单元格设置公式: ds1.group($H, ,TRUE) ,同时单元格设置横向扩展

4.png

2)在A2单元格设置公式:ds1.group($Z, ,TRUE),设置扩展方向为纵向

5.png

3)在B2单元格设置公式: EVAL("SUM(ds1.select(应付金额," + $H + "=B1 && " + $Z + "=A2 ))")  

  查询对应行列维度的应收金额

  6.png

4)保存预览

2.3 效果预览

效果预览如概述所示

 3. 模板下载编辑

已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\DynamicSQL\使用公式实现动态行列互转表.cpt

点击下载模板:使用公式实现动态行列互转表.cpt