大資料實戰(六十):電商數倉(四十三)之系統業務資料倉庫(十六)統計每個月訂單付款率
阿新 • • 發佈:2020-08-23
1 DWS層
採用使用者行為寬表作為DWS層
2 ADS層
2.1 建表語句
drop table if exists ads_order2pay_mn; create external table ads_order2pay_mn ( `dt` string COMMENT '統計日期', `order_u_count` bigint COMMENT '下單人數', `payment_u_count` bigint COMMENT '支付人數', `order2payment_convert_ratio` decimal(10,2) COMMENT 'View Code下單到支付的轉化率' ) COMMENT '' row format delimited fields terminated by '\t' location '/warehouse/gmall/ads/ ads_order2pay_mn /';
2.2 匯入資料
-----------------------------需求--統計每個月訂單付款率---------------------
訂單付款率: 訂單支付數 / 訂單下單數
-----------------------------相關表---------------------
dws_user_action(推薦): 每個使用者每天的下單數和支付數
取一個月,所有使用者的下單數累加,和所有使用者的支付數累加
-----------------------------SQL------------------------
insert into TABLE ads_order2pay_mn
SELECT
'2020-02-16',
sum(order_count) order_u_count,
sum(payment_count) payment_u_count,
cast(sum(payment_count)/ sum(order_count) * 100 as decimal(10,2)) order2payment_convert_ratio
where date_format(dt,'yyyy-MM')=date_format('2020-02-16','yyyy-MM')