设为首页
收藏本站
切换到宽版
社区
人才交流
观远BI合伙人计划
登录
问答
›
查看内容
返回列表
发布新帖
spark偏移计算支持“按日期值范围”的滑动窗口吗?
522
1
观小豪
Lv.1
发表于 2026-4-16 09:58:28
|
查看全部
阅读模式
spark偏移计算支持“按日期值范围”的滑动窗口吗?
如想计算某个商品近30天的销量,但是我的日期不是连续的,使用下面这个可以吗?
SUM([件数]) OVER (PARTITION BY [商品名称], [平台] ORDER BY [日期] RANGE BETWEEN INTERVAL '30' DAY PRECEDING AND CURRENT ROW)
快速回复
回复
举报
电梯直达
评论
1
观小豪
楼主
Lv.1
发表于 2026-4-16 10:00:20
|
查看全部
关于这个问题,spark偏移计算仅支持“按行数”的移动计算/窗口范围,不支持“按日期值范围”的滑动窗口。
建议1:先在数据里补齐日期粒度,保证每个 商品名称 + 平台 每天都有一行,缺失销量填 0,然后再计算
<div>SUM([件数]) OVER (
PARTITION BY [商品名称], [平台]
ORDER BY [日期]
RANGE BETWEEN 30 PRECEDING AND CURRENT ROW
)</div>
复制代码
建议2:如果不想补齐日期,可以在数据集 SQL / ETL SQL 节点里做自关联或原生 SQL 计算,不走卡片计算列。例如按日期条件聚合:
<div>
<div>SELECT
t.`商品名称`,
t.`平台`,
t.`日期`,
SUM(s.`件数`) AS `近30天销量`
FROM base t
LEFT JOIN base s
ON s.`商品名称` = t.`商品名称`
AND s.`平台` = t.`平台`
AND s.`日期` BETWEEN DATE_SUB(t.`日期`, 29) AND t.`日期`
GROUP BY t.`商品名称`, t.`平台`, t.`日期`</div></div><p></p>
<div></div>
复制代码
回复
顶
举报
返回列表
发布新帖
回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
观小豪
Lv.1 注册会员
主题
436
回帖
460
积分
1988
+ 关注
Ta的主页
微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
产品
观远BI
BI Copilot
移动分析
智能ETL
报表分析
多维分析
解决方案
消费品
泛零售
金融
互联网
先进制造
资源与服务
资源下载
直播干货
BI行业资讯
观远学堂
帮助中心
技术支持
伙伴与生态
生态合作伙伴
观远BI合伙人计划
关于我们
公司介绍
荣誉奖项
行业资质
市场活动
Copyright © 2001-2026
观远社区
版权所有
All Rights Reserved.
浙 ICP 备15006424号-3
去回复
去发帖
返回顶部
快速回复
返回顶部
返回列表