# Databricks notebook source # MAGIC %sql # MAGIC -- CREATE or REPLACE TABLE tmp.tmp_retail_dtp_pack_rawdata ( # MAGIC -- -- product_id STRING, # MAGIC -- iqvia_pack_code string, # MAGIC -- -- region_type STRING, # MAGIC -- year STRING, # MAGIC -- time STRING, # MAGIC -- -- higher_level_region STRING, # MAGIC -- region STRING, # MAGIC -- -- prescription_nature STRING, # MAGIC -- -- medicine_attribute STRING, # MAGIC -- -- dosage_form STRING, # MAGIC -- -- object STRING, # MAGIC -- -- zk_classify1 STRING, # MAGIC -- -- zk_classify2 STRING, # MAGIC -- -- zk_classify3 STRING, # MAGIC -- target_points STRING, # MAGIC -- -- common_name STRING, # MAGIC -- -- brand_name STRING, # MAGIC -- -- product_name STRING, # MAGIC -- -- category_name STRING, # MAGIC -- -- pack_des STRING, # MAGIC -- counting_unit DECIMAL(20,8), # MAGIC -- -- factory STRING, # MAGIC -- -- corp_des STRING, # MAGIC -- average_price DECIMAL(20,8), # MAGIC -- sales_amount DECIMAL(20,8), # MAGIC -- sales_volume DECIMAL(20,8), # MAGIC -- counting_units_obversion DECIMAL(20,8), # MAGIC -- pack_code STRING, # MAGIC -- molecule_code STRING, # MAGIC -- molecule_desc STRING, # MAGIC -- product_code STRING, # MAGIC -- product_desc STRING, # MAGIC -- level_ta STRING, # MAGIC -- level_market STRING, # MAGIC -- level_molecule STRING, # MAGIC -- level_brand STRING, # MAGIC -- ratio_val DECIMAL(20,10), # MAGIC -- ratio_vol DECIMAL(20,10), # MAGIC -- data_flag INT, # MAGIC -- brand_flag INT) # MAGIC -- USING delta # MAGIC -- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/TMP/tmp_retail_dtp_pack_rawdata' # MAGIC -- ; # COMMAND ---------- ### constant LEVEL_TA_ONC = 'ONC' LEVEL_MARKET_EGFR_TKI = 'EGFR TKI' # COMMAND ---------- ############################################################START############################################################## ### STEP-2: load rawdata to tmp table # COMMAND ---------- # MAGIC %md # MAGIC ## STEP-1: load rawdata to tmp table # COMMAND ---------- # MAGIC %sql # MAGIC ------------------------------------------------------------------------------------- # MAGIC -- STEP-1: load rawdata to tmp table # MAGIC -- 1.1 load brand data to tmp_retail_dtp_brand_rawdata # MAGIC ------------------------------------------------------------------------------------- # MAGIC insert overwrite table tmp.tmp_retail_dtp_brand_rawdata # MAGIC # MAGIC select # MAGIC type, # MAGIC 'ONC' as ta, # MAGIC market, # MAGIC zk_brand_category, # MAGIC zk_common_name, # MAGIC zk_manu_des, # MAGIC rc_name_en, # MAGIC province_city, # MAGIC yyyymm, # MAGIC ytd, # MAGIC sales_value, # MAGIC sales_volume, # MAGIC price, # MAGIC pdot_counting_unit # MAGIC from dwd.dwd_gnd_ext_dtp_zk_brand # MAGIC where ranked_by = 'value' # MAGIC # COMMAND ---------- # MAGIC %sql # MAGIC ------------------------------------------------------------------------------------- # MAGIC -- STEP-1: load rawdata to tmp table # MAGIC -- 1.2 load brand data to tmp_retail_dtp_pack_rawdata # MAGIC ------------------------------------------------------------------------------------- # MAGIC insert overwrite table tmp.tmp_retail_dtp_pack_rawdata # MAGIC # MAGIC select # MAGIC -- dtp_raw_data.product_id, # MAGIC dtp_pack_data.iqvia_pack_code, # MAGIC -- dtp_raw_data.region_type, # MAGIC dtp_raw_data.year, # MAGIC dtp_raw_data.time, # MAGIC -- dtp_raw_data.higher_level_region, # MAGIC dtp_raw_data.region, # MAGIC -- dtp_raw_data.prescription_nature, # MAGIC -- dtp_raw_data.medicine_attribute, # MAGIC -- dtp_raw_data.dosage_form, # MAGIC -- dtp_raw_data.object, # MAGIC -- dtp_raw_data.zk_classify1, # MAGIC -- dtp_raw_data.zk_classify2, # MAGIC -- dtp_raw_data.zk_classify3, # MAGIC dtp_raw_data.target_points, # MAGIC -- dtp_raw_data.common_name, # MAGIC -- dtp_raw_data.brand_name, # MAGIC -- dtp_raw_data.product_name, # MAGIC -- dtp_raw_data.category_name, # MAGIC -------------------------* hard_code *------------------------- # MAGIC -- 针对pack_des这个字段,pack原始表使用的是'*',但手工表pack_properity使用的是'x' # MAGIC -- 而pack_des字段与关联出pack_code有关,缺少此字段会导致关联失败,所以要手动消除差异 # MAGIC -- replace(dtp_raw_data.pack_des,'*','x'), # MAGIC -------------------------* hard_code *------------------------- # MAGIC max(dtp_raw_data.counting_unit) counting_unit, # MAGIC -- dtp_raw_data.factory, # MAGIC -- dtp_raw_data.corp_des, # MAGIC max(dtp_raw_data.average_price) average_price, # MAGIC sum(dtp_raw_data.sales_amount) sales_amount, # MAGIC sum(dtp_raw_data.sales_volume) sales_volume, # MAGIC max(dtp_raw_data.counting_units_obversion) counting_units_obversion, # MAGIC null as pack_code, # MAGIC null as molecule_code, # MAGIC null as molecule_desc, # MAGIC null as product_code, # MAGIC null as product_desc, # MAGIC 'ONC' as level_ta, # MAGIC null as level_market, --- 此pack原始表文件中存在多个市场,后续通过关联更新 # MAGIC null as level_molecule, # MAGIC null as level_brand, # MAGIC null as ratio_val, # MAGIC null as ratio_vol, # MAGIC 0 as data_flag, # MAGIC null as brand_flag # MAGIC from dwd.dwd_gnd_ext_retail_dtp_datasource as dtp_raw_data # MAGIC left join dwd.dwd_gnd_ext_dtp_pack_property as dtp_pack_data # MAGIC on dtp_raw_data.product_id = dtp_pack_data.product_id # MAGIC group by # MAGIC dtp_pack_data.iqvia_pack_code, # MAGIC dtp_raw_data.year, # MAGIC dtp_raw_data.time, # MAGIC dtp_raw_data.region, # MAGIC dtp_raw_data.target_points # COMMAND ---------- ############################################################END##############################################################