You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Tableau周三前排除当周的逻辑迁移到周聚合SQL查询

需求对齐说明

你需要实现的规则和原有Tableau逻辑完全对齐:周三前过滤当周未完结的周聚合数据,仅返回已完成统计的历史周数据,具体规则为每周起始日(示例中为周日)对应的当周数据,要到当周周三才可对外展示。

通用SQL实现逻辑

核心判断逻辑无需额外判断当前日期是周几,天然适配所有日期场景:只要周起始日期Date_week加上3天后的日期小于等于当前日期,该周数据就可展示,否则过滤。
假设你的周聚合表名为weekly_stats,通用查询模板如下:

SELECT Date_week, Total
FROM weekly_stats
-- 核心过滤条件:周起始日+3天(即当周周三)<= 当前日期时,该周数据允许展示
WHERE DATE_ADD(Date_week, INTERVAL 3 DAY) <= CURRENT_DATE
ORDER BY Date_week DESC;
不同SQL方言适配

不同数据库的日期函数语法存在差异,对应调整核心过滤条件即可:

  • MySQL、达梦等:DATE_ADD(Date_week, INTERVAL 3 DAY) <= CURDATE()
  • PostgreSQL:(Date_week + INTERVAL '3 days')::DATE <= CURRENT_DATE
  • SQL Server:DATEADD(DAY, 3, Date_week) <= CAST(GETDATE() AS DATE)
  • Oracle:Date_week + 3 <= TRUNC(SYSDATE)
逻辑验证

用你提供的示例数据验证效果:
当周Date_week为2021-11-21(周日),加3天后为2021-11-24(周三):

  • 当前日期为2021-11-23(周二)时,自动过滤2021-11-21的记录,仅返回2021-11-14及更早的历史数据
  • 当前日期为2021-11-24(周三)及之后时,正常展示2021-11-21的当周记录,完全匹配要求

备注:如果你的周起始规则为周一,仅需要把加3天调整为加2天即可,逻辑通用。

内容的提问来源于stack exchange,提问作者Ethan Smih

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:54:04