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

Power Query:动态筛选本年年初至今日的日期数据

动态筛选本年年初至今日数据的实现方案

1. SQL 环境(覆盖MySQL、SQL Server、PostgreSQL)

不同数据库用内置日期函数生成动态的年初和今日日期,每次查询会自动刷新范围:

MySQL/MariaDB

SELECT *
FROM 你的表名
WHERE 日期列 >= DATE_FORMAT(CURDATE(), '%Y-01-01')
  AND 日期列 <= CURDATE();
  • CURDATE() 自动获取当前系统日期
  • DATE_FORMAT(CURDATE(), '%Y-01-01') 动态生成当年1月1日

SQL Server

SELECT *
FROM 你的表名
WHERE 日期列 >= DATEFROMPARTS(YEAR(GETDATE()), 1, 1)
  AND 日期列 <= CAST(GETDATE() AS DATE);
  • GETDATE() 获取当前时间,CAST(GETDATE() AS DATE) 仅保留日期部分
  • DATEFROMPARTS(YEAR(GETDATE()),1,1) 生成当年年初

PostgreSQL

SELECT *
FROM 你的表名
WHERE 日期列 >= DATE_TRUNC('year', CURRENT_DATE)::DATE
  AND 日期列 <= CURRENT_DATE;
  • CURRENT_DATE 取当前日期,DATE_TRUNC('year', ...) 截断到当年年初

2. Excel/Power Query

用Power Query实现动态刷新:

  • 选中日期列,进入「数据」选项卡→「从表格/区域」打开Power Query编辑器
  • 设置筛选规则:
    1. 点击「开始」选项卡的「高级筛选」
    2. 日期列 >= #date(Date.Year(DateTime.LocalNow()),1,1)(动态当年年初)
    3. 日期列 <= Date.From(DateTime.LocalNow())(动态今日)
  • 关闭并上载数据,右键点击表格选择「刷新」即可更新范围

3. Tableau

设置动态筛选器:

  • 将日期列拖入「筛选器」,选择「日期范围」→「自定义」
  • 「开始日期」选「相对日期」→「本年的开始」
  • 「结束日期」选「相对日期」→「今天」
  • 每次打开工作簿或刷新数据,筛选范围会自动同步当前日期

常见问题排查

  • 用currentday失败大概率是函数名错误(SQL对应CURDATE()/GETDATE(),Excel对应TODAY())
  • 确保日期列是日期类型而非文本格式,否则筛选逻辑会失效

内容的提问来源于stack exchange,提问作者Anastasia Apostolou

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 04:24:54