20260511_chenwu_niad拆分的修改及部分bug修复暂定版本

This commit is contained in:
2026-05-11 07:31:58 +00:00
parent 3a03ba1ad2
commit 4689311dc0
9 changed files with 569 additions and 460 deletions

View File

@@ -800,201 +800,4 @@
# COMMAND ----------
# MAGIC %md
# MAGIC ## STEP-14: calculate niad date
# COMMAND ----------
# MAGIC %sql
# MAGIC CREATE OR REPLACE TABLE tmp.tmp_dm_td_ext_retail_niad_month as
# MAGIC WITH ALL_RETIAL_DATA (
# MAGIC select
# MAGIC max(
# MAGIC nvl(
# MAGIC month,
# MAGIC CONCAT(
# MAGIC SUBSTRING(quarter, 1, 4), -- 提取年份前4位
# MAGIC CASE
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '1' THEN '03' -- Q1 → 03月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '2' THEN '06' -- Q2 → 06月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '3' THEN '09' -- Q3 → 09月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '4' THEN '12' -- Q4 → 12月
# MAGIC END
# MAGIC )
# MAGIC )
# MAGIC ) as month,
# MAGIC 'NIAD' as datatype
# MAGIC from
# MAGIC dwd.dwd_gnd_ext_retail_nataional_niad
# MAGIC union all
# MAGIC select
# MAGIC max(
# MAGIC nvl(
# MAGIC month,
# MAGIC CONCAT(
# MAGIC SUBSTRING(quarter, 1, 4), -- 提取年份前4位
# MAGIC CASE
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '1' THEN '03' -- Q1 → 03月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '2' THEN '06' -- Q2 → 06月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '3' THEN '09' -- Q3 → 09月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '4' THEN '12' -- Q4 → 12月
# MAGIC END
# MAGIC )
# MAGIC )
# MAGIC ) as month,
# MAGIC 'NOTNIAD' as datatype
# MAGIC from
# MAGIC dwd.dwd_gnd_ext_retail_statin_xzk
# MAGIC union all
# MAGIC select
# MAGIC max(
# MAGIC nvl(
# MAGIC month,
# MAGIC CONCAT(
# MAGIC SUBSTRING(quarter, 1, 4), -- 提取年份前4位
# MAGIC CASE
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '1' THEN '03' -- Q1 → 03月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '2' THEN '06' -- Q2 → 06月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '3' THEN '09' -- Q3 → 09月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '4' THEN '12' -- Q4 → 12月
# MAGIC END
# MAGIC )
# MAGIC )
# MAGIC ) as month,
# MAGIC 'NOTNIAD' as datatype
# MAGIC from
# MAGIC dwd.dwd_gnd_ext_retail_nataional_oap
# MAGIC union all
# MAGIC select
# MAGIC max(
# MAGIC nvl(
# MAGIC month,
# MAGIC CONCAT(
# MAGIC SUBSTRING(quarter, 1, 4), -- 提取年份前4位
# MAGIC CASE
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '1' THEN '03' -- Q1 → 03月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '2' THEN '06' -- Q2 → 06月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '3' THEN '09' -- Q3 → 09月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '4' THEN '12' -- Q4 → 12月
# MAGIC END
# MAGIC )
# MAGIC )
# MAGIC ) as month,
# MAGIC 'NOTNIAD' as datatype
# MAGIC from
# MAGIC dwd.dwd_gnd_ext_retail_anti_asthma_copd
# MAGIC union all
# MAGIC select
# MAGIC max(
# MAGIC nvl(
# MAGIC month,
# MAGIC CONCAT(
# MAGIC SUBSTRING(quarter, 1, 4), -- 提取年份前4位
# MAGIC CASE
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '1' THEN '03' -- Q1 → 03月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '2' THEN '06' -- Q2 → 06月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '3' THEN '09' -- Q3 → 09月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '4' THEN '12' -- Q4 → 12月
# MAGIC END
# MAGIC )
# MAGIC )
# MAGIC ) as month,
# MAGIC 'NOTNIAD' as datatype
# MAGIC from
# MAGIC dwd.dwd_gnd_ext_retail_aagsa_ppi_oral
# MAGIC union all
# MAGIC select
# MAGIC max(
# MAGIC nvl(
# MAGIC month,
# MAGIC CONCAT(
# MAGIC SUBSTRING(quarter, 1, 4), -- 提取年份前4位
# MAGIC CASE
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '1' THEN '03' -- Q1 → 03月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '2' THEN '06' -- Q2 → 06月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '3' THEN '09' -- Q3 → 09月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '4' THEN '12' -- Q4 → 12月
# MAGIC END
# MAGIC )
# MAGIC )
# MAGIC ) as month,
# MAGIC 'NOTNIAD' as datatype
# MAGIC from
# MAGIC dwd.dwd_gnd_ext_retail_atomizer
# MAGIC union all
# MAGIC select
# MAGIC max(
# MAGIC nvl(
# MAGIC month,
# MAGIC CONCAT(
# MAGIC SUBSTRING(quarter, 1, 4), -- 提取年份前4位
# MAGIC CASE
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '1' THEN '03' -- Q1 → 03月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '2' THEN '06' -- Q2 → 06月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '3' THEN '09' -- Q3 → 09月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '4' THEN '12' -- Q4 → 12月
# MAGIC END
# MAGIC )
# MAGIC )
# MAGIC ) as month,
# MAGIC 'NOTNIAD' as datatype
# MAGIC from
# MAGIC dwd.dwd_gnd_ext_retail_nataional_rd
# MAGIC union all
# MAGIC select
# MAGIC max(
# MAGIC nvl(
# MAGIC month,
# MAGIC CONCAT(
# MAGIC SUBSTRING(quarter, 1, 4), -- 提取年份前4位
# MAGIC CASE
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '1' THEN '03' -- Q1 → 03月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '2' THEN '06' -- Q2 → 06月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '3' THEN '09' -- Q3 → 09月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '4' THEN '12' -- Q4 → 12月
# MAGIC END
# MAGIC )
# MAGIC )
# MAGIC ) as month,
# MAGIC 'NOTNIAD' as datatype
# MAGIC from
# MAGIC dwd.dwd_gnd_ext_retail_metoprolol_tartrat
# MAGIC union all
# MAGIC select
# MAGIC max(
# MAGIC nvl(
# MAGIC month,
# MAGIC CONCAT(
# MAGIC SUBSTRING(quarter, 1, 4), -- 提取年份前4位
# MAGIC CASE
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '1' THEN '03' -- Q1 → 03月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '2' THEN '06' -- Q2 → 06月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '3' THEN '09' -- Q3 → 09月
# MAGIC WHEN SUBSTRING(quarter, 6, 1) = '4' THEN '12' -- Q4 → 12月
# MAGIC END
# MAGIC )
# MAGIC )
# MAGIC ) as month,
# MAGIC 'NOTNIAD' as datatype
# MAGIC from
# MAGIC dwd.dwd_gnd_ext_retail_htn
# MAGIC )
# MAGIC SELECT
# MAGIC MAX(t1.month) as NIAD_MONTH,
# MAGIC max(t2.month) OTHERS_MONTH
# MAGIC FROM
# MAGIC all_retial_data t1
# MAGIC LEFT JOIN (
# MAGIC SELECT
# MAGIC MAX(month) as month
# MAGIC FROM
# MAGIC all_retial_data
# MAGIC WHERE
# MAGIC datatype = 'NOTNIAD'
# MAGIC ) t2
# MAGIC WHERE
# MAGIC t1.datatype = 'NIAD'
# COMMAND ----------
############################################################END################################################################
############################################################END################################################################