数据仓库金融练习-11月退货率和 年均退货率

注意:所需数据库信息 自行导入

百度盘子链:链接:https://pan.baidu.com/s/1z9oDeslTNW_WXxhW3067Nw 
提取码:yinf

-- 问题:11月退货率和 年均退货率


# dwd表不变就采用原来的dwd_sale_info
#相当于两个问题 做两个dws表  

-- (1)11月退货率

-- 需要 -1求11退货量(来自dwd_sale_info 2022年11月份状态为6的product_num求和) -2总已支付量(来自dwd_sale_info 2022年11月份状态为6的作为总销售量product_num) -3二者相除为退货率


-- 创建表 dws表


CREATE TABLE dws_refund_rate_november_zhangsan (
  id INT AUTO_INCREMENT PRIMARY KEY,
  refund_count INT,
  total_sales INT,
  refund_rate DECIMAL(5, 2)
);

-- 计算11月退货量


INSERT INTO dws_refund_rate_november_zhangsan (refund_count)
SELECT SUM(product_num)
FROM dwd_sale_info
WHERE YEAR(create_time) = 2022
  AND MONTH(create_time) = 11
  AND order_status = 6;

-- 计算2022总已支付量


UPDATE dws_refund_rate_november_zhangsan
SET total_sales = (
  SELECT SUM(product_num)
  FROM dwd_sale_info
  WHERE YEAR(create_time) = 2022
    AND order_status = 1
);


-- 计算退货率


UPDATE dws_refund_rate_november_zhangsan
SET refund_rate = refund_count / total_sales;

-- 创建名为 ads_refund_rate_november_zhangsan 的表
CREATE TABLE ads_refund_rate_november_zhangsan (
  id INT AUTO_INCREMENT PRIMARY KEY,
  refund_rate DECIMAL(5, 2)
);

-- 插入11月的退款率数据


INSERT INTO ads_refund_rate_november_zhangsan (refund_rate)
SELECT refund_rate
FROM dws_refund_rate_november_zhangsan;


-- (2)年均退货率

-- 需要  -1年退货量(来自dwd_sale_info 2022年状态为6的product_num求和) -2总已支付量(来自dwd_sale_info 2022年状态为1的作为总销售量product_num) -3二者相除为退货率

-- 创建名dws表


CREATE TABLE dws_annual_refund_rate_zhangsan  (
  id INT AUTO_INCREMENT PRIMARY KEY,
  refund_count INT,
  total_sales INT,
  annual_refund_rate DECIMAL(5, 2)
);

-- 计算去年的退货量


INSERT INTO dws_annual_refund_rate_zhangsan  (refund_count)
SELECT SUM(product_num)
FROM dwd_sale_info
WHERE YEAR(create_time) = 2022
  AND order_status = 6;

-- 计算总已支付量


UPDATE dws_annual_refund_rate_zhangsan 
SET total_sales = (
  SELECT SUM(product_num)
  FROM dwd_sale_info
  WHERE YEAR(create_time) = 2022
    AND order_status = 1
);

-- 计算年均退货率


UPDATE dws_annual_refund_rate_zhangsan 
SET annual_refund_rate = refund_count / total_sales;

-- 创建名为 ads_annual_refund_rate_zhangsan 的表
CREATE TABLE ads_annual_refund_rate_zhangsan (
  id INT AUTO_INCREMENT PRIMARY KEY,
  annual_refund_rate DECIMAL(5, 2)
);

-- 插入年均退款率数据


INSERT INTO ads_annual_refund_rate_zhangsan (annual_refund_rate)
SELECT
  annual_refund_rate
FROM
  dws_annual_refund_rate_zhangsan;


(3) 查看表结构


DESCRIBE dwd_sale_info;
DESCRIBE dws_refund_rate_november_zhangsan;
DESCRIBE dws_annual_refund_rate_zhangsan;
DESCRIBE ads_refund_rate_november_zhangsan;
DESCRIBE ads_annual_refund_rate_zhangsan;

制作不易 多多支持~~~~~~~~~

                                                                                                                     作者:尹凡

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值