专栏名称: 稳诺数据
WINNOW,稳诺数据旗下一款简单好用的数据分析与协作产品,可以帮助用户轻松提升数据资产管理效率!更多福利、快速上手、实用技巧、行业案例、资源干货,速速来关注!
目录
相关文章推荐
中国航务周刊  ·  长荣海运确定:发20倍月薪年终奖! ·  3 天前  
中国航务周刊  ·  宁波舟山港至欧洲最快直达航线,首航! ·  3 天前  
中国航务周刊  ·  广西钦州港与越南海防港,跨境“直通船”首航! ·  4 天前  
51好读  ›  专栏  ›  稳诺数据

揭秘窗口函数:如何轻松提取每天的最终时刻数据?

稳诺数据  · 公众号  ·  · 2024-03-07 18:00

正文


在金融分析的海洋中,我们常常需要从大量交易数据中提取关键信息。今天,我们将分享一个强大的分析工具——窗口函数。它能够帮助我们从纷繁复杂的交易记录中,轻松提取出每天最迟时间的一笔数据,让数据分析变得更加高效而精准。


首先,让我们了解一下窗口函数的基本概念。窗口函数是数据库查询中的一种特殊函数,它能够在一个"窗口"或一个数据集的子集上进行计算。


这个窗口可以根据指定的条件(如日期、时间等)在数据集上滑动,并对窗口内的数据进行聚合操作。在处理时间序列数据时,窗口函数尤为强大。


现在,假设我们有一个包含36839行数据的交易表,表中有三个字段:交易日期时间(Transaction_Timestamp)、起息日期(Value_Date)和账户余额(Account_Balance)。我们的目标是提取出每一天最后一笔交易的记录。


为了实现这一目标我们可以选择WINNOW或者SQL语言来实现,通过SQL需要按照以下步骤操作:

1

数据分区

使用窗口函数前,我们首先根据'Value_Date'字段对数据进行分区,确保每一天的数据被分到同一个组中。


2

排序

在每个分区内,我们根据提取'Transaction_Timestamp’字段的时分秒进行降序排序,保证每天的最后一笔交易排在该分区的首位。


3

应用ROW_NUMBER()函数

通过ROW_NUMBER()窗口函数,我们为每个分区内的每条记录分配一个唯一的序号,序号根据'Transaction_Timestamp'字段的降序排列生成。


4

筛选结果

最后,我们从上述结果中筛选出序号为1的记录,即每天的最迟时间的交易记录。


SQL代码示例

WITH RankedTransactions AS ( 

SELECT *, 

ROW_NUMBER() OVER (PARTITION BY Value_Date ORDER BY DATE_FORMAT(Transaction_Timestamp , '%H:%i:%s') DESC) AS rn 

FROM AccountBalance 

SELECT * 

FROM RankedTransactions 

WHERE rn = 1;


但SQL有自己独特的术语和概念,如表、记录、字段等。这些术语可能对于新手来说难以理解,需要花费额外的时间来学习和适应。


不妨来看看WINNOW是如何操作的吧!


WINNOW步骤操作如下:

1

提取时间

鼠标选取交易日期时间的时:分:秒弹出列操作板,点击前序进行数据块提取


2

窗口滑动进行排名


3

筛选排名值为1的结果

数据提取结果


提取完成的结果中每天只剩下一行数据,并且为每天时间最晚的一笔数据,如此便可清洗看出账户每天的余额。


对比通过SQL来完成提取的方式来说。WINNOW支持对于没有掌握相关SQL知识的人来说也可以使用窗口滑动来处理提取数据。


在这个数据驱动的时代,掌握窗口函数这样的工具,将使你在数据分析的道路上更加得心应手。


希望这篇文章能够帮助你理解并运用WINNOW的窗口函数,解锁数据的潜力,发现更多的可能性。


WINNOW

数据集分享

DATA  SHARE

链接:

https://www.winnow.ac.cn/#/share/extract?s=d2lubm93ZGVtb0BvdXRsb29rLmNvbQ==-c523bc31f3907a48d09f310e9dee9051


提取码: iKW3pw


长按识别下方二维码

加入用户交流群

一起提升数据技能

↓↓↓


推荐阅读

GDP增长5%!数读政府工作报告!2024经济发展方向在哪里?

两会开幕:数据要素X,乘出新质生产力!数据价值加速释放!

数据如何赋能业务场景?这些经典的应用案例,一定要知道!

点击阅读原文免费试用,点个分享」↓在看」↓