如何在Looker中动态过滤年初至今日日期,仅显示已发生月份数据?
解决Looker动态显示当年已发生月份的方法
方法一:探索界面直接设置动态筛选
- 在探索的日期筛选器中,点击自定义范围
- 起始日期选择动态日期选项里的
Start of Year - 结束日期选择动态日期选项里的
End of Current Month(若需包含当前整个月份),或Today(若只需到当前日期) - 该设置会自动更新:比如7月时范围为当年1月1日至7月31日,8月时自动切换为1月1日至8月31日,不会出现未发生的月份。
若你的Looker版本不支持直接选择End of Current Month,可手动输入动态变量:
- 起始日期:
start_of_year - 结束日期:
end_of_month(today())
方法二:在LookML中定义专属过滤维度(适合全局复用)
如果需要多个探索复用该筛选逻辑,可在对应视图文件中添加计算维度:
dimension: is_current_year_past_month { type: yesno sql: DATE_TRUNC('year', ${TABLE}.your_date_column) = DATE_TRUNC('year', CURRENT_DATE) AND DATE_TRUNC('month', ${TABLE}.your_date_column) <= DATE_TRUNC('month', CURRENT_DATE) ;; label: "属于当年已发生月份" }
之后在探索中,添加该维度的筛选条件为Yes,即可自动筛选出当年1月至当前月的所有数据,不会包含未发生的月份。
补充:隐藏零值行(按需操作)
若已发生月份存在零值数据需要隐藏,可在可视化设置中:
- 找到数据限制选项
- 勾选隐藏空值/零值行,或为指标列设置过滤条件
> 0
内容的提问来源于stack exchange,提问作者Mike - SMT
相关产品推荐
相关产品推荐

