历史版本17 :结果集筛选 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 问题描述编辑

我们只想显示其中的N条数据。例如,我们只想显示运货费最多的前10条订单记录或者最少的10条订单记录,效果如下:
222

2. 解决方案编辑

方案一:直接通过SQL语句进行筛选,如修改数据集SQL语句为:SELECT * FROM 订单 where 是否已付='true' order by 运货费 desc limit 10,查看详细SQL语法
方案二:通过设置数据列的高属性中的结果集筛选来让其只显示N个数据,本节详细介绍该方案的用法。

3. 实现步骤编辑

此处以方案二为例进行说明。
3.1 打开报表
取某一范围的数据往往与排序结合使用,如取运货费最大的10条数据,则先使订单记录按照运货费降序排列,然后取前10条便可。
打开报表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\DetailReport\排序.cpt
3.2 设置前N个
选中“订单ID数据列”单元格,双击单元格,选择高级标签,出现高级设置对话框,在结果集筛选中选择前N个,N设为10,即显示前10条数据,如下图所示:

222
选中“订单ID数据列”单元格,双击单元格,选择数据列的过滤标签,添加一条“是否已付”等于“true”,如下图所示:
222


注:由于单元格的计算顺序,结果集筛选需要设置在单元格的父格上,如这里的订单ID,直接取得前10条订单ID。

4. 保存报表并发布编辑

已完成的模板,可参见%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\DetailReport\结果集筛选.cpt
模板效果在线查看请点击结果集筛选.cpt

5.移动端编辑

移动端APP预览:

222

移动端H5预览:
222