最新历史版本 :条件过滤展示最新数据 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

有时表格中数据过多,但只希望展示最新时间数据。

例如,展示不同区域不同店铺不同分类的最新销售数据,如下图所示:

1.jpg

1.2 实现思路

方案一:在数据集中编写 SQL 语句,将数据先按区域、店铺名称、分类进行重新分组,再按时间对数据进行降序排列,最后取出最新的销售数据。

方案二:使用层次坐标将数据按照不同区域、店铺名称、分类、时间重新进行排序编号,然后设置条件属性,将序号不等于 1 的行高设置为 0 。

2. 方案一:SQL语句实现编辑

2.1 新建模板

新建一张普通报表,如下图所示;

新建普通报表.png

2.2 准备数据

新建数据库查询 ds1,输入 SQL 语句:

select * from (select ROW_NUMBER()over(partition by 区域,店铺名称,分类 order by 销售时间 desc) rowId,* from 销售明细表 ) as AuctionRecords where rowId=1

表示将数据先按区域、店铺名、分类进行重新分组,再按时间对数据进行降序排列,最后取最新的销售数据(rowId=1),步骤如下图所示:

3.jpg

2.3 设计报表

A1~E1 单元格输入文本,A2~E2 单元格拖入相应的数据列,如下图所示:

4.jpg

2.4 效果预览

1) PC端

保存模板,点击「分页预览」,效果如下图所示:

1.jpg

2)移动端

同时支持 App 及 HTML5 端预览,效果如下图所示:

10.jpg

3. 示例二:层次坐标实现编辑

3.1 新建模板

新建一张普通报表,如下图所示:

新建普通报表.png

3.2 准备数据

新建数据库查询 ds1,输入 SQL 查询语句为:select * from 销售明细表,如下图所示:

5.jpg

3.3 设计报表

A1~E1 单元格输入文本,A2~E2 单元格拖入相应的数据列,如下图所示:

6.jpg

3.4 插入层次坐标公式

1)F2 单元格中插入公式:COUNT(D2[!0]{A2 = $A2 && B2 = $B2 && C2 = $C2 && D2 > $D2}) + 1,如下图所示:

7.jpg

2)公式说明如下表所示:

公式
说明
A2 = $A2 && B2 = $B2 && C2 = $C2条件表达式的一部分,将计算限定在每个分组内
D2 > $D2条件表达式的一部分,表示条件过滤比当前 D2 单元格数据大的数据
D2[!0]{A2 = $A2 && B2 = $B2 && C2 = $C2 && D2 > $D2}返回 D2 单元格扩展出来的满足条件表达式 {A2 = $A2 && B2 = $B2 && C2 = $C2 && D2 > $D2} 的数据
COUNT(D2[!0]{A2 = $A2 && B2 = $B2 && C2 = $C2 && D2 > $D2})返回 D2 单元格扩展出来的满足条件表达式 {A2 = $A2 && B2 = $B2 && C2 = $C2 && D2 > $D2} 的数据个数
COUNT(D2[!0]{A2 = $A2 && B2 = $B2 && C2 = $C2 && D2 > $D2})+1返回 D2 单元格扩展出来的满足条件表达式 {A2 = $A2 && B2 = $B2 && C2 = $C2 && D2 > $D2} 的数据个数与数字 1 之和

3.5 设置条件属性

为 F2 单元格设置条件属性,添加行高属性 0 毫米,普通条件:不等于整型 1 ,如下图所示:

8.jpg

3.6 隐藏列

隐藏不需要的 F 列,如下图所示:

9.jpg

3.7 效果预览

1) PC端

保存模板,点击「分页预览」,效果如下图所示:

2.jpg

2)移动端

同时支持 App 及 HTML5 端预览,效果如下图所示:

11.jpg

4. 模板下载编辑

点击下载方案一已完成模板:方案一SQL语句实现.cpt

点击下载方案二已完成模板:方案二层次坐标实现.cpt