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

目录:

1. 概述编辑

1.1 预期效果

在制作模板时,经常遇到数据表中有不同地区、不同产品、不同时间的销售数据,但进行展示时仅需要展示不同地区、不同产品的最新销售数据,如下图所示:

1.2 实现思路

思路一:在数据集中编写SQL语句,将数据先按区域、店铺名、分类进行重新分组,再按时间对数据进行重新排序,取出最新的数据即可。

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

2. 示例一编辑

2.1 数据准备

新建数据集 ds1,数据库查询语句为:

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

SQL语句的含义为:将数据先按区域、店铺名、分类进行重新分组,再按时间对数据进行重新排序,并取编号为1的数据。

2.2 设计报表

设计表格样式如下图所示:

2.3 效果预览

2.3.1 PC端

如 1.1 节所示。

2.3.2 移动端

3. 示例二编辑

3.1 数据准备

新建数据集 ds1,数据库查询语句为:select * from 销售明细表

3.2 设计报表

设计表格样式如下图所示:

3.3 添加公式

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

公式拆解
说明
COUNT( )统计括号里面所有数据的个数
D2[!0]{ }输出满足大括号里面条件的所有数据

A2 = $A2

B2 = $B2

C2 = $C2

条件表达式一部分,将计算限定在每个分组内,即每种能源各自统计自己的
D2 > $D2条件表达式一部分,表示条件过滤比当前 D2 单元格的值大的值

2023-03-03_10-34-21.png

3.4 设置条件属性

选择 F2 单元格,添加条件属性,设置 F2 单元格内值不等于1的行高为0,并隐藏 F 列,如下图所示:

2023-03-03_10-36-19.png

3.5 效果预览

与 2.3 节相同。

4. 模板下载编辑