28 lines
1.0 KiB
SQL
28 lines
1.0 KiB
SQL
-- Databricks notebook source
|
||
-- 依赖事实表 tmp.tmp_ims_tf_fact_sales; 所以一定要放后面。
|
||
--基于Fact数据动态计算时间维度 最近五年
|
||
insert overwrite table dws.dws_ims_td_date
|
||
select distinct
|
||
YM,
|
||
left(cast(YM as string),4) as YEAR,
|
||
right(cast(YM as string),2) as MONTH,
|
||
concat(
|
||
'Q',quarter(
|
||
date(
|
||
concat(
|
||
left(cast(YM as string),4),'-',right(cast(YM as string),2),'-01'
|
||
)))) as QUARTER,
|
||
concat(
|
||
left(cast(YM as string),4),'Q',quarter(
|
||
date(
|
||
concat(
|
||
left(cast(YM as string),4),'-',right(cast(YM as string),2),'-01'
|
||
)))) as YQ,
|
||
case when YM=(select max(YM) from tmp.tmp_ims_tf_fact_sales) then 'R' else right(cast(YM as string),2) end as DATE_FLAG,
|
||
case when YM%100>6 then concat(left(cast(YM as string),4),'H2') else concat(left(cast(YM as string),4),'H1') end as HALF_YEAR,
|
||
from_utc_timestamp(current_timestamp(),'UTC+8'),
|
||
from_utc_timestamp(current_timestamp(),'UTC+8')
|
||
from tmp.tmp_ims_tf_fact_sales
|
||
where YM > (select max(YM)-900 from tmp.tmp_ims_tf_fact_sales)
|
||
order by YM desc
|
||
; |