Forráskód Böngészése

SQL JSON 添加CAST

zhaoxian 4 éve
szülő
commit
dfbc55179f

+ 7 - 7
module-toutiao/src/main/resources/json_template/bytedance_filed_mapping.json

@@ -16,7 +16,7 @@
     "comment": "点击数"
   },
   "ctr": {
-    "filed": "CASE WHEN sum(t1.click) / sum(t1.show_num) IS NULL THEN 0 ELSE CONCAT( CAST(ROUND((sum(t1.click) / sum(t1.show_num)) * 100,2) AS CHAR) ,'%') END AS ctr ",
+    "filed": "CASE WHEN sum(t1.show_num) != 0 THEN concat(CAST(round( sum(t1.click) /sum(t1.show_num)*100,2) AS CHAR),'%') ELSE '0%' end as ctr ",
     "comment": "点击率"
   },
   "cpc": {
@@ -32,7 +32,7 @@
     "comment": "转化成本"
   },
   "convertRate": {
-    "filed": "CASE WHEN sum(t1.convert_num) / sum(t1.cost) IS NULL THEN 0 ELSE concat(CAST(round(sum(t1.convert_num) / sum(t1.cost)*100,2) AS CHAR) ,'%') end AS convertRate",
+    "filed": "CASE WHEN sum(t1.cost) != 0 THEN concat(CAST(round(sum(t1.convert_num) / sum(t1.cost)*100,2) AS CHAR) ,'%') ELSE '0%' end AS convertRate",
     "comment": "转化率"
   },
   "downloadStart": {
@@ -44,7 +44,7 @@
     "comment": "安卓开始下载成本"
   },
   "downloadStartRate": {
-    "filed": "CASE WHEN sum(t1.download_start) / sum(t1.click) IS NULL THEN 0 ELSE concat(CAST(round(sum(t1.download_start) / sum(t1.click)*100,2) AS CHAR),'%') end AS downloadStartRate ",
+    "filed": "CASE WHEN sum(t1.click) != 0 THEN concat(CAST(round(sum(t1.download_start) / sum(t1.click)*100,2) AS CHAR),'%') ELSE '0%' end AS downloadStartRate ",
     "comment": "安卓开始下载率"
   },
   "downloadFinish": {
@@ -56,7 +56,7 @@
     "comment": "安卓下载完成成本"
   },
   "downloadFinishRate": {
-    "filed": "CASE WHEN sum(t1.install_finish) / sum(t1.download_finish) IS NULL THEN 0 ELSE  concat(CAST(round(sum(t1.install_finish) / sum(t1.download_finish)*100,2) AS CHAR) ,'%') end AS downloadFinishRate ",
+    "filed": "CASE WHEN sum(t1.download_finish) != 0 THEN  concat(CAST(round(sum(t1.install_finish) / sum(t1.download_finish)*100,2) AS CHAR) ,'%') ELSE '0%' end  AS downloadFinishRate ",
     "comment": "安卓下载完成率"
   },
   "active": {
@@ -68,7 +68,7 @@
     "comment": "激活成本"
   },
   "activeRate": {
-    "filed": "CASE WHEN sum(t1.active) / sum(t1.click) IS NULL THEN 0 ELSE concat(CAST(round(sum(t1.active) / sum(t1.click)*100,2) AS CHAR) ,'%') end as activeRate ",
+    "filed": "CASE WHEN sum(t1.click) != 0 THEN concat(CAST(round(sum(t1.active) / sum(t1.click)*100,2) AS CHAR) ,'%') ELSE '0%' end as activeRate ",
     "comment": "激活率"
   },
   "register": {
@@ -80,7 +80,7 @@
     "comment": "注册成本"
   },
   "activeRegisterRate": {
-    "filed": " CASE WHEN sum(t1.register) / sum(t1.active) IS NULL THEN 0 ELSE concat(CAST(round(sum(t1.register) / sum(t1.active)*100,2) AS CHAR) ,'%') end as activeRegisterRate ",
+    "filed": " CASE WHEN sum(t1.active) != 0 THEN concat(CAST(round(sum(t1.register) / sum(t1.active)*100,2) AS CHAR) ,'%') ELSE '0%' end as activeRegisterRate ",
     "comment": "注册率"
   },
   "nextDayOpen": {
@@ -92,7 +92,7 @@
     "comment": "次留成本"
   },
   "nextDayOpenRate": {
-    "filed": "CASE WHEN sum(t1.next_day_open) / sum(t1.active) IS NULL THEN 0 ELSE concat(CAST(round(sum(t1.next_day_open) / sum(t1.active)*100,2) AS CHAR) ,'%') end as nextDayOpenRate ",
+    "filed": "CASE WHEN sum(t1.active) != 0 THEN concat(CAST(round(sum(t1.next_day_open) / sum(t1.active)*100,2) AS CHAR) ,'%') ELSE '0%' end as nextDayOpenRate ",
     "comment": "次留率"
   },
   "activePayAmount": {

+ 8 - 8
module-toutiao/src/main/resources/json_template/bytedance_video_report_mapping.json

@@ -16,7 +16,7 @@
     "comment": "点击数"
   },
   "ctr": {
-    "filed": "CASE WHEN sum(t1.click) / sum(t1.material_show) IS NULL THEN 0 ELSE CONCAT(CAST(ROUND((sum(t1.click) / sum(t1.material_show)) * 100,2) AS CHAR) ,'%') END AS ctr",
+    "filed": "CASE WHEN sum(t1.material_show) != 0 THEN CONCAT(CAST(ROUND((sum(t1.click) / sum(t1.material_show)) * 100,2) AS CHAR) ,'%') ELSE '0%' end  AS ctr",
     "comment": "点击率"
   },
   "cpc": {
@@ -32,7 +32,7 @@
     "comment": "转化成本"
   },
   "convertRate": {
-    "filed": "CASE WHEN sum(t1.convert_material) / sum(t1.material_show) IS NULL THEN 0 ELSE concat(CAST(round(sum(t1.convert_material) / sum(t1.material_show)*100,2) AS CHAR) ,'%') end AS convertRate ",
+    "filed": "CASE WHEN sum(t1.material_show)!= 0 THEN concat(CAST(round(sum(t1.convert_material) / sum(t1.material_show)*100,2) AS CHAR) ,'%') ELSE '0%' end  AS convertRate ",
     "comment": "转化率"
   },
   "downloadStart": {
@@ -44,7 +44,7 @@
     "comment": "安卓开始下载成本"
   },
   "downloadStartRate": {
-    "filed": "CASE WHEN sum(t1.download_start) / sum(t1.click) IS NULL THEN 0 ELSE concat(CAST(round(sum(t1.download_start) / sum(t1.click)*100,2) AS CHAR) ,'%') end AS downloadStartRate ",
+    "filed": "CASE WHEN sum(t1.click) != 0 THEN concat(CAST(round(sum(t1.download_start) / sum(t1.click)*100,2) AS CHAR) ,'%') ELSE '0%' end  AS downloadStartRate ",
     "comment": "安卓开始下载率"
   },
   "downloadFinish": {
@@ -56,7 +56,7 @@
     "comment": "安卓下载完成成本"
   },
   "downloadFinishRate": {
-    "filed": "CASE WHEN sum(t1.install_finish) / sum(t1.download_finish) IS NULL THEN 0 ELSE  concat(CAST(round(sum(t1.install_finish) / sum(t1.download_finish)*100,2) AS CHAR),'%') end AS downloadFinishRate ",
+    "filed": "CASE WHEN sum(t1.download_finish) != 0 THEN concat(CAST(round(sum(t1.install_finish) / sum(t1.download_finish)*100,2) AS CHAR),'%') ELSE '0%' end  AS downloadFinishRate ",
     "comment": "安卓下载完成率"
   },
   "active": {
@@ -68,7 +68,7 @@
     "comment": "激活成本"
   },
   "activeRate": {
-    "filed": "CASE WHEN sum(t1.active) / sum(t1.click) IS NULL THEN 0 ELSE concat( CAST(round(sum(t1.active) / sum(t1.click)*100,2) AS CHAR),'%') end as activeRate",
+    "filed": "CASE WHEN sum(t1.click)!= 0 THEN concat( CAST(round(sum(t1.active) / sum(t1.click)*100,2) AS CHAR),'%') ELSE '0%' end  as activeRate",
     "comment": "激活率"
   },
   "register": {
@@ -80,7 +80,7 @@
     "comment": "注册成本"
   },
   "activeRegisterRate": {
-    "filed": " CASE WHEN sum(t1.register) / sum(t1.active) IS NULL THEN 0 ELSE concat(CAST(round(sum(t1.register) / sum(t1.active)*100,2) AS CHAR) ,'%') end as activeRegisterRate ",
+    "filed": " CASE WHEN sum(t1.active) != 0 THEN concat(CAST(round(sum(t1.register) / sum(t1.active)*100,2) AS CHAR) ,'%') ELSE '0%' end  as activeRegisterRate ",
     "comment": "注册率"
   },
   "gameAddiction": {
@@ -92,7 +92,7 @@
     "comment": "关键行为成本"
   },
   "gameAddictionRate": {
-    "filed": "CASE WHEN sum(t1.game_addiction) / sum(t1.active) IS NULL THEN 0 ELSE concat(CAST(round(sum(t1.game_addiction) / sum(t1.active)*100,2) AS CHAR),'%') end as gameAddictionRate",
+    "filed": "CASE WHEN sum(t1.active)!= 0 THEN concat(CAST(round(sum(t1.game_addiction) / sum(t1.active)*100,2) AS CHAR),'%') ELSE '0%' end  as gameAddictionRate",
     "comment": "关键行为率"
   },
   "nextDayOpen": {
@@ -104,7 +104,7 @@
     "comment": "次留成本"
   },
   "nextDayOpenRate": {
-    "filed": "CASE WHEN sum(t1.next_day_open) / sum(t1.active) IS NULL THEN 0 ELSE concat(CAST(round(sum(t1.next_day_open) / sum(t1.active)*100,2) AS CHAR) ,'%') end as nextDayOpenRate ",
+    "filed": "CASE WHEN  sum(t1.active)!= 0 THEN concat(CAST(round(sum(t1.next_day_open) / sum(t1.active)*100,2) AS CHAR) ,'%') ELSE '0%' end  as nextDayOpenRate ",
     "comment": "次留率"
   },
   "activePayAmount": {