20260511_chenwu_niad拆分的修改及部分bug修复暂定版本
This commit is contained in:
@@ -9,12 +9,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
"finishTime": 1777537485985,
|
"finishTime": 1778478974793,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "86f0c1e4-9672-4b69-b7d7-e972573aa69d",
|
"nuid": "86f0c1e4-9672-4b69-b7d7-e972573aa69d",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"startTime": 1777537485980,
|
"startTime": 1778478973655,
|
||||||
"submitTime": 1777537484990,
|
"submitTime": 1778478972034,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -38,12 +38,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
"finishTime": 1777537486382,
|
"finishTime": 1778478975285,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "f319d145-a050-425c-b86f-c73d2e6f41ad",
|
"nuid": "f319d145-a050-425c-b86f-c73d2e6f41ad",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"startTime": 1777537485990,
|
"startTime": 1778478974798,
|
||||||
"submitTime": 1777537484997,
|
"submitTime": 1778478972040,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -89,10 +89,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778478991545,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "a11838c0-855f-4fe6-95d7-790959cb6739",
|
"nuid": "a11838c0-855f-4fe6-95d7-790959cb6739",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485002,
|
"startTime": 1778478975290,
|
||||||
|
"submitTime": 1778478972044,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -475,10 +477,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778478993866,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "85453796-9385-4a5a-bf20-6bfd459580ae",
|
"nuid": "85453796-9385-4a5a-bf20-6bfd459580ae",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485011,
|
"startTime": 1778478991550,
|
||||||
|
"submitTime": 1778478972052,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -504,10 +508,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778479009600,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "015ef590-887b-4dfa-bfa1-ebd05effc2cf",
|
"nuid": "015ef590-887b-4dfa-bfa1-ebd05effc2cf",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485015,
|
"startTime": 1778478993870,
|
||||||
|
"submitTime": 1778478972058,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -547,10 +553,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778479032113,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "339d06b1-1c67-4249-a105-aaafb352bb38",
|
"nuid": "339d06b1-1c67-4249-a105-aaafb352bb38",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485020,
|
"startTime": 1778479009604,
|
||||||
|
"submitTime": 1778478972063,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -591,7 +599,7 @@
|
|||||||
" ) as yyyymm,\n",
|
" ) as yyyymm,\n",
|
||||||
" first_value(a.pack_id) as pack_id,\n",
|
" first_value(a.pack_id) as pack_id,\n",
|
||||||
" a.iqvia_pack_code,a.platform,\n",
|
" a.iqvia_pack_code,a.platform,\n",
|
||||||
" '' as store_name,\n",
|
" a.store_name,\n",
|
||||||
" a.store_type,\n",
|
" a.store_type,\n",
|
||||||
" sum(a.sales_value) as sales_value,\n",
|
" sum(a.sales_value) as sales_value,\n",
|
||||||
" sum(a.sales_unit) as sales_unit,\n",
|
" sum(a.sales_unit) as sales_unit,\n",
|
||||||
@@ -608,7 +616,7 @@
|
|||||||
" when cast(substr(cast(a.yyyymm as string), 5, 2) as int) <= 9 then concat(substr(cast(a.yyyymm as string), 1, 4), '09')\n",
|
" when cast(substr(cast(a.yyyymm as string), 5, 2) as int) <= 9 then concat(substr(cast(a.yyyymm as string), 1, 4), '09')\n",
|
||||||
" else concat(substr(cast(a.yyyymm as string), 1, 4), '12')\n",
|
" else concat(substr(cast(a.yyyymm as string), 1, 4), '12')\n",
|
||||||
" end,\n",
|
" end,\n",
|
||||||
" a.iqvia_pack_code,a.platform,a.store_type\n",
|
" a.iqvia_pack_code,a.platform,a.store_name,a.store_type\n",
|
||||||
") t1\n",
|
") t1\n",
|
||||||
"group by\n",
|
"group by\n",
|
||||||
" t1.yyyymm,t1.pack_id,t1.iqvia_pack_code,t1.platform,t1.store_name,t1.store_type"
|
" t1.yyyymm,t1.pack_id,t1.iqvia_pack_code,t1.platform,t1.store_name,t1.store_type"
|
||||||
@@ -624,10 +632,12 @@
|
|||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
"collapsed": true,
|
"collapsed": true,
|
||||||
|
"finishTime": 1778479032120,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "c686ec31-8c18-4a4a-96ca-ce5a29f2f676",
|
"nuid": "c686ec31-8c18-4a4a-96ca-ce5a29f2f676",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485025,
|
"startTime": 1778479032117,
|
||||||
|
"submitTime": 1778478972070,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -676,10 +686,12 @@
|
|||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
"collapsed": true,
|
"collapsed": true,
|
||||||
|
"finishTime": 1778479032125,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "7814d185-5883-4f00-b350-0d5cab1da7f5",
|
"nuid": "7814d185-5883-4f00-b350-0d5cab1da7f5",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485031,
|
"startTime": 1778479032122,
|
||||||
|
"submitTime": 1778478972075,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -725,10 +737,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778479036048,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "b576e313-2815-4991-a92e-82fe68cbaed9",
|
"nuid": "b576e313-2815-4991-a92e-82fe68cbaed9",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485038,
|
"startTime": 1778479032127,
|
||||||
|
"submitTime": 1778478972079,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -767,10 +781,12 @@
|
|||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
"collapsed": true,
|
"collapsed": true,
|
||||||
|
"finishTime": 1778479036056,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "5fdbf78f-228d-4e26-94b8-94565feb2ddf",
|
"nuid": "5fdbf78f-228d-4e26-94b8-94565feb2ddf",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485043,
|
"startTime": 1778479036052,
|
||||||
|
"submitTime": 1778478972087,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -957,10 +973,12 @@
|
|||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
"collapsed": true,
|
"collapsed": true,
|
||||||
|
"finishTime": 1778479036062,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "b1f69228-3a47-4a76-ab21-a10e52305a56",
|
"nuid": "b1f69228-3a47-4a76-ab21-a10e52305a56",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485048,
|
"startTime": 1778479036059,
|
||||||
|
"submitTime": 1778478972095,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -1079,10 +1097,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778479043473,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "2c5737c9-b8fe-4b8a-a4b6-f39be69af55c",
|
"nuid": "2c5737c9-b8fe-4b8a-a4b6-f39be69af55c",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485052,
|
"startTime": 1778479036064,
|
||||||
|
"submitTime": 1778478972102,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -1244,10 +1264,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778479050432,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "9b43d6a9-6fd4-4568-bc48-7d7cb7ffe266",
|
"nuid": "9b43d6a9-6fd4-4568-bc48-7d7cb7ffe266",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485057,
|
"startTime": 1778479043477,
|
||||||
|
"submitTime": 1778478972108,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -1338,10 +1360,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778479055876,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "ebb41c4f-a6d7-4dbd-bdb1-304f0c5abae4",
|
"nuid": "ebb41c4f-a6d7-4dbd-bdb1-304f0c5abae4",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485062,
|
"startTime": 1778479050436,
|
||||||
|
"submitTime": 1778478972114,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -1449,10 +1473,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778479060300,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "25bd255c-597c-4bb0-9c7a-0577e28eefee",
|
"nuid": "25bd255c-597c-4bb0-9c7a-0577e28eefee",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485066,
|
"startTime": 1778479055880,
|
||||||
|
"submitTime": 1778478972119,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -1560,10 +1586,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778479098308,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "d13a4ab2-9a37-4ac4-a886-3cf57cc9d41a",
|
"nuid": "d13a4ab2-9a37-4ac4-a886-3cf57cc9d41a",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485071,
|
"startTime": 1778479060304,
|
||||||
|
"submitTime": 1778478972125,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -1710,10 +1738,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778479117659,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "8c861c10-773a-4449-a5dc-c0340e5ec97e",
|
"nuid": "8c861c10-773a-4449-a5dc-c0340e5ec97e",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485077,
|
"startTime": 1778479098312,
|
||||||
|
"submitTime": 1778478972131,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -1735,10 +1765,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778479124771,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "e39d8c66-7469-46db-a2f4-79976266bec2",
|
"nuid": "e39d8c66-7469-46db-a2f4-79976266bec2",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485082,
|
"startTime": 1778479117663,
|
||||||
|
"submitTime": 1778478972137,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -1800,10 +1832,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778479127669,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "bbe40a04-e787-4133-9901-5f331baf912a",
|
"nuid": "bbe40a04-e787-4133-9901-5f331baf912a",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485086,
|
"startTime": 1778479124776,
|
||||||
|
"submitTime": 1778478972142,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -1829,12 +1863,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
"finishTime": 1777652323660,
|
"finishTime": 1778479127677,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "f8d0befe-3de4-48a8-ac53-cdc19c897d0f",
|
"nuid": "f8d0befe-3de4-48a8-ac53-cdc19c897d0f",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"startTime": 1777652315675,
|
"startTime": 1778479127673,
|
||||||
"submitTime": 1777652314433,
|
"submitTime": 1778478972148,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -2084,12 +2118,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
"finishTime": 1777652451150,
|
"finishTime": 1778479133948,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "9e6100db-d97c-41a6-8b30-4f7a774c1903",
|
"nuid": "9e6100db-d97c-41a6-8b30-4f7a774c1903",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"startTime": 1777652447065,
|
"startTime": 1778479127685,
|
||||||
"submitTime": 1777652446859,
|
"submitTime": 1778478972153,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -2276,12 +2310,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
"finishTime": 1777652456889,
|
"finishTime": 1778479145677,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "0c0fe2ec-f80e-4872-85bf-fd5d058cc8b8",
|
"nuid": "0c0fe2ec-f80e-4872-85bf-fd5d058cc8b8",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"startTime": 1777652453844,
|
"startTime": 1778479133960,
|
||||||
"submitTime": 1777652453744,
|
"submitTime": 1778478972160,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -2297,8 +2331,9 @@
|
|||||||
"SELECT\n",
|
"SELECT\n",
|
||||||
"\n",
|
"\n",
|
||||||
" -- CORP_COD:汇总行(total_flag = Y)统一写 'TTL MKT',否则取企业编码\n",
|
" -- CORP_COD:汇总行(total_flag = Y)统一写 'TTL MKT',否则取企业编码\n",
|
||||||
" CASE WHEN total_flag = 'Y' THEN 'TTL MKT'\n",
|
" CASE WHEN TA = 'RX Total' and total_flag = 'Y' THEN ''\n",
|
||||||
" ELSE NVL(CORP_COD, '')\n",
|
" WHEN total_flag = 'Y' THEN 'TTL MKT'\n",
|
||||||
|
" ELSE NVL(CORP_COD, '未知')\n",
|
||||||
" END AS CORP_COD,\n",
|
" END AS CORP_COD,\n",
|
||||||
"\n",
|
"\n",
|
||||||
" -- 时间维度:yyyymm 优先,为空则降级取 ytd\n",
|
" -- 时间维度:yyyymm 优先,为空则降级取 ytd\n",
|
||||||
@@ -2320,8 +2355,8 @@
|
|||||||
" NVL(KPI_name, '') AS KPI_name,\n",
|
" NVL(KPI_name, '') AS KPI_name,\n",
|
||||||
"\n",
|
"\n",
|
||||||
" -- 数值型 KPI:先转 DOUBLE 再 NVL,兼容源字段为字符串的情况\n",
|
" -- 数值型 KPI:先转 DOUBLE 再 NVL,兼容源字段为字符串的情况\n",
|
||||||
" NVL(CAST(Kpi_val AS DOUBLE), '') AS Kpi_val,\n",
|
" nvl(CAST(Kpi_val AS decimal(30,10)),0) AS Kpi_val,\n",
|
||||||
" NVL(CAST(Kpi_val_ly AS DOUBLE), '') AS Kpi_val_ly,\n",
|
" nvl(CAST(Kpi_val_ly AS decimal(30,10)),0) AS Kpi_val_ly,\n",
|
||||||
"\n",
|
"\n",
|
||||||
" -- 字符串型 KPI(销售额/销量,含同比)\n",
|
" -- 字符串型 KPI(销售额/销量,含同比)\n",
|
||||||
" NVL(str_kpi_val, '') AS str_kpi_val,\n",
|
" NVL(str_kpi_val, '') AS str_kpi_val,\n",
|
||||||
@@ -2368,10 +2403,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778479158042,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "6b591466-5af8-40ef-a9b9-c4f137843f18",
|
"nuid": "6b591466-5af8-40ef-a9b9-c4f137843f18",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485111,
|
"startTime": 1778479145698,
|
||||||
|
"submitTime": 1778478972175,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -2479,10 +2516,12 @@
|
|||||||
"byteLimit": 2048000,
|
"byteLimit": 2048000,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
|
"finishTime": 1778479158640,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "20f3c0a6-f626-4e64-bce4-7653087adb16",
|
"nuid": "20f3c0a6-f626-4e64-bce4-7653087adb16",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"submitTime": 1777537485118,
|
"startTime": 1778479158046,
|
||||||
|
"submitTime": 1778478972181,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -415,7 +415,13 @@ LEVEL_MARKET_RD = 'RD Market'
|
|||||||
# MAGIC zk_manu_des,
|
# MAGIC zk_manu_des,
|
||||||
# MAGIC zk_corp_des,
|
# MAGIC zk_corp_des,
|
||||||
# MAGIC zk_pack_des,
|
# MAGIC zk_pack_des,
|
||||||
# MAGIC month,
|
# MAGIC -- niad的month聚合成季度的值
|
||||||
|
# MAGIC concat(left(quarter,4),
|
||||||
|
# MAGIC case when right(quarter,2) = 'Q1' THEN '03'
|
||||||
|
# MAGIC when right(quarter,2) = 'Q2' THEN '06'
|
||||||
|
# MAGIC when right(quarter,2) = 'Q3' THEN '09'
|
||||||
|
# MAGIC when right(quarter,2) = 'Q4' THEN '12' END)
|
||||||
|
# MAGIC AS month,
|
||||||
# MAGIC quarter,
|
# MAGIC quarter,
|
||||||
# MAGIC replace(price,',','' ),
|
# MAGIC replace(price,',','' ),
|
||||||
# MAGIC replace(sales_unit,',','' ),
|
# MAGIC replace(sales_unit,',','' ),
|
||||||
@@ -618,4 +624,201 @@ LEVEL_MARKET_RD = 'RD Market'
|
|||||||
|
|
||||||
# COMMAND ----------
|
# COMMAND ----------
|
||||||
|
|
||||||
|
# MAGIC %md
|
||||||
|
# MAGIC ## STEP-2: 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##############################################################
|
||||||
|
|||||||
@@ -5,10 +5,16 @@
|
|||||||
"execution_count": 0,
|
"execution_count": 0,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"application/vnd.databricks.v1+cell": {
|
"application/vnd.databricks.v1+cell": {
|
||||||
"cellMetadata": {},
|
"cellMetadata": {
|
||||||
|
"byteLimit": 2048000,
|
||||||
|
"rowLimit": 10000
|
||||||
|
},
|
||||||
|
"finishTime": 1778484351983,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "4d16488f-0327-4ced-b23f-41f960a90d2f",
|
"nuid": "4d16488f-0327-4ced-b23f-41f960a90d2f",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
|
"startTime": 1778484351892,
|
||||||
|
"submitTime": 1778484351680,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
@@ -29,12 +35,12 @@
|
|||||||
"implicitDf": true,
|
"implicitDf": true,
|
||||||
"rowLimit": 10000
|
"rowLimit": 10000
|
||||||
},
|
},
|
||||||
"finishTime": 1777430517044,
|
"finishTime": 1778484383881,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "1168666b-255b-44a3-968b-4156c93dad53",
|
"nuid": "1168666b-255b-44a3-968b-4156c93dad53",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
"startTime": 1777430506637,
|
"startTime": 1778484351988,
|
||||||
"submitTime": 1777430498072,
|
"submitTime": 1778484351685,
|
||||||
"tableResultSettingsMap": {
|
"tableResultSettingsMap": {
|
||||||
"0": {
|
"0": {
|
||||||
"dataGridStateBlob": "{\"version\":1,\"tableState\":{\"columnPinning\":{\"left\":[\"#row_number#\"],\"right\":[]},\"columnSizing\":{},\"columnVisibility\":{}},\"settings\":{\"columns\":{}},\"syncTimestamp\":1777430717962}",
|
"dataGridStateBlob": "{\"version\":1,\"tableState\":{\"columnPinning\":{\"left\":[\"#row_number#\"],\"right\":[]},\"columnSizing\":{},\"columnVisibility\":{}},\"settings\":{\"columns\":{}},\"syncTimestamp\":1777430717962}",
|
||||||
@@ -366,10 +372,16 @@
|
|||||||
"execution_count": 0,
|
"execution_count": 0,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"application/vnd.databricks.v1+cell": {
|
"application/vnd.databricks.v1+cell": {
|
||||||
"cellMetadata": {},
|
"cellMetadata": {
|
||||||
|
"byteLimit": 2048000,
|
||||||
|
"rowLimit": 10000
|
||||||
|
},
|
||||||
|
"finishTime": 1778484383981,
|
||||||
"inputWidgets": {},
|
"inputWidgets": {},
|
||||||
"nuid": "efe5e7ee-82b5-46d9-85f7-650756dffbf8",
|
"nuid": "efe5e7ee-82b5-46d9-85f7-650756dffbf8",
|
||||||
"showTitle": false,
|
"showTitle": false,
|
||||||
|
"startTime": 1778484383903,
|
||||||
|
"submitTime": 1778484351693,
|
||||||
"tableResultSettingsMap": {},
|
"tableResultSettingsMap": {},
|
||||||
"title": ""
|
"title": ""
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -800,201 +800,4 @@
|
|||||||
|
|
||||||
# COMMAND ----------
|
# COMMAND ----------
|
||||||
|
|
||||||
# MAGIC %md
|
############################################################END################################################################
|
||||||
# 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################################################################
|
|
||||||
|
|||||||
@@ -211,12 +211,30 @@ FROM
|
|||||||
-- 创建日期:2026-04-30
|
-- 创建日期:2026-04-30
|
||||||
-- 功能: 月份NIAD不进行季度汇总, 新建DM.DM_TF_EXT_RETAIL_NIAD_SALES表做关联
|
-- 功能: 月份NIAD不进行季度汇总, 新建DM.DM_TF_EXT_RETAIL_NIAD_SALES表做关联
|
||||||
-- ****************************************************
|
-- ****************************************************
|
||||||
-- INSERT OVERWRITE TABLE DM.DM_TF_EXT_RETAIL_NIAD_SALES
|
WITH NIAD_DWD_TABLE AS (
|
||||||
|
select
|
||||||
|
a.month,
|
||||||
|
b.iqvia_pack_code as pack_code,
|
||||||
|
'ROC' AS zk_region,
|
||||||
|
a.sales_unit,
|
||||||
|
a.sales_value,
|
||||||
|
a.counting_unit
|
||||||
|
from
|
||||||
|
dwd.dwd_gnd_ext_retail_nataional_niad a
|
||||||
|
left join dwd.dwd_gnd_ext_retail_pack_property b
|
||||||
|
on case
|
||||||
|
when length(zk_product_id) < 7 then right(concat('0000000', zk_product_id), 7)
|
||||||
|
else zk_product_id
|
||||||
|
end = b.product_id
|
||||||
|
where
|
||||||
|
a.zk_region = '全国'
|
||||||
|
)
|
||||||
|
INSERT OVERWRITE TABLE DM.DM_TF_EXT_RETAIL_NIAD_SALES
|
||||||
SELECT
|
SELECT
|
||||||
cur.month AS YYYYMM,
|
cur.month AS YYYYMM,
|
||||||
cur.pack_code AS PACK_CODE,
|
cur.pack_code AS PACK_CODE,
|
||||||
'' AS CORP_CODE,
|
'' AS CORP_CODE,
|
||||||
cur.zk_regin AS AUDIT_CODE,
|
cur.zk_region AS AUDIT_CODE,
|
||||||
'' AS PLATFORM_TYPE,
|
'' AS PLATFORM_TYPE,
|
||||||
'' AS STORE_NAME,
|
'' AS STORE_NAME,
|
||||||
'' AS STORE_TYPE,
|
'' AS STORE_TYPE,
|
||||||
@@ -244,8 +262,8 @@ SELECT
|
|||||||
'' AS PRESCRIPTION_SOURCE,
|
'' AS PRESCRIPTION_SOURCE,
|
||||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_INSERT_DT,
|
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_INSERT_DT,
|
||||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_UPDATE_DT
|
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_UPDATE_DT
|
||||||
FROM (select * from tmp.tmp_retail_pack_rawdata where level_market = 'NIAD') cur
|
FROM (select * from NIAD_DWD_TABLE ) cur
|
||||||
LEFT JOIN (select * from tmp.tmp_retail_pack_rawdata where level_market = 'NIAD') ly
|
LEFT JOIN (select * from NIAD_DWD_TABLE ) ly
|
||||||
ON CAST(CAST(ly.month AS INT) + 100 AS STRING) = cur.month
|
ON CAST(CAST(ly.month AS INT) + 100 AS STRING) = cur.month
|
||||||
AND ly.pack_code = cur.pack_code
|
AND ly.pack_code = cur.pack_code
|
||||||
AND ly.zk_regin = cur.zk_regin
|
AND ly.zk_region = cur.zk_region
|
||||||
|
|||||||
233
UNIONALL/DM_TF_EXT_RETAIL_MARKET_SALES_NIAD.sql
Normal file
233
UNIONALL/DM_TF_EXT_RETAIL_MARKET_SALES_NIAD.sql
Normal file
@@ -0,0 +1,233 @@
|
|||||||
|
-- Databricks notebook source
|
||||||
|
-- CREATE OR REPLACE TABLE DM.DM_TF_EXT_RETAIL_MARKET_SALES (
|
||||||
|
-- MARKET STRING,
|
||||||
|
-- KEY_COMPETITOR STRING,
|
||||||
|
-- CLASS STRING,
|
||||||
|
-- YYYYMM STRING,
|
||||||
|
-- PACK_COD STRING,
|
||||||
|
-- CORP_COD STRING,
|
||||||
|
-- AUDIT_COD STRING,
|
||||||
|
-- PLATFORM_TYPE STRING,
|
||||||
|
-- STORE_NAME STRING,
|
||||||
|
-- STORE_TYPE STRING,
|
||||||
|
-- REGION_TYPE STRING,
|
||||||
|
-- DATA_SOURCE STRING,
|
||||||
|
-- PACK_FLAG STRING,
|
||||||
|
-- PROD_FLAG STRING,
|
||||||
|
-- DTP_FLAG STRING,
|
||||||
|
-- CMPS_FLAG STRING,
|
||||||
|
-- NEW_CODE STRING COMMENT '主数据关联CODE',
|
||||||
|
-- INST_CODE STRING COMMENT '内部机构编码',
|
||||||
|
-- AIA_HP_FLAG STRING,
|
||||||
|
-- DEPT_NAME STRING COMMENT '科室名称',
|
||||||
|
-- H_LEVEL STRING,
|
||||||
|
-- REIMBURSE STRING COMMENT '报销情况',
|
||||||
|
-- REIMBURSE_TYPE STRING COMMENT '报销类型',
|
||||||
|
-- PRESCRIPTION_TYPE STRING COMMENT '处方来源',
|
||||||
|
-- PRESCRIPTION DECIMAL(35,10),
|
||||||
|
-- PRESCRIPTION_LY DECIMAL(35,10),
|
||||||
|
-- VA STRING,
|
||||||
|
-- UT STRING,
|
||||||
|
-- CU STRING,
|
||||||
|
-- PT STRING,
|
||||||
|
-- SALES_UNIT_CAL DECIMAL(35,6),
|
||||||
|
-- SALES_UNIT_CAL_LY DECIMAL(35,6),
|
||||||
|
-- SALES_VALUE_CAL DECIMAL(35,6),
|
||||||
|
-- SALES_VALUE_CAL_LY DECIMAL(35,6),
|
||||||
|
-- CONUTING_UNIT DECIMAL(35,6),
|
||||||
|
-- CONUTING_UNIT_LY DECIMAL(35,6),
|
||||||
|
-- PDOT DECIMAL(35,6),
|
||||||
|
-- PDOT_LY DECIMAL(35,6),
|
||||||
|
-- ETL_INSERT_DT TIMESTAMP,
|
||||||
|
-- ETL_UPDATE_DT TIMESTAMP
|
||||||
|
-- )
|
||||||
|
-- USING delta
|
||||||
|
-- PARTITIONED BY (DATA_SOURCE)
|
||||||
|
-- -- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/DM/dm_tf_ext_retail_market_sales';
|
||||||
|
-- -- 上面是生产环境location,下面是测试环境location
|
||||||
|
-- LOCATION 'abfss://master@retaildlstoragetest.dfs.core.chinacloudapi.cn/DM/dm_tf_ext_retail_market_sales';
|
||||||
|
|
||||||
|
|
||||||
|
-- COMMAND ----------
|
||||||
|
|
||||||
|
INSERT OVERWRITE TABLE
|
||||||
|
DM.DM_TF_EXT_RETAIL_MARKET_SALES(
|
||||||
|
MARKET,
|
||||||
|
KEY_COMPETITOR,
|
||||||
|
CLASS,
|
||||||
|
YYYYMM,
|
||||||
|
PACK_COD,
|
||||||
|
CORP_COD,
|
||||||
|
AUDIT_COD,
|
||||||
|
PLATFORM_TYPE,
|
||||||
|
STORE_NAME,
|
||||||
|
STORE_TYPE,
|
||||||
|
REGION_TYPE,
|
||||||
|
DATA_SOURCE,
|
||||||
|
PACK_FLAG,
|
||||||
|
PROD_FLAG,
|
||||||
|
DTP_FLAG,
|
||||||
|
CMPS_FLAG,
|
||||||
|
NEW_CODE,
|
||||||
|
INST_CODE,
|
||||||
|
AIA_HP_FLAG,
|
||||||
|
DEPT_NAME,
|
||||||
|
H_LEVEL,
|
||||||
|
REIMBURSE,
|
||||||
|
REIMBURSE_TYPE,
|
||||||
|
PRESCRIPTION_TYPE,
|
||||||
|
PRESCRIPTION,
|
||||||
|
PRESCRIPTION_LY,
|
||||||
|
VA,
|
||||||
|
UT,
|
||||||
|
CU,
|
||||||
|
PT,
|
||||||
|
SALES_UNIT_CAL,
|
||||||
|
SALES_UNIT_CAL_LY,
|
||||||
|
SALES_VALUE_CAL,
|
||||||
|
SALES_VALUE_CAL_LY,
|
||||||
|
CONUTING_UNIT,
|
||||||
|
CONUTING_UNIT_LY,
|
||||||
|
PDOT,
|
||||||
|
PDOT_LY,
|
||||||
|
ETL_INSERT_DT,
|
||||||
|
ETL_UPDATE_DT
|
||||||
|
)
|
||||||
|
WITH
|
||||||
|
t1_filtered AS (
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
DM.DM_TF_EXT_RETAIL_NIAD_SALES
|
||||||
|
),
|
||||||
|
mapping_cleaned AS (
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
PACK_CODE,
|
||||||
|
'Retail(Quarterly)' DATASOURCE,
|
||||||
|
MARKET,
|
||||||
|
KEY_COMPETITOR,
|
||||||
|
CLASS,
|
||||||
|
MARKET_RATIO,
|
||||||
|
Value_brand_Ratio,
|
||||||
|
Unit_brand_Ratio,
|
||||||
|
CountingUnit_brand_Ratio,
|
||||||
|
PDOT_brand_Ratio,
|
||||||
|
GREATEST (
|
||||||
|
starttime,
|
||||||
|
Value_brand_Ratio_start,
|
||||||
|
Unit_brand_start,
|
||||||
|
CountingUnit_brand_start,
|
||||||
|
PDOT_brand_start
|
||||||
|
) AS eff_start,
|
||||||
|
LEAST (
|
||||||
|
endtime,
|
||||||
|
Value_brand_Ratio_end,
|
||||||
|
Unit_brand_end,
|
||||||
|
CountingUnit_brand_end,
|
||||||
|
PDOT_brand_end
|
||||||
|
) AS eff_end
|
||||||
|
FROM
|
||||||
|
DM.dm_td_ext_retail_market_pack_mapping
|
||||||
|
) tmp
|
||||||
|
WHERE
|
||||||
|
eff_start <= eff_end -- 在外层子查询中过滤
|
||||||
|
) ,
|
||||||
|
joined AS (
|
||||||
|
SELECT
|
||||||
|
/*+ BROADCAST(t2, t3) */
|
||||||
|
t1.*,
|
||||||
|
-- 当年 ratio
|
||||||
|
t2.MARKET,
|
||||||
|
t2.KEY_COMPETITOR,
|
||||||
|
t2.CLASS,
|
||||||
|
t2.MARKET_RATIO AS cy_market_ratio,
|
||||||
|
t2.Value_brand_Ratio AS cy_value_ratio,
|
||||||
|
t2.Unit_brand_Ratio AS cy_unit_ratio,
|
||||||
|
t2.CountingUnit_brand_Ratio AS cy_cu_ratio,
|
||||||
|
t2.PDOT_brand_Ratio AS cy_pdot_ratio,
|
||||||
|
-- 去年 ratio
|
||||||
|
t3.MARKET_RATIO AS ly_market_ratio,
|
||||||
|
t3.Value_brand_Ratio AS ly_value_ratio,
|
||||||
|
t3.Unit_brand_Ratio AS ly_unit_ratio,
|
||||||
|
t3.CountingUnit_brand_Ratio AS ly_cu_ratio,
|
||||||
|
t3.PDOT_brand_Ratio AS ly_pdot_ratio
|
||||||
|
FROM
|
||||||
|
t1_filtered t1
|
||||||
|
LEFT JOIN mapping_cleaned t2 ON t1.PACK_CODE = t2.PACK_CODE
|
||||||
|
AND t1.DATA_SOURCE = t2.DATASOURCE
|
||||||
|
AND t1.YYYYMM >= t2.eff_start
|
||||||
|
AND t1.YYYYMM <= t2.eff_end
|
||||||
|
LEFT JOIN mapping_cleaned t3 ON t1.PACK_CODE = t3.PACK_CODE
|
||||||
|
AND t1.DATA_SOURCE = t3.DATASOURCE
|
||||||
|
AND (t1.YYYYMM - 100) >= t3.eff_start
|
||||||
|
AND (t1.YYYYMM - 100) <= t3.eff_end
|
||||||
|
AND t2.MARKET = t3.MARKET -- 保持原逻辑
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
NVL(MARKET, 'ALL Market') AS MARKET,
|
||||||
|
NVL(KEY_COMPETITOR, 'OTHERS') AS KEY_COMPETITOR,
|
||||||
|
CASE
|
||||||
|
WHEN trim(lower(CLASS)) = 'others' THEN 'OTHERS'
|
||||||
|
WHEN CLASS IS NULL THEN 'OTHERS'
|
||||||
|
ELSE CLASS
|
||||||
|
END AS CLASS,
|
||||||
|
YYYYMM,
|
||||||
|
PACK_CODE,
|
||||||
|
CORP_CODE,
|
||||||
|
AUDIT_CODE,
|
||||||
|
PLATFORM_TYPE,
|
||||||
|
STORE_NAME,
|
||||||
|
STORE_TYPE,
|
||||||
|
REGION_TYPE,
|
||||||
|
DATA_SOURCE,
|
||||||
|
PACK_FLAG,
|
||||||
|
PROD_FLAG,
|
||||||
|
DTP_FLAG,
|
||||||
|
CMPS_FLAG,
|
||||||
|
NEW_CODE,
|
||||||
|
INST_CODE,
|
||||||
|
NULL AS AIA_HP_FLAG,
|
||||||
|
DEPT_NAME,
|
||||||
|
H_LEVEL,
|
||||||
|
REIMBURSE,
|
||||||
|
REIMBURSE_TYPE,
|
||||||
|
PRESCRIPTION_SOURCE AS PRESCRIPTION_TYPE,
|
||||||
|
CAST(PRESCRIPTION AS DECIMAL(35, 6)) AS PRESCRIPTIONAS,
|
||||||
|
CAST(PRESCRIPTION_LY AS DECIMAL(35, 6)) AS PRESCRIPTION_LY,
|
||||||
|
-- 预计算公用因子,避免重复计算
|
||||||
|
NVL(NVL(cy_market_ratio, 1) * cy_value_ratio, 1) AS VA,
|
||||||
|
NVL(NVL(cy_market_ratio, 1) * cy_unit_ratio, 1) AS UT,
|
||||||
|
NVL(NVL(cy_market_ratio, 1) * cy_cu_ratio, 1) AS CU,
|
||||||
|
NVL(NVL(cy_market_ratio, 1) * cy_pdot_ratio, 1) AS PT,
|
||||||
|
CAST(
|
||||||
|
SALES_UNIT_CAL * NVL(cy_unit_ratio, 1) * NVL(cy_market_ratio, 1) AS DECIMAL(35, 6)
|
||||||
|
) AS SALES_UNIT_CAL,
|
||||||
|
CAST(
|
||||||
|
SALES_UNIT_CAL_LY * NVL(ly_unit_ratio, 1) * NVL(ly_market_ratio, 1) AS DECIMAL(35, 6)
|
||||||
|
) AS SALES_UNIT_CAL_LY,
|
||||||
|
CAST(
|
||||||
|
SALES_VALUE_CAL * NVL(cy_value_ratio, 1) * NVL(cy_market_ratio, 1) AS DECIMAL(35, 6)
|
||||||
|
) AS SALES_VALUE_CAL,
|
||||||
|
CAST(
|
||||||
|
SALES_VALUE_CAL_LY * NVL(ly_value_ratio, 1) * NVL(ly_market_ratio, 1) AS DECIMAL(35, 6)
|
||||||
|
) AS SALES_VALUE_CAL_LY,
|
||||||
|
CAST(
|
||||||
|
CONUTING_UNIT * NVL(cy_cu_ratio, 1) * NVL(cy_market_ratio, 1) AS DECIMAL(35, 6)
|
||||||
|
) AS CONUTING_UNIT,
|
||||||
|
CAST(
|
||||||
|
CONUTING_UNIT_LY * NVL(ly_cu_ratio, 1) * NVL(ly_market_ratio, 1) AS DECIMAL(35, 6)
|
||||||
|
) AS CONUTING_UNIT_LY,
|
||||||
|
CAST(
|
||||||
|
CONUTING_UNIT * NVL(cy_pdot_ratio, 1) * NVL(cy_market_ratio, 1) AS DECIMAL(35, 6)
|
||||||
|
) AS PDOT,
|
||||||
|
CAST(
|
||||||
|
CONUTING_UNIT_LY * NVL(ly_pdot_ratio, 1) * NVL(ly_market_ratio, 1) AS DECIMAL(35, 6)
|
||||||
|
) AS PDOT_LY,
|
||||||
|
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_INSERT_DT,
|
||||||
|
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_UPDATE_DT
|
||||||
|
FROM
|
||||||
|
joined;
|
||||||
@@ -223,6 +223,7 @@
|
|||||||
|
|
||||||
-- COMMAND ----------
|
-- COMMAND ----------
|
||||||
|
|
||||||
|
-- DBTITLE 1,market_sales
|
||||||
INSERT OVERWRITE TABLE
|
INSERT OVERWRITE TABLE
|
||||||
DM.DM_TF_EXT_UNIONALL_MARKET_SALES
|
DM.DM_TF_EXT_UNIONALL_MARKET_SALES
|
||||||
WITH
|
WITH
|
||||||
@@ -522,146 +523,3 @@ SELECT
|
|||||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_UPDATE_DT
|
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_UPDATE_DT
|
||||||
FROM
|
FROM
|
||||||
joined;
|
joined;
|
||||||
|
|
||||||
-- COMMAND ----------
|
|
||||||
|
|
||||||
INSERT into TABLE
|
|
||||||
DM.DM_TF_EXT_UNIONALL_MARKET_SALES
|
|
||||||
WITH
|
|
||||||
t1_filtered AS (
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
DM.DM_TF_EXT_RETAIL_NIAD_SALES
|
|
||||||
),
|
|
||||||
mapping_cleaned AS (
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
(
|
|
||||||
SELECT
|
|
||||||
PACK_CODE,
|
|
||||||
DATASOURCE,
|
|
||||||
MARKET,
|
|
||||||
KEY_COMPETITOR,
|
|
||||||
CLASS,
|
|
||||||
MARKET_RATIO,
|
|
||||||
Value_brand_Ratio,
|
|
||||||
Unit_brand_Ratio,
|
|
||||||
CountingUnit_brand_Ratio,
|
|
||||||
PDOT_brand_Ratio,
|
|
||||||
GREATEST (
|
|
||||||
starttime,
|
|
||||||
Value_brand_Ratio_start,
|
|
||||||
Unit_brand_start,
|
|
||||||
CountingUnit_brand_start,
|
|
||||||
PDOT_brand_start
|
|
||||||
) AS eff_start,
|
|
||||||
LEAST (
|
|
||||||
endtime,
|
|
||||||
Value_brand_Ratio_end,
|
|
||||||
Unit_brand_end,
|
|
||||||
CountingUnit_brand_end,
|
|
||||||
PDOT_brand_end
|
|
||||||
) AS eff_end
|
|
||||||
FROM
|
|
||||||
DM.dm_td_ext_unionall_market_pack_mapping
|
|
||||||
) tmp
|
|
||||||
WHERE
|
|
||||||
eff_start <= eff_end -- 在外层子查询中过滤
|
|
||||||
) ,
|
|
||||||
joined AS (
|
|
||||||
SELECT
|
|
||||||
/*+ BROADCAST(t2, t3) */
|
|
||||||
t1.*,
|
|
||||||
-- 当年 ratio
|
|
||||||
t2.MARKET,
|
|
||||||
t2.KEY_COMPETITOR,
|
|
||||||
t2.CLASS,
|
|
||||||
t2.MARKET_RATIO AS cy_market_ratio,
|
|
||||||
t2.Value_brand_Ratio AS cy_value_ratio,
|
|
||||||
t2.Unit_brand_Ratio AS cy_unit_ratio,
|
|
||||||
t2.CountingUnit_brand_Ratio AS cy_cu_ratio,
|
|
||||||
t2.PDOT_brand_Ratio AS cy_pdot_ratio,
|
|
||||||
-- 去年 ratio
|
|
||||||
t3.MARKET_RATIO AS ly_market_ratio,
|
|
||||||
t3.Value_brand_Ratio AS ly_value_ratio,
|
|
||||||
t3.Unit_brand_Ratio AS ly_unit_ratio,
|
|
||||||
t3.CountingUnit_brand_Ratio AS ly_cu_ratio,
|
|
||||||
t3.PDOT_brand_Ratio AS ly_pdot_ratio
|
|
||||||
FROM
|
|
||||||
t1_filtered t1
|
|
||||||
LEFT JOIN mapping_cleaned t2 ON t1.PACK_CODE = t2.PACK_CODE
|
|
||||||
AND t1.DATA_SOURCE = t2.DATASOURCE
|
|
||||||
AND t1.YYYYMM >= t2.eff_start
|
|
||||||
AND t1.YYYYMM <= t2.eff_end
|
|
||||||
LEFT JOIN mapping_cleaned t3 ON t1.PACK_CODE = t3.PACK_CODE
|
|
||||||
AND t1.DATA_SOURCE = t3.DATASOURCE
|
|
||||||
AND (t1.YYYYMM - 100) >= t3.eff_start
|
|
||||||
AND (t1.YYYYMM - 100) <= t3.eff_end
|
|
||||||
AND t2.MARKET = t3.MARKET -- 保持原逻辑
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
NVL(MARKET, 'ALL Market') AS MARKET,
|
|
||||||
NVL(KEY_COMPETITOR, 'OTHERS') AS KEY_COMPETITOR,
|
|
||||||
CASE
|
|
||||||
WHEN trim(lower(CLASS)) = 'others' THEN 'OTHERS'
|
|
||||||
WHEN CLASS IS NULL THEN 'OTHERS'
|
|
||||||
ELSE CLASS
|
|
||||||
END AS CLASS,
|
|
||||||
YYYYMM,
|
|
||||||
PACK_CODE,
|
|
||||||
CORP_CODE,
|
|
||||||
AUDIT_CODE,
|
|
||||||
PLATFORM_TYPE,
|
|
||||||
STORE_NAME,
|
|
||||||
STORE_TYPE,
|
|
||||||
REGION_TYPE,
|
|
||||||
DATA_SOURCE,
|
|
||||||
PACK_FLAG,
|
|
||||||
PROD_FLAG,
|
|
||||||
DTP_FLAG,
|
|
||||||
CMPS_FLAG,
|
|
||||||
NEW_CODE,
|
|
||||||
INST_CODE,
|
|
||||||
NULL AS AIA_HP_FLAG,
|
|
||||||
DEPT_NAME,
|
|
||||||
H_LEVEL,
|
|
||||||
REIMBURSE,
|
|
||||||
REIMBURSE_TYPE,
|
|
||||||
PRESCRIPTION_SOURCE AS PRESCRIPTION_TYPE,
|
|
||||||
PRESCRIPTION,
|
|
||||||
PRESCRIPTION_LY,
|
|
||||||
-- 预计算公用因子,避免重复计算
|
|
||||||
NVL(NVL(cy_market_ratio, 1) * cy_value_ratio, 1) AS VA,
|
|
||||||
NVL(NVL(cy_market_ratio, 1) * cy_unit_ratio, 1) AS UT,
|
|
||||||
NVL(NVL(cy_market_ratio, 1) * cy_cu_ratio, 1) AS CU,
|
|
||||||
NVL(NVL(cy_market_ratio, 1) * cy_pdot_ratio, 1) AS PT,
|
|
||||||
CAST(
|
|
||||||
SALES_UNIT_CAL * NVL(cy_unit_ratio, 1) * NVL(cy_market_ratio, 1) AS DECIMAL(35, 6)
|
|
||||||
) AS SALES_UNIT_CAL,
|
|
||||||
CAST(
|
|
||||||
SALES_UNIT_CAL_LY * NVL(ly_unit_ratio, 1) * NVL(ly_market_ratio, 1) AS DECIMAL(35, 6)
|
|
||||||
) AS SALES_UNIT_CAL_LY,
|
|
||||||
CAST(
|
|
||||||
SALES_VALUE_CAL * NVL(cy_value_ratio, 1) * NVL(cy_market_ratio, 1) AS DECIMAL(35, 6)
|
|
||||||
) AS SALES_VALUE_CAL,
|
|
||||||
CAST(
|
|
||||||
SALES_VALUE_CAL_LY * NVL(ly_value_ratio, 1) * NVL(ly_market_ratio, 1) AS DECIMAL(35, 6)
|
|
||||||
) AS SALES_VALUE_CAL_LY,
|
|
||||||
CAST(
|
|
||||||
CONUTING_UNIT * NVL(cy_cu_ratio, 1) * NVL(cy_market_ratio, 1) AS DECIMAL(35, 6)
|
|
||||||
) AS CONUTING_UNIT,
|
|
||||||
CAST(
|
|
||||||
CONUTING_UNIT_LY * NVL(ly_cu_ratio, 1) * NVL(ly_market_ratio, 1) AS DECIMAL(35, 6)
|
|
||||||
) AS CONUTING_UNIT_LY,
|
|
||||||
CAST(
|
|
||||||
CONUTING_UNIT * NVL(cy_pdot_ratio, 1) * NVL(cy_market_ratio, 1) AS DECIMAL(35, 6)
|
|
||||||
) AS PDOT,
|
|
||||||
CAST(
|
|
||||||
CONUTING_UNIT_LY * NVL(ly_pdot_ratio, 1) * NVL(ly_market_ratio, 1) AS DECIMAL(35, 6)
|
|
||||||
) AS PDOT_LY,
|
|
||||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_INSERT_DT,
|
|
||||||
FROM_UTC_TIMESTAMP(CURRENT_TIMESTAMP(), 'UTC+8') AS ETL_UPDATE_DT
|
|
||||||
FROM
|
|
||||||
joined;
|
|
||||||
|
|||||||
@@ -80,13 +80,15 @@ SELECT
|
|||||||
T0.STORE_TYPE,
|
T0.STORE_TYPE,
|
||||||
T0.REGION_TYPE,
|
T0.REGION_TYPE,
|
||||||
T0.DATA_SOURCE,
|
T0.DATA_SOURCE,
|
||||||
CASE WHEN P.MARKET IS NOT NULL THEN 1
|
CASE WHEN P.MARKET IS NOT NULL AND T0.PACK_FLAG = 1 THEN 1
|
||||||
WHEN T0.PACK_FLAG = 0 THEN 0 ELSE 2 END PACK_FLAG,
|
WHEN P.MARKET IS NOT NULL THEN 2
|
||||||
CASE WHEN P.MARKET IS NOT NULL THEN 1
|
ELSE 0 END PACK_FLAG,
|
||||||
|
CASE WHEN P.MARKET IS NOT NULL AND T0.PROD_FLAG = 1 THEN 1
|
||||||
|
WHEN P.MARKET IS NOT NULL THEN 2
|
||||||
WHEN T0.MARKET = 'Metoprolol Succinate Market' AND PACK.PROD_DES = 'BETALOC ZOK' THEN 1
|
WHEN T0.MARKET = 'Metoprolol Succinate Market' AND PACK.PROD_DES = 'BETALOC ZOK' THEN 1
|
||||||
WHEN T0.MARKET = 'Atorvastatin Market' AND PACK.PROD_DES = 'LIPITOR' THEN 1
|
WHEN T0.MARKET = 'Atorvastatin Market' AND PACK.PROD_DES = 'LIPITOR' THEN 1
|
||||||
WHEN T0.MARKET = 'AZITHROMYCIN Market' AND PACK.PROD_DES = 'ZITHROMAX' THEN 1
|
WHEN T0.MARKET = 'AZITHROMYCIN Market' AND PACK.PROD_DES = 'ZITHROMAX' THEN 1
|
||||||
WHEN T0.PROD_FLAG = 0 THEN 0 ELSE 2 END PROD_FLAG,
|
ELSE 0 END PROD_FLAG,
|
||||||
T0.DTP_FLAG,
|
T0.DTP_FLAG,
|
||||||
CASE WHEN P.MARKET IS NOT NULL THEN 1
|
CASE WHEN P.MARKET IS NOT NULL THEN 1
|
||||||
WHEN T0.MARKET = 'Metoprolol Succinate Market' AND PACK.PROD_DES = 'BETALOC ZOK' THEN 1
|
WHEN T0.MARKET = 'Metoprolol Succinate Market' AND PACK.PROD_DES = 'BETALOC ZOK' THEN 1
|
||||||
@@ -137,58 +139,6 @@ WHERE
|
|||||||
|
|
||||||
-- COMMAND ----------
|
-- COMMAND ----------
|
||||||
|
|
||||||
CREATE OR REPLACE TEMPORARY VIEW RETAIL_EXTERNAL_SALES_ALL AS
|
|
||||||
SELECT
|
|
||||||
T0.MARKET,
|
|
||||||
T0.KEY_COMPETITOR,
|
|
||||||
T0.CLASS,
|
|
||||||
T0.YYYYMM,
|
|
||||||
T0.PACK_COD,
|
|
||||||
T0.CORP_COD,
|
|
||||||
T0.AUDIT_COD,
|
|
||||||
T0.PLATFORM_TYPE,
|
|
||||||
T0.STORE_NAME,
|
|
||||||
T0.STORE_TYPE,
|
|
||||||
T0.REGION_TYPE,
|
|
||||||
T0.DATA_SOURCE,
|
|
||||||
CASE WHEN T1.PACK_COD IS NOT NULL THEN 1 ELSE T0.PACK_FLAG END PACK_FLAG,
|
|
||||||
CASE WHEN T2.PROD_COD IS NOT NULL THEN 1 ELSE T0.PROD_FLAG END PROD_FLAG,
|
|
||||||
T0.DTP_FLAG,
|
|
||||||
CASE WHEN T3.CMPS_COD IS NOT NULL THEN 1 ELSE T0.CMPS_FLAG END CMPS_FLAG,
|
|
||||||
T0.NEW_CODE,
|
|
||||||
T0.INST_CODE,
|
|
||||||
T0.AIA_HP_FLAG,
|
|
||||||
T0.DEPT_NAME,
|
|
||||||
T0.H_LEVEL,
|
|
||||||
T0.REIMBURSE,
|
|
||||||
T0.REIMBURSE_TYPE,
|
|
||||||
T0.PRESCRIPTION_TYPE,
|
|
||||||
T0.VA,
|
|
||||||
T0.UT,
|
|
||||||
T0.CU,
|
|
||||||
T0.PT,
|
|
||||||
T0.SALES_UNIT_CAL,
|
|
||||||
T0.SALES_UNIT_CAL_LY,
|
|
||||||
T0.SALES_VALUE_CAL,
|
|
||||||
T0.SALES_VALUE_CAL_LY,
|
|
||||||
T0.CONUTING_UNIT,
|
|
||||||
T0.CONUTING_UNIT_LY,
|
|
||||||
T0.PDOT,
|
|
||||||
T0.PDOT_LY,
|
|
||||||
T0.PRESCRIPTION,
|
|
||||||
T0.PRESCRIPTION_LY,
|
|
||||||
T0.MERGED_DATA_DTP_OTHERS
|
|
||||||
FROM
|
|
||||||
RETAIL_EXTERNAL_SALES AS T0
|
|
||||||
LEFT JOIN (SELECT DISTINCT PACK_COD FROM RETAIL_EXTERNAL_SALES WHERE PACK_FLAG = 1) T1
|
|
||||||
ON T0.PACK_COD = T1.PACK_COD
|
|
||||||
LEFT JOIN (SELECT DISTINCT PROD_COD FROM RETAIL_EXTERNAL_SALES WHERE PROD_FLAG = 1) T2
|
|
||||||
ON T0.PROD_COD = T2.PROD_COD
|
|
||||||
LEFT JOIN (SELECT DISTINCT CMPS_COD FROM RETAIL_EXTERNAL_SALES WHERE CMPS_FLAG = 1) T3
|
|
||||||
ON T0.CMPS_COD = T3.CMPS_COD
|
|
||||||
|
|
||||||
-- COMMAND ----------
|
|
||||||
|
|
||||||
CREATE OR REPLACE TEMPORARY VIEW ALL_EXTERNAL_SALES AS
|
CREATE OR REPLACE TEMPORARY VIEW ALL_EXTERNAL_SALES AS
|
||||||
--DTP
|
--DTP
|
||||||
SELECT
|
SELECT
|
||||||
@@ -287,12 +237,13 @@ SELECT
|
|||||||
1 MERGED_DATA_DTP_OTHERS
|
1 MERGED_DATA_DTP_OTHERS
|
||||||
FROM
|
FROM
|
||||||
DM.DM_TF_EXT_UNIONALL_MARKET_SALES AS T0
|
DM.DM_TF_EXT_UNIONALL_MARKET_SALES AS T0
|
||||||
LEFT JOIN (
|
INNER JOIN (
|
||||||
SELECT
|
SELECT
|
||||||
OTHERS_MONTH
|
OTHERS_MONTH
|
||||||
FROM
|
FROM
|
||||||
tmp.tmp_dm_td_ext_ec_niad_month
|
tmp.tmp_dm_td_ext_ec_niad_month
|
||||||
) T1 --EC取非niad先来数据部分
|
) T1 --EC取非niad先来数据部分
|
||||||
|
ON T0.YYYYMM <= T1.others_month
|
||||||
WHERE
|
WHERE
|
||||||
T0.DATA_SOURCE = 'EC(Monthly)'
|
T0.DATA_SOURCE = 'EC(Monthly)'
|
||||||
AND SUBSTR(T0.YYYYMM, 5, 2) IN ('03', '06', '09', '12')
|
AND SUBSTR(T0.YYYYMM, 5, 2) IN ('03', '06', '09', '12')
|
||||||
@@ -339,7 +290,7 @@ SELECT
|
|||||||
T0.PRESCRIPTION_LY,
|
T0.PRESCRIPTION_LY,
|
||||||
T0.MERGED_DATA_DTP_OTHERS
|
T0.MERGED_DATA_DTP_OTHERS
|
||||||
FROM
|
FROM
|
||||||
RETAIL_EXTERNAL_SALES_ALL AS T0
|
RETAIL_EXTERNAL_SALES AS T0
|
||||||
--OTHERS DATA SOURCE
|
--OTHERS DATA SOURCE
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT
|
SELECT
|
||||||
@@ -389,14 +340,6 @@ WHERE
|
|||||||
|
|
||||||
-- COMMAND ----------
|
-- COMMAND ----------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- COMMAND ----------
|
|
||||||
|
|
||||||
select distinct PACK_FLAG,PROD_FLAG from DM.DM_TF_EXT_UNIONALL_MARKET_SALES where DATA_SOURCE = 'Retail(Quarterly)'
|
|
||||||
|
|
||||||
-- COMMAND ----------
|
|
||||||
|
|
||||||
create or replace table tmp.tmp_tf_ext_aia_target_inst
|
create or replace table tmp.tmp_tf_ext_aia_target_inst
|
||||||
-- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/TMP/tmp_tf_ext_aia_target_inst';
|
-- LOCATION 'abfss://master@azcdatalakeprd.dfs.core.chinacloudapi.cn/TMP/tmp_tf_ext_aia_target_inst';
|
||||||
-- 上面是生产环境location,下面是测试环境location
|
-- 上面是生产环境location,下面是测试环境location
|
||||||
@@ -535,7 +478,7 @@ FROM
|
|||||||
|
|
||||||
-- COMMAND ----------
|
-- COMMAND ----------
|
||||||
|
|
||||||
-- delete from dm.DM_TF_EXT_UNIONALL_SALES_MAPPING where DATA_SOURCE IN ('Retail(Quarterly)', 'EC(Monthly)')
|
delete from dm.DM_TF_EXT_UNIONALL_SALES_MAPPING where DATA_SOURCE IN ('Retail(Quarterly)', 'EC(Monthly)')
|
||||||
|
|
||||||
-- COMMAND ----------
|
-- COMMAND ----------
|
||||||
|
|
||||||
|
|||||||
@@ -209,7 +209,7 @@ SELECT /*+ BROADCAST(m) */
|
|||||||
CAST(round(kpi.DIGITAL_SPREAD_RATE,2) AS string)||'%' AS DIGITAL_SPREAD_RATE,
|
CAST(round(kpi.DIGITAL_SPREAD_RATE,2) AS string)||'%' AS DIGITAL_SPREAD_RATE,
|
||||||
CAST(round(kpi.WEIGHTED_SPREAD_RATE,2) AS string)||'%' AS WEIGHTED_SPREAD_RATE
|
CAST(round(kpi.WEIGHTED_SPREAD_RATE,2) AS string)||'%' AS WEIGHTED_SPREAD_RATE
|
||||||
|
|
||||||
FROM DM.DM_TF_EXT_UNIONALL_MARKET_SALES t
|
FROM DM.DM_TF_EXT_RETAIL_MARKET_SALES t
|
||||||
LEFT SEMI JOIN niad_pack_cods m ON t.PACK_COD = m.PACK_COD
|
LEFT SEMI JOIN niad_pack_cods m ON t.PACK_COD = m.PACK_COD
|
||||||
LEFT JOIN kpi_pivot kpi
|
LEFT JOIN kpi_pivot kpi
|
||||||
ON kpi.pack_code = t.PACK_COD
|
ON kpi.pack_code = t.PACK_COD
|
||||||
|
|||||||
Reference in New Issue
Block a user