1. 程式人生 > 實用技巧 >大資料實戰(六十):電商數倉(四十三)之系統業務資料倉庫(十六)統計每個月訂單付款率

大資料實戰(六十):電商數倉(四十三)之系統業務資料倉庫(十六)統計每個月訂單付款率

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 '
下單到支付的轉化率' ) COMMENT '' row format delimited fields terminated by '\t' location '/warehouse/gmall/ads/ ads_order2pay_mn /';
View Code

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
from dws_user_action
where date_format(dt,'yyyy-MM')=date_format('2020-02-16','yyyy-MM')