当前最简单的方式是使用系统内同环比高级计算实现,如下图
其他方法会稍微麻烦些,需要再数据源侧实现,SQL会复杂一些,下面提供一个关联案例参考
- SELECT
- t1.date_col,
- t1.value_col,
- t2.value_col as prev_month_end_value
- FROM your_table t1
- LEFT JOIN (
- -- 子查询:获取每个月末的最后一条记录
- SELECT
- LAST_DAY(date_col) as month_end_date,
- FIRST_VALUE(value_col) OVER (
- PARTITION BY LAST_DAY(date_col)
- ORDER BY date_col DESC
- ) as value_col
- FROM your_table
- WHERE date_col = LAST_DAY(date_col)
- ) t2 ON LAST_DAY(ADD_MONTHS(t1.date_col, -1)) = t2.month_end_date
复制代码 |