1759 lines
52 KiB
Plaintext
1759 lines
52 KiB
Plaintext
-- 三、数据分析
|
||
----------------------------
|
||
-- 分析条件一
|
||
----------------------------
|
||
-- 1.1.1.1 线下各店铺每年度销售金额、订单数量、订单均价
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
a.store_code AS "店铺编码",
|
||
b.store_name AS "店铺名称",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.sale_amt
|
||
ELSE toDecimal64(toDecimal64(a.sale_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END) AS "销售金额(元)",
|
||
COUNT(DISTINCT CONCAT(a.store_code,a.receipt_no)) AS "订单数量",
|
||
CASE
|
||
WHEN "订单数量" = 0 THEN 0
|
||
ELSE ROUND("销售金额(元)"/"订单数量",2)
|
||
END AS "订单均价(元)"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS sale_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM custom_offline_sale_return_settle_local
|
||
WHERE sale_status = '销售'
|
||
GROUP BY store_code, receipt_no
|
||
) a
|
||
LEFT JOIN( SELECT store_code, store_name FROM custom_store_info_all_local csial ) b ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r ON r.settle_year = toString(toYear(a.saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY "年份","店铺编码","店铺名称"
|
||
ORDER BY toYear(a.saletime) ASC,"销售金额(元)" DESC;
|
||
|
||
|
||
-- 1.1.1.2-1 线下各店铺关联原单每年度净销售
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
a.store_code AS "店铺编码",
|
||
b.store_name AS "店铺名称",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.sale_amt
|
||
ELSE toDecimal64(toDecimal64(a.sale_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END) AS "净销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS sale_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM custom_offline_sale_return_settle_local
|
||
GROUP BY store_code, receipt_no
|
||
) a
|
||
LEFT JOIN( SELECT store_code,store_name FROM custom_store_info_all_local csial ) b ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r ON r.settle_year = toString(toYear(a.saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY "年份", "店铺编码", "店铺名称"
|
||
ORDER BY toYear(a.saletime) ASC, "净销售金额(元)" DESC;
|
||
|
||
|
||
-- 1.1.1.2-2 线下各店铺关联原单24年度净销售
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
a.store_code AS "店铺编码",
|
||
b.store_name AS "店铺名称",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.sale_amt
|
||
ELSE toDecimal64(toDecimal64(a.sale_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END) AS "净销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS sale_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM custom_offline_sale_return_settle_local
|
||
GROUP BY store_code, receipt_no
|
||
) a
|
||
LEFT JOIN( SELECT store_code,store_name FROM custom_store_info_all_local csial ) b ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r ON r.settle_year = toString(toYear(a.saletime)) AND r.store_nature = a.store_nature
|
||
WHERE a.saletime >= '2024-01-01 00:00:00' AND a.saletime <'2024-07-01 00:00:00'
|
||
GROUP BY "年份", "店铺编码", "店铺名称"
|
||
ORDER BY toYear(a.saletime) ASC, "净销售金额(元)" DESC;
|
||
|
||
-- 1.1.1.2-3 线下各店铺不关联原单每年度净销售金额
|
||
SELECT
|
||
a.sale_year AS "年份",
|
||
a.store_code AS "店铺编码",
|
||
b.store_name AS "店铺名称",
|
||
a.settle_amt AS "净销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
toYear(sale_time) AS sale_year,
|
||
store_code,
|
||
SUM(toDecimal64(toDecimal64(goods_amt,4)*toDecimal64(settle_ratio,4),2)) AS settle_amt
|
||
FROM
|
||
custom_offline_sale_return_settle_local cosrl
|
||
GROUP BY
|
||
sale_year, store_code
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
ORDER BY
|
||
"年份" ASC, "净销售金额(元)" DESC;
|
||
|
||
-- 1.1.1.2-4 线下各店铺不关联原单24年度净销售金额
|
||
SELECT
|
||
a.sale_year AS "年份",
|
||
a.store_code AS "店铺编码",
|
||
b.store_name AS "店铺名称",
|
||
a.settle_amt AS "净销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
toYear(sale_time) AS sale_year,
|
||
store_code,
|
||
SUM(toDecimal64(toDecimal64(goods_amt,4)*toDecimal64(settle_ratio,4),2)) AS settle_amt
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
WHERE
|
||
sale_time >= '2024-01-01 00:00:00' AND sale_time <'2024-07-01 00:00:00'
|
||
GROUP BY
|
||
sale_year, store_code
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
ORDER BY
|
||
"年份" ASC, "净销售金额(元)" DESC;
|
||
|
||
-- 1.1.2.1-1 线下按品牌关联原单按年统计净销售金额
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
a.brand_code AS "品牌编码",
|
||
CASE
|
||
WHEN brand_code = 'HLA' THEN '海澜之家'
|
||
WHEN brand_code = 'YEO' THEN '英氏'
|
||
WHEN brand_code = 'NCL' THEN '男生女生'
|
||
WHEN brand_code = 'OVV' THEN 'OVV'
|
||
WHEN brand_code = 'HLM' THEN '海澜优选'
|
||
WHEN brand_code = 'BES' THEN '海一家'
|
||
WHEN brand_code = 'HGS' THEN '蓝鲸'
|
||
WHEN brand_code = 'HJS' THEN '黑鲸'
|
||
WHEN brand_code = 'SBZ' THEN '斯搏兹'
|
||
WHEN brand_code = 'JXH' THEN '京新海'
|
||
WHEN brand_code = 'HED' THEN 'HEAD'
|
||
WHEN brand_code = 'HLX' THEN '海澜之家甄选好鞋'
|
||
WHEN brand_code = 'HLP' THEN 'HLA PLUS'
|
||
END AS "品牌名称",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.net_sale
|
||
ELSE toDecimal64(toDecimal64(a.net_sale,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END) AS "净销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS net_sale,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
GROUP BY
|
||
store_code ,receipt_no
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
"年份","品牌编码","品牌名称"
|
||
ORDER BY
|
||
toYear(a.saletime) ASC, "净销售金额(元)" DESC;
|
||
|
||
|
||
-- 1.1.2.1-2 按品牌关联原单统计24年上半年净销售金额
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
a.brand_code AS "品牌编码",
|
||
CASE
|
||
WHEN brand_code = 'HLA' THEN '海澜之家'
|
||
WHEN brand_code = 'YEO' THEN '英氏'
|
||
WHEN brand_code = 'NCL' THEN '男生女生'
|
||
WHEN brand_code = 'OVV' THEN 'OVV'
|
||
WHEN brand_code = 'HLM' THEN '海澜优选'
|
||
WHEN brand_code = 'BES' THEN '海一家'
|
||
WHEN brand_code = 'HGS' THEN '蓝鲸'
|
||
WHEN brand_code = 'HJS' THEN '黑鲸'
|
||
WHEN brand_code = 'SBZ' THEN '斯搏兹'
|
||
WHEN brand_code = 'JXH' THEN '京新海'
|
||
WHEN brand_code = 'HED' THEN 'HEAD'
|
||
WHEN brand_code = 'HLX' THEN '海澜之家甄选好鞋'
|
||
WHEN brand_code = 'HLP' THEN 'HLA PLUS'
|
||
END AS "品牌名称",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.net_sale
|
||
ELSE toDecimal64(toDecimal64(a.net_sale,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END) AS "净销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS net_sale,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
GROUP BY
|
||
store_code ,receipt_no
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(saletime)) AND r.store_nature = a.store_nature
|
||
WHERE a.saletime >= '2024-01-01 00:00:00' AND a.saletime <'2024-07-01 00:00:00'
|
||
GROUP BY
|
||
"年份","品牌编码","品牌名称"
|
||
ORDER BY
|
||
toYear(a.saletime) ASC, "净销售金额(元)" DESC;
|
||
|
||
-- 1.1.2.1-3 线下按品牌不关联原单按年统计净销售金额
|
||
SELECT
|
||
a.sale_year AS "年份",
|
||
a.brand_code AS "品牌编码",
|
||
a.brand_name AS "品牌名称",
|
||
a.amt AS "净销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
toYear(sale_time) AS sale_year,
|
||
brand_code,
|
||
CASE
|
||
WHEN brand_code = 'HLA' THEN '海澜之家'
|
||
WHEN brand_code = 'YEO' THEN '英氏'
|
||
WHEN brand_code = 'NCL' THEN '男生女生'
|
||
WHEN brand_code = 'OVV' THEN 'OVV'
|
||
WHEN brand_code = 'HLM' THEN '海澜优选'
|
||
WHEN brand_code = 'BES' THEN '海一家'
|
||
WHEN brand_code = 'HGS' THEN '蓝鲸'
|
||
WHEN brand_code = 'HJS' THEN '黑鲸'
|
||
WHEN brand_code = 'SBZ' THEN '斯搏兹'
|
||
WHEN brand_code = 'JXH' THEN '京新海'
|
||
WHEN brand_code = 'HED' THEN 'HEAD'
|
||
WHEN brand_code = 'HLX' THEN '海澜之家甄选好鞋'
|
||
WHEN brand_code = 'HLP' THEN 'HLA PLUS'
|
||
END AS brand_name,
|
||
SUM(toDecimal64(toDecimal64(goods_amt,4)*toDecimal64(settle_ratio,4),2)) AS amt
|
||
FROM
|
||
custom_offline_sale_return_settle_local cosrl
|
||
GROUP BY
|
||
sale_year, brand_code,brand_name
|
||
) a
|
||
ORDER BY
|
||
a.sale_year ASC, "净销售金额(元)" DESC;
|
||
|
||
|
||
|
||
-- 1.1.2.1-4 线下按品牌不关联原单统计24年净销售金额
|
||
SELECT
|
||
a.sale_year AS "年份",
|
||
a.brand_code AS "品牌编码",
|
||
a.brand_name AS "品牌名称",
|
||
a.amt AS "净销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
toYear(sale_time) AS sale_year,
|
||
brand_code,
|
||
CASE
|
||
WHEN brand_code = 'HLA' THEN '海澜之家'
|
||
WHEN brand_code = 'YEO' THEN '英氏'
|
||
WHEN brand_code = 'NCL' THEN '男生女生'
|
||
WHEN brand_code = 'OVV' THEN 'OVV'
|
||
WHEN brand_code = 'HLM' THEN '海澜优选'
|
||
WHEN brand_code = 'BES' THEN '海一家'
|
||
WHEN brand_code = 'HGS' THEN '蓝鲸'
|
||
WHEN brand_code = 'HJS' THEN '黑鲸'
|
||
WHEN brand_code = 'SBZ' THEN '斯搏兹'
|
||
WHEN brand_code = 'JXH' THEN '京新海'
|
||
WHEN brand_code = 'HED' THEN 'HEAD'
|
||
WHEN brand_code = 'HLX' THEN '海澜之家甄选好鞋'
|
||
WHEN brand_code = 'HLP' THEN 'HLA PLUS'
|
||
END AS brand_name,
|
||
SUM(toDecimal64(toDecimal64(goods_amt,4)*toDecimal64(settle_ratio,4),2)) AS amt
|
||
FROM
|
||
custom_offline_sale_return_settle_local cosrl
|
||
WHERE
|
||
sale_time >= '2024-01-01 00:00:00' AND sale_time < '2024-07-01 00:00:00'
|
||
GROUP BY
|
||
sale_year, brand_code,brand_name
|
||
) a
|
||
ORDER BY
|
||
a.sale_year ASC, "净销售金额(元)" DESC;
|
||
|
||
|
||
-- 1.1.2.2-5 线下海外品牌关联原单年度净销售
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
CASE
|
||
WHEN a.brand_code = '' THEN d.brand_code
|
||
WHEN a.brand_code <>'' THEN a.brand_code
|
||
END AS "品牌编码",
|
||
CASE
|
||
WHEN "品牌编码" = 'HLA' THEN '海澜之家'
|
||
WHEN "品牌编码" = 'YEO' THEN '英氏'
|
||
WHEN "品牌编码" = 'NCL' THEN '男生女生'
|
||
WHEN "品牌编码" = 'OVV' THEN 'OVV'
|
||
WHEN "品牌编码" = 'HLM' THEN '海澜优选'
|
||
WHEN "品牌编码" = 'BES' THEN '海一家'
|
||
WHEN "品牌编码" = 'HGS' THEN '蓝鲸'
|
||
WHEN "品牌编码" = 'HJS' THEN '黑鲸'
|
||
WHEN "品牌编码" = 'SBZ' THEN '斯搏兹'
|
||
WHEN "品牌编码" = 'JXH' THEN '京新海'
|
||
WHEN "品牌编码" = 'HED' THEN 'HEAD'
|
||
WHEN "品牌编码" = 'HLX' THEN '海澜之家甄选好鞋'
|
||
WHEN "品牌编码" = 'HLP' THEN 'HLA PLUS'
|
||
WHEN "品牌编码" = 'EHT' THEN '爱居兔'
|
||
WHEN "品牌编码" = 'STA' THEN '思加图'
|
||
ELSE "品牌编码"
|
||
END AS "品牌名称",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.net_sale
|
||
ELSE toDecimal64(toDecimal64(a.net_sale,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END) AS "净销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS net_sale,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_abroad_sale_return_settle_local
|
||
GROUP BY
|
||
store_code ,receipt_no
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(saletime)) AND r.store_nature = a.store_nature
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
MIN(brand_code) AS brand_code
|
||
FROM
|
||
dim_hkaudit_store_other_mt
|
||
GROUP BY store_code
|
||
)d
|
||
ON a.store_code = d.store_code
|
||
GROUP BY
|
||
"年份","品牌编码","品牌名称"
|
||
ORDER BY
|
||
toYear(a.saletime) ASC, "净销售金额(元)" DESC;
|
||
|
||
-- 1.1.2.2-6 线下海外品牌不关联原单年度净销售
|
||
SELECT
|
||
a.sale_year AS "年份",
|
||
a.brand_code AS "品牌编码",
|
||
a.brand_name AS "品牌名称",
|
||
a.amt AS "净销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
toYear(sale_time) AS sale_year,
|
||
CASE
|
||
WHEN brand_code = '' THEN d.brand_code
|
||
WHEN brand_code <>'' THEN brand_code
|
||
END AS brand_code,
|
||
CASE
|
||
WHEN brand_code = 'HLA' THEN '海澜之家'
|
||
WHEN brand_code = 'YEO' THEN '英氏'
|
||
WHEN brand_code = 'NCL' THEN '男生女生'
|
||
WHEN brand_code = 'OVV' THEN 'OVV'
|
||
WHEN brand_code = 'HLM' THEN '海澜优选'
|
||
WHEN brand_code = 'BES' THEN '海一家'
|
||
WHEN brand_code = 'HGS' THEN '蓝鲸'
|
||
WHEN brand_code = 'HJS' THEN '黑鲸'
|
||
WHEN brand_code = 'SBZ' THEN '斯搏兹'
|
||
WHEN brand_code = 'JXH' THEN '京新海'
|
||
WHEN brand_code = 'HED' THEN 'HEAD'
|
||
WHEN brand_code = 'HLX' THEN '海澜之家甄选好鞋'
|
||
WHEN brand_code = 'HLP' THEN 'HLA PLUS'
|
||
WHEN brand_code = 'EHT' THEN '爱居兔'
|
||
WHEN brand_code = 'STA' THEN '思加图'
|
||
ELSE brand_code
|
||
END AS brand_name,
|
||
SUM(toDecimal64(toDecimal64(goods_amt,4)*toDecimal64(settle_ratio,4),2)) AS amt
|
||
FROM
|
||
custom_offline_abroad_sale_return_settle_local c
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
MIN(brand_code) AS brand_code
|
||
FROM
|
||
dim_hkaudit_store_other_mt
|
||
GROUP BY store_code
|
||
)d
|
||
ON c.store_code = d.store_code
|
||
GROUP BY
|
||
sale_year, brand_code, brand_name
|
||
) a
|
||
ORDER BY
|
||
a.sale_year ASC, "净销售金额(元)" DESC;
|
||
|
||
|
||
|
||
-- 1.1.3.1-1 线下按照门店性质关联原单统计销售金额、订单数量、订单均价
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
a.store_nature AS "门店性质",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.sale_amt
|
||
ELSE toDecimal64(toDecimal64(a.sale_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END) AS "销售金额(元)",
|
||
COUNT(DISTINCT CONCAT(a.store_code,a.receipt_no)) AS "订单数量",
|
||
CASE
|
||
WHEN "订单数量" = 0 THEN 0
|
||
ELSE ROUND(SUM(a.sale_amt)/"订单数量",2)
|
||
END AS "订单均价(元)"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS sale_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM custom_offline_sale_return_settle_local
|
||
WHERE sale_status = '销售'
|
||
GROUP BY store_code, receipt_no
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
"年份","门店性质"
|
||
ORDER BY
|
||
toYear(a.saletime) ASC,"销售金额(元)" DESC;
|
||
|
||
|
||
|
||
|
||
-- 1.1.3.1-2 线下按照门店性质关联原单统计24年销售金额、订单数量、订单均价
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
a.store_nature AS "门店性质",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.sale_amt
|
||
ELSE toDecimal64(toDecimal64(a.sale_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END) AS "销售金额(元)",
|
||
COUNT(DISTINCT CONCAT(a.store_code,a.receipt_no)) AS "订单数量",
|
||
CASE
|
||
WHEN "订单数量" = 0 THEN 0
|
||
ELSE ROUND(SUM(a.sale_amt)/"订单数量",2)
|
||
END AS "订单均价(元)"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS sale_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM custom_offline_sale_return_settle_local
|
||
WHERE sale_status = '销售'
|
||
GROUP BY store_code, receipt_no
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(saletime)) AND r.store_nature = a.store_nature
|
||
WHERE a.saletime >='2024-01-01 00:00:00' AND a.saletime <'2024-07-01 00:00:00'
|
||
GROUP BY
|
||
"年份","门店性质"
|
||
ORDER BY
|
||
toYear(a.saletime) ASC,"销售金额(元)" DESC;
|
||
|
||
|
||
|
||
|
||
|
||
-- 1.1.3.2 线下按门店性质关联原单统计净销售金额
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
a.store_nature AS "门店性质",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.sale_amt
|
||
ELSE toDecimal64(toDecimal64(a.sale_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END) AS "净销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS sale_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM custom_offline_sale_return_settle_local
|
||
GROUP BY store_code, receipt_no
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
"年份","门店性质"
|
||
ORDER BY
|
||
toYear(a.saletime) ASC,"净销售金额(元)" DESC;
|
||
|
||
|
||
|
||
-- 1.1.3.2 线下按门店性质关联原单统计24年净销售金额
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
a.store_nature AS "门店性质",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.sale_amt
|
||
ELSE toDecimal64(toDecimal64(a.sale_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END) AS "净销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS sale_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM custom_offline_sale_return_settle_local
|
||
GROUP BY store_code, receipt_no
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(saletime)) AND r.store_nature = a.store_nature
|
||
WHERE a.saletime >='2024-01-01 00:00:00' AND a.saletime <'2024-07-01 00:00:00'
|
||
GROUP BY
|
||
"年份","门店性质"
|
||
ORDER BY
|
||
toYear(a.saletime) ASC,"净销售金额(元)" DESC;
|
||
|
||
|
||
|
||
|
||
-- 1.1.3.3 线下按门店性质不关联原单统计净销售金额
|
||
SELECT
|
||
toYear(a.sale_time) AS "年份",
|
||
a.store_nature AS "门店性质",
|
||
SUM(toDecimal64(toDecimal64(goods_amt,4)*toDecimal64(settle_ratio,4),2)) AS "净销售金额"
|
||
FROM custom_offline_sale_return_settle_local a
|
||
GROUP BY "年份","门店性质"
|
||
ORDER BY "年份","门店性质";
|
||
|
||
|
||
|
||
-- 1.1.3.3 线下按门店性质不关联原单统计24年净销售
|
||
SELECT
|
||
toYear(a.sale_time) AS "年份",
|
||
a.store_nature AS "门店性质",
|
||
SUM(toDecimal64(toDecimal64(goods_amt,4)*toDecimal64(settle_ratio,4),2)) AS "净销售金额"
|
||
FROM custom_offline_sale_return_settle_local a
|
||
WHERE a.sale_time >= '2024-01-01 00:00:00' AND a.sale_time <'2024-07-01 00:00:00'
|
||
GROUP BY "年份","门店性质"
|
||
ORDER BY "年份","门店性质";
|
||
|
||
|
||
|
||
-- 1.1.4 线下店铺月度销售金额
|
||
SELECT
|
||
a.sale_year AS "年份",
|
||
a.sale_month AS "月份",
|
||
a.store_code AS "店铺编码",
|
||
b.store_name AS "店铺名称",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.sale_amt
|
||
ELSE toDecimal64(toDecimal64(a.sale_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END) AS "销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
store_code,
|
||
MIN(toYear(sale_time)) AS sale_year,
|
||
MIN(toMonth(sale_time)) AS sale_month,
|
||
receipt_no,
|
||
SUM(goods_amt) AS sale_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
WHERE sale_status = '销售'
|
||
GROUP BY
|
||
store_code,receipt_no
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(sale_year) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
a.sale_year,a.sale_month,a.store_code,b.store_name
|
||
ORDER BY
|
||
a.store_code ASC, a.sale_year ASC,a.sale_month ASC;
|
||
|
||
-- 1.1.5 线下每年前五店铺单笔订单金额分布
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
a.store_code AS "店铺编码",
|
||
b.store_name AS "店铺名称",
|
||
CASE
|
||
WHEN amt <200 THEN '<200'
|
||
WHEN amt >=200 AND amt <500 THEN '200-500'
|
||
WHEN amt >=500 AND amt <1000 THEN '500-1000'
|
||
WHEN amt >=1000 AND amt <2500 THEN '1000-2500'
|
||
WHEN amt >=2500 AND amt <5000 THEN '2500-5000'
|
||
WHEN amt >=5000 THEN '≥5000'
|
||
END AS "单笔订单销售金额(元)",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.order_amt
|
||
ELSE toDecimal64(toDecimal64(a.order_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END AS amt) AS "销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
store_code,
|
||
receipt_no,
|
||
MIN(sale_time) AS saletime,
|
||
SUM(goods_amt) AS order_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
WHERE
|
||
sale_status = '销售'
|
||
AND store_code IN ('H056','B106','H2XF','F003','H05X','H66J','H53Z','S1538','B34W','S100001','S100006','S100011')
|
||
GROUP BY store_code, receipt_no
|
||
) a
|
||
lEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
"年份","店铺编码", "店铺名称","单笔订单销售金额(元)"
|
||
ORDER BY
|
||
"年份","店铺编码",
|
||
CASE
|
||
WHEN "单笔订单销售金额(元)"='<200' THEN 1
|
||
WHEN "单笔订单销售金额(元)"='200-500'THEN 2
|
||
WHEN "单笔订单销售金额(元)"='500-1000' THEN 3
|
||
WHEN "单笔订单销售金额(元)"='1000-2500' THEN 4
|
||
WHEN "单笔订单销售金额(元)"='2500-5000' THEN 5
|
||
WHEN "单笔订单销售金额(元)"='≥5000' THEN 6
|
||
END ASC;
|
||
|
||
|
||
-- 1.2.1 线下每年各产品数量、产品销售金额
|
||
SELECT
|
||
a.sale_year AS "年份",
|
||
a.barcode AS "商品编码",
|
||
b.goods_desc AS "商品名称",
|
||
SUM(a.qty) AS "产品数量",
|
||
SUM(a.settle_amt) AS "销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
toYear(sale_time) AS sale_year,
|
||
barcode,
|
||
toDecimal64(toDecimal64(goods_amt,4)*toDecimal64(settle_ratio,4),2) AS settle_amt,
|
||
sale_status,
|
||
qty
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
WHERE
|
||
sale_status = '销售'
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT barcode, MAX(goods_desc) AS goods_desc
|
||
FROM (SELECT barcode, goods_desc FROM dim_hkaudit_goods_mt WHERE country = 'CN'
|
||
UNION ALL
|
||
SELECT barcode, goods_desc FROM dim_hkaudit_goods_other_mt
|
||
) GROUP BY barcode
|
||
) b
|
||
ON a.barcode = b.barcode
|
||
GROUP BY
|
||
a.sale_year,a.barcode,b.goods_desc
|
||
ORDER BY
|
||
"销售金额(元)" DESC
|
||
LIMIT 1000;
|
||
|
||
-- 2.1.1 线下每年各店铺所在省份销售金额、订单数量及占比
|
||
SELECT
|
||
toYear(a.min_sale_time) AS "年份",
|
||
b.province AS "省份",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.goods_amt
|
||
ELSE toDecimal64(toDecimal64(a.goods_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END) AS "销售金额(元)",
|
||
COUNT(DISTINCT CONCAT(a.store_code,a.receipt_no)) AS "订单数量",
|
||
ROUND("订单数量"/SUM("订单数量") OVER(PARTITION BY toYear(a.min_sale_time)),5) AS "订单占比"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS min_sale_time,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS goods_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
WHERE
|
||
sale_status = '销售'
|
||
AND sale_time >= '2022-01-01 00:00:00'
|
||
AND sale_time <'2025-07-01 00:00:00'
|
||
GROUP BY store_code,receipt_no
|
||
)a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
MIN(province) AS province
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
GROUP BY store_code
|
||
)b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.min_sale_time)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
"年份","省份"
|
||
ORDER BY
|
||
"年份","销售金额(元)" DESC;
|
||
|
||
-- 2.1.2 线下每年国内各店铺所在等级城市销售金额、订单数量及其占比
|
||
SELECT
|
||
toYear(a.min_sale_time) AS "年份",
|
||
CASE
|
||
WHEN c.city_grade = '' THEN '其他'
|
||
ELSE c.city_grade
|
||
END AS "城市等级",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.goods_amt
|
||
ELSE toDecimal64(toDecimal64(a.goods_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END) AS "销售金额(元)",
|
||
COUNT(DISTINCT CONCAT(a.store_code,a.receipt_no)) AS "订单数量",
|
||
ROUND("订单数量"/SUM("订单数量") OVER(PARTITION BY toYear(a.min_sale_time)),5) AS "订单占比"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS min_sale_time,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS goods_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
WHERE
|
||
sale_status = '销售'
|
||
AND sale_time >= '2022-01-01 00:00:00'
|
||
AND sale_time <'2025-07-01 00:00:00'
|
||
GROUP BY store_code,receipt_no
|
||
)a
|
||
LEFT JOIN(
|
||
SELECT
|
||
csial.store_code,
|
||
corcl.city AS city
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
LEFT JOIN custom_offline_region_city_local corcl
|
||
ON csial.city = corcl.region
|
||
)b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN(
|
||
SELECT
|
||
city,
|
||
city_grade
|
||
FROM
|
||
custom_city_grade_local
|
||
)c
|
||
ON b.city = c.city
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.min_sale_time)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
"年份","城市等级"
|
||
ORDER BY
|
||
"年份","销售金额(元)" DESC;
|
||
|
||
-- 2.1.3 线下每年国外各国家销售金额、订单数量及占比
|
||
SELECT
|
||
toYear(a.min_sale_time) AS "年份",
|
||
CASE
|
||
WHEN b.country = 'MY' THEN '马来西亚'
|
||
WHEN b.country = 'VN' THEN '越南'
|
||
WHEN b.country = 'SG' THEN '新加坡'
|
||
WHEN b.country = 'TH' THEN '泰国'
|
||
WHEN b.country = 'ID' THEN '印度尼西亚'
|
||
WHEN b.country = 'PH' THEN '菲律宾'
|
||
END AS "国家",
|
||
SUM(a.goods_amt*r.settle_ratio) AS "销售金额",
|
||
COUNT(DISTINCT CONCAT(a.store_code,a.receipt_no)) AS "订单数量",
|
||
ROUND("订单数量"/SUM("订单数量") OVER(PARTITION BY toYear(a.min_sale_time)),5) AS "订单占比"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS min_sale_time,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS goods_amt,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_abroad_sale_return_settle_local
|
||
WHERE
|
||
sale_status = '销售'
|
||
AND sale_time >= '2022-01-01 00:00:00'
|
||
AND sale_time <'2025-07-01 00:00:00'
|
||
GROUP BY store_code,receipt_no
|
||
)a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
MIN(country) AS country
|
||
FROM
|
||
dim_hkaudit_store_other_mt
|
||
GROUP BY store_code
|
||
)b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.min_sale_time)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
"年份","国家"
|
||
ORDER BY
|
||
"年份","销售金额" DESC;
|
||
|
||
-- 3.1.1 线下每年单笔订单金额分布
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
CASE
|
||
WHEN amt <200 THEN '<200'
|
||
WHEN amt >=200 AND amt <500 THEN '200-500'
|
||
WHEN amt >=500 AND amt <1000 THEN '500-1000'
|
||
WHEN amt >=1000 AND amt <2500 THEN '1000-2500'
|
||
WHEN amt >=2500 AND amt <5000 THEN '2500-5000'
|
||
WHEN amt >=5000 THEN '≥5000'
|
||
END AS "单笔订单销售金额(元)",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.order_amt
|
||
ELSE toDecimal64(toDecimal64(a.order_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END AS amt) AS "销售金额(元)",
|
||
COUNT(DISTINCT CONCAT(a.store_code,a.receipt_no)) AS "订单数量"
|
||
FROM(
|
||
SELECT
|
||
store_code,
|
||
receipt_no,
|
||
MIN(sale_time) AS saletime,
|
||
SUM(goods_amt) AS order_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
WHERE
|
||
sale_status = '销售'
|
||
GROUP BY store_code, receipt_no
|
||
) a
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
"年份", "单笔订单销售金额(元)"
|
||
ORDER BY
|
||
"年份",
|
||
CASE
|
||
WHEN "单笔订单销售金额(元)"='<200' THEN 1
|
||
WHEN "单笔订单销售金额(元)"='200-500'THEN 2
|
||
WHEN "单笔订单销售金额(元)"='500-1000' THEN 3
|
||
WHEN "单笔订单销售金额(元)"='1000-2500' THEN 4
|
||
WHEN "单笔订单销售金额(元)"='2500-5000' THEN 5
|
||
WHEN "单笔订单销售金额(元)"='1000-5000' THEN 6
|
||
WHEN "单笔订单销售金额(元)"='≥5000' THEN 7
|
||
END ASC;
|
||
|
||
-- 3.1.2 线下每年各天订单数和销售金额
|
||
-- 各天
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
toDate(a.saletime) AS "日期",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.order_amt
|
||
ELSE toDecimal64(toDecimal64(a.order_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END AS amt) AS "销售金额",
|
||
COUNT(DISTINCT CONCAT(a.store_code,a.receipt_no)) AS "订单数量"
|
||
FROM (
|
||
SELECT
|
||
store_code,
|
||
receipt_no,
|
||
MIN(sale_time) AS saletime,
|
||
SUM(goods_amt) AS order_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
WHERE
|
||
sale_status = '销售'
|
||
GROUP BY store_code,receipt_no
|
||
) a
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
"年份","日期"
|
||
order BY
|
||
"年份","日期";
|
||
|
||
|
||
-- 3.1.2 线下每年各小时订单数和销售金额
|
||
-- 各小时
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
CONCAT(toString(HOUR(a.saletime)), '点到',toString(HOUR(a.saletime)+ 1), '点') AS "时间",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.order_amt
|
||
ELSE toDecimal64(toDecimal64(a.order_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END AS amt) AS "销售金额",
|
||
COUNT(DISTINCT CONCAT(a.store_code,a.receipt_no)) AS "订单数量"
|
||
FROM(
|
||
SELECT
|
||
store_code,
|
||
receipt_no,
|
||
MIN(sale_time) AS saletime,
|
||
SUM(goods_amt) AS order_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
WHERE
|
||
sale_status = '销售'
|
||
GROUP BY store_code,receipt_no
|
||
) a
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
"年份", "时间", HOUR(saletime)
|
||
ORDER BY
|
||
"年份", HOUR(saletime);
|
||
|
||
|
||
-- 3.1.3 线下每年大促期间店铺销售金额、订单数量
|
||
SELECT
|
||
CASE
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2022-01-01' AND '2022-01-05' THEN '海澜之家新年豪礼'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2022-06-15' AND '2022-06-19' THEN '海澜之家父亲节'
|
||
WHEN (toDate(a.min_sale_time) BETWEEN '2022-10-29' AND '2022-11-01')
|
||
OR (toDate(a.min_sale_time) BETWEEN '2022-11-05' AND '2022-11-11') THEN '海澜之家线下门店双十一'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2023-06-14' AND '2023-06-18' THEN '海澜之家2023父亲节'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2023-11-03' AND '2023-11-12' THEN '海澜之家2023双11购物狂欢节'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2024-01-26' AND '2024-01-28' THEN '海澜之家2024乘龙向上中国年'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2024-02-01' AND '2024-02-09' THEN '海澜之家2024迎新春送豪礼'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2024-06-13' AND '2024-06-16' THEN '海澜之家2024父亲节'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2025-01-26' AND '2025-01-28' THEN '海澜之家2025央央好物'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2025-06-11' AND '2025-06-15' THEN '海澜之家2025父亲节'
|
||
END AS "促销活动名称",
|
||
a.store_code AS "店铺编码",
|
||
b.store_name AS "店铺名称",
|
||
SUM(toDecimal64(toDecimal64(a.order_amt,4)*toDecimal64(r.settle_ratio,4),2)) AS "销售金额",
|
||
COUNT(DISTINCT a.store_code, a.receipt_no) AS "订单数量"
|
||
FROM(
|
||
SELECT
|
||
store_code,
|
||
receipt_no,
|
||
MIN(sale_time) AS min_sale_time,
|
||
SUM(goods_amt) AS order_amt,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
WHERE
|
||
sale_status = '销售'
|
||
AND brand_code = 'HLA'
|
||
AND sale_time >= '2022-01-01 00:00:00'
|
||
AND sale_time < '2025-07-01 00:00:00'
|
||
AND (
|
||
(sale_time >= '2022-01-01 00:00:00' AND sale_time <= '2022-01-05 23:59:59')
|
||
OR (sale_time >= '2022-06-15 00:00:00' AND sale_time <= '2022-06-19 23:59:59')
|
||
OR (sale_time >= '2022-10-29 00:00:00' AND sale_time <= '2022-11-01 23:59:59')
|
||
OR (sale_time >= '2022-11-05 00:00:00' AND sale_time <= '2022-11-11 23:59:59')
|
||
OR (sale_time >= '2023-06-14 00:00:00' AND sale_time <= '2023-06-18 23:59:59')
|
||
OR (sale_time >= '2023-11-03 00:00:00' AND sale_time <= '2023-11-12 23:59:59')
|
||
OR (sale_time >= '2024-01-26 00:00:00' AND sale_time <= '2024-01-28 23:59:59')
|
||
OR (sale_time >= '2024-02-01 00:00:00' AND sale_time <= '2024-02-09 23:59:59')
|
||
OR (sale_time >= '2024-06-13 00:00:00' AND sale_time <= '2024-06-16 23:59:59')
|
||
OR (sale_time >= '2025-01-26 00:00:00' AND sale_time <= '2025-01-28 23:59:59')
|
||
OR (sale_time >= '2025-06-11 00:00:00' AND sale_time <= '2025-06-15 23:59:59')
|
||
)
|
||
GROUP BY store_code, receipt_no
|
||
) a
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.min_sale_time)) AND r.store_nature = a.store_nature
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
WHERE
|
||
CASE
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2022-01-01' AND '2022-01-05' THEN '海澜之家新年豪礼'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2022-06-15' AND '2022-06-19' THEN '海澜之家父亲节'
|
||
WHEN (toDate(a.min_sale_time) BETWEEN '2022-10-29' AND '2022-11-01')
|
||
OR (toDate(a.min_sale_time) BETWEEN '2022-11-05' AND '2022-11-11') THEN '海澜之家线下门店双十一'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2023-06-14' AND '2023-06-18' THEN '海澜之家2023父亲节'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2023-11-03' AND '2023-11-12' THEN '海澜之家2023双11购物狂欢节'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2024-01-26' AND '2024-01-28' THEN '海澜之家2024乘龙向上中国年'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2024-02-01' AND '2024-02-09' THEN '海澜之家2024迎新春送豪礼'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2024-06-13' AND '2024-06-16' THEN '海澜之家2024父亲节'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2025-01-26' AND '2025-01-28' THEN '海澜之家2025央央好物'
|
||
WHEN toDate(a.min_sale_time) BETWEEN '2025-06-11' AND '2025-06-15' THEN '海澜之家2025父亲节'
|
||
END IS NOT NULL
|
||
GROUP BY
|
||
"促销活动名称",
|
||
a.store_code,
|
||
b.store_name
|
||
ORDER BY
|
||
MIN(toDate(a.min_sale_time)),
|
||
"销售金额" DESC;
|
||
|
||
-- 5.1.1 线下各店铺每年度退款金额、退款订单数量
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
a.store_code AS "店铺编码",
|
||
MIN(b.store_name) AS "店铺名称",
|
||
ABS(SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.refund_amt
|
||
ELSE toDecimal64(toDecimal64(a.refund_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END AS amt)) AS "退款金额(元)",
|
||
COUNT(CONCAT(a.store_code,a.receipt_no)) AS "退款订单数"
|
||
FROM(
|
||
SELECT
|
||
store_code,
|
||
receipt_no,
|
||
MIN(sale_time) AS saletime,
|
||
SUM(goods_amt) AS refund_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
WHERE
|
||
sale_status = '退款'
|
||
GROUP BY store_code, receipt_no
|
||
) a
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.saletime)) AND r.store_nature = a.store_nature
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
GROUP BY
|
||
"年份","店铺编码"
|
||
ORDER BY
|
||
toYear(a.saletime) ASC, "退款金额(元)" DESC;
|
||
|
||
|
||
-- 5.1.2 线下每年退款大于原销售的差异金额、订单数量
|
||
SELECT
|
||
a.refund_year AS "年份",
|
||
SUM(CASE
|
||
WHEN CONCAT(b.store_code,b.receipt_no) <> '' THEN ABS(a.amt)- b.amt
|
||
WHEN CONCAT(b.store_code,b.receipt_no) = '' THEN 0
|
||
END) AS "差异金额(有对应原单)",
|
||
COUNT(
|
||
CASE
|
||
WHEN CONCAT(b.store_code,b.receipt_no) <> '' THEN CONCAT(a.store_code,a.receipt_no)
|
||
WHEN CONCAT(b.store_code,b.receipt_no) = '' THEN NULL
|
||
END) AS "订单数量(有对应原单)",
|
||
SUM(CASE
|
||
WHEN CONCAT(b.store_code,b.receipt_no) <> '' THEN 0
|
||
WHEN CONCAT(b.store_code,b.receipt_no) = '' THEN ABS(a.amt)
|
||
END) AS "差异金额(无对应原单)",
|
||
COUNT(
|
||
CASE
|
||
WHEN CONCAT(b.store_code,b.receipt_no) <> '' THEN NULL
|
||
WHEN CONCAT(b.store_code,b.receipt_no) = '' THEN CONCAT(a.store_code,a.receipt_no)
|
||
END) AS "订单数量(无对应原单)"
|
||
FROM(
|
||
SELECT
|
||
toYear(MIN(sale_time)) AS refund_year,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS amt
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
WHERE
|
||
sale_status = '退款'
|
||
GROUP BY
|
||
store_code,receipt_no
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
MIN(toYear(sale_time)),
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS amt
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
WHERE
|
||
sale_status = '销售'
|
||
GROUP BY
|
||
store_code,receipt_no
|
||
) b
|
||
ON a.receipt_no = b.receipt_no AND a.store_code = b.store_code
|
||
WHERE
|
||
ABS(a.amt) > b.amt
|
||
GROUP BY
|
||
a.refund_year;
|
||
|
||
-- 5.1.3 线下每年各月退款金额、退款订单数量
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
toMonth(a.saletime) AS "月份",
|
||
ABS(SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.refund_amt
|
||
ELSE toDecimal64(toDecimal64(a.refund_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END AS amt)) AS "退款金额(元)",
|
||
COUNT(CONCAT(a.store_code,a.receipt_no)) AS "订单数量"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS refund_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local cosrl
|
||
WHERE sale_status = '退款'
|
||
GROUP BY
|
||
store_code,receipt_no
|
||
) a
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
"年份","月份"
|
||
ORDER BY
|
||
"年份" ASC,"月份" ASC;
|
||
|
||
-- 5.1.4 线下每年订单退款金额分布
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
CASE
|
||
WHEN amt >=0 AND amt <200 THEN '<200'
|
||
WHEN amt >=200 AND amt <500 THEN '200-500'
|
||
WHEN amt >=500 AND amt <1000 THEN '500-1000'
|
||
WHEN amt >=1000 AND amt <2500 THEN '1000-2500'
|
||
WHEN amt >=2500 AND amt <5000 THEN '2500-5000'
|
||
WHEN amt >=5000 THEN '≥5000'
|
||
END AS "单笔订单退款金额(元)",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.order_amt
|
||
ELSE toDecimal64(toDecimal64(a.order_amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END AS amt) AS "退款金额(元)",
|
||
COUNT(CONCAT(a.store_code,a.receipt_no)) AS "订单数量"
|
||
FROM(
|
||
SELECT
|
||
store_code,
|
||
receipt_no,
|
||
MIN(sale_time) AS saletime,
|
||
ABS(SUM(goods_amt)) AS order_amt,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
WHERE
|
||
sale_status = '退款'
|
||
GROUP BY store_code,receipt_no
|
||
) a
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
"年份", "单笔订单退款金额(元)"
|
||
ORDER BY
|
||
"年份",
|
||
CASE
|
||
WHEN "单笔订单退款金额(元)"='<200' THEN 1
|
||
WHEN "单笔订单退款金额(元)"='200-500'THEN 2
|
||
WHEN "单笔订单退款金额(元)"='500-1000' THEN 3
|
||
WHEN "单笔订单退款金额(元)"='1000-2500' THEN 4
|
||
WHEN "单笔订单退款金额(元)"='2500-5000' THEN 5
|
||
WHEN "单笔订单退款金额(元)"='1000-5000' THEN 6
|
||
WHEN "单笔订单退款金额(元)"='≥5000' THEN 7
|
||
END ASC;
|
||
|
||
|
||
-- 6.1.1 线下每年净销售金额前100订单净销售金额
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
a.store_code AS "订单编号",
|
||
b.store_name AS "店铺名称",
|
||
a.receipt_no AS "订单号",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.net_sale
|
||
ELSE toDecimal64(toDecimal64(a.net_sale,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END AS amt) AS "净销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS net_sale,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
GROUP BY
|
||
store_code,receipt_no
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
toYear(a.saletime),a.store_code,b.store_name,a.receipt_no
|
||
ORDER BY
|
||
"净销售金额(元)" DESC
|
||
LIMIT 1000;
|
||
|
||
|
||
|
||
-- 6.1.2 线下每年净销售金额前100订单各省份净销售金额
|
||
WITH order_list_top_100 AS(
|
||
WITH order_list AS(
|
||
SELECT
|
||
toYear(a.saletime) AS sale_time,
|
||
a.store_code AS store_code,
|
||
b.store_name AS store_name,
|
||
a.receipt_no AS receipt_no,
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.net_sale
|
||
ELSE toDecimal64(toDecimal64(a.net_sale,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END ) AS net_sale
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS net_sale,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
GROUP BY
|
||
store_code,receipt_no
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
toYear(a.saletime),a.store_code,b.store_name,a.receipt_no
|
||
)
|
||
SELECT
|
||
sale_time,
|
||
store_code,
|
||
receipt_no,
|
||
net_sale
|
||
FROM
|
||
order_list
|
||
WHERE
|
||
sale_time = 2022
|
||
ORDER BY
|
||
net_sale DESC
|
||
LIMIT 100
|
||
UNION ALL
|
||
SELECT
|
||
sale_time,
|
||
store_code ,
|
||
receipt_no,
|
||
net_sale
|
||
FROM
|
||
order_list
|
||
WHERE
|
||
sale_time = 2023
|
||
ORDER BY
|
||
net_sale DESC
|
||
LIMIT 100
|
||
UNION ALL
|
||
SELECT
|
||
sale_time,
|
||
store_code ,
|
||
receipt_no,
|
||
net_sale
|
||
FROM
|
||
order_list
|
||
WHERE
|
||
sale_time = 2024
|
||
ORDER BY
|
||
net_sale DESC
|
||
LIMIT 100
|
||
UNION ALL
|
||
SELECT
|
||
sale_time,
|
||
store_code ,
|
||
receipt_no ,
|
||
net_sale
|
||
FROM
|
||
order_list
|
||
WHERE
|
||
sale_time = 2025
|
||
ORDER BY
|
||
net_sale DESC
|
||
LIMIT 100
|
||
)
|
||
SELECT
|
||
toYear(a.saletime) AS "年份",
|
||
b.province AS "省份",
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.net_sale
|
||
ELSE toDecimal64(toDecimal64(a.net_sale,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END AS amt) AS "净销售金额(元)",
|
||
COUNT(DISTINCT a.store_code,a.receipt_no) AS "订单数量"
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS net_sale,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local cosrl
|
||
WHERE
|
||
CONCAT(store_code,receipt_no) IN (SELECT CONCAT(store_code,receipt_no) FROM order_list_top_100)
|
||
GROUP BY
|
||
store_code,receipt_no
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name,
|
||
province
|
||
FROM custom_store_info_all_local
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
"年份",b.province
|
||
ORDER BY
|
||
"年份","净销售金额(元)"DESC;
|
||
|
||
-- 6.1.3 线下每年净销售金额前100订单各商品净销售金额
|
||
WITH order_list_top_100 AS(
|
||
WITH order_list AS(
|
||
SELECT
|
||
toYear(a.saletime) AS sale_time,
|
||
a.store_code AS store_code,
|
||
b.store_name AS store_name,
|
||
a.receipt_no AS receipt_no,
|
||
SUM(CASE
|
||
WHEN a.brand_code IN ('JXH','SBZ') THEN a.net_sale
|
||
ELSE toDecimal64(toDecimal64(a.net_sale,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END ) AS net_sale
|
||
FROM(
|
||
SELECT
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
receipt_no,
|
||
SUM(goods_amt) AS net_sale,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local
|
||
GROUP BY
|
||
store_code,receipt_no
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
store_code,
|
||
store_name
|
||
FROM
|
||
custom_store_info_all_local csial
|
||
) b
|
||
ON a.store_code = b.store_code
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(a.saletime)) AND r.store_nature = a.store_nature
|
||
GROUP BY
|
||
toYear(a.saletime),a.store_code,b.store_name,a.receipt_no
|
||
)
|
||
SELECT
|
||
sale_time,
|
||
store_code,
|
||
receipt_no,
|
||
net_sale
|
||
FROM
|
||
order_list
|
||
WHERE
|
||
sale_time = 2022
|
||
ORDER BY
|
||
net_sale DESC
|
||
LIMIT 100
|
||
UNION ALL
|
||
SELECT
|
||
sale_time,
|
||
store_code ,
|
||
receipt_no,
|
||
net_sale
|
||
FROM
|
||
order_list
|
||
WHERE
|
||
sale_time = 2023
|
||
ORDER BY
|
||
net_sale DESC
|
||
LIMIT 100
|
||
UNION ALL
|
||
SELECT
|
||
sale_time,
|
||
store_code ,
|
||
receipt_no,
|
||
net_sale
|
||
FROM
|
||
order_list
|
||
WHERE
|
||
sale_time = 2024
|
||
ORDER BY
|
||
net_sale DESC
|
||
LIMIT 100
|
||
UNION ALL
|
||
SELECT
|
||
sale_time,
|
||
store_code ,
|
||
receipt_no ,
|
||
net_sale
|
||
FROM
|
||
order_list
|
||
WHERE
|
||
sale_time = 2025
|
||
ORDER BY
|
||
net_sale DESC
|
||
LIMIT 100
|
||
)
|
||
SELECT
|
||
toYear(a.sale_time) AS "年份",
|
||
a.barcode AS "商品编码",
|
||
CASE
|
||
WHEN b.goods_desc = '' THEN a.goods_name
|
||
WHEN b.goods_desc <> '' THEN b.goods_desc
|
||
END AS "商品名称",
|
||
SUM(a.qty) AS "产品数量",
|
||
SUM(toDecimal64(toDecimal64(a.goods_amt,4)*toDecimal64(a.settle_ratio,4),2)) AS "净销售金额(元)"
|
||
FROM(
|
||
SELECT
|
||
*
|
||
FROM
|
||
custom_offline_sale_return_settle_local cosrl
|
||
WHERE
|
||
CONCAT(store_code,receipt_no) IN (SELECT CONCAT(store_code,receipt_no) FROM order_list_top_100)
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT barcode, MAX(goods_desc) AS goods_desc
|
||
FROM (SELECT barcode, goods_desc FROM dim_hkaudit_goods_mt WHERE country = 'CN'
|
||
UNION ALL
|
||
SELECT barcode, goods_desc FROM dim_hkaudit_goods_other_mt)
|
||
GROUP BY barcode
|
||
) b
|
||
ON a.barcode = b.barcode
|
||
GROUP BY toYear(a.sale_time),a.barcode,"商品名称"
|
||
ORDER BY "年份","净销售金额(元)" DESC;
|
||
|
||
|
||
|
||
-- 6.2.1线下22年订单支付金额前20名注册用户的销售金额、订单数量
|
||
SELECT
|
||
'2022' AS "年份",
|
||
a.member_id AS "注册用户ID",
|
||
SUM(CASE
|
||
WHEN c.brand_code IN ('SBZ','JXH') THEN c.amt
|
||
ELSE toDecimal64(toDecimal64(c.amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END ) AS "销售金额(元)",
|
||
COUNT(
|
||
DISTINCT
|
||
CASE
|
||
WHEN c.receipt_no = '' THEN NULL
|
||
ELSE CONCAT(c.store_code,c.receipt_no)
|
||
END) AS "订单数量"
|
||
FROM(
|
||
SELECT
|
||
member_register_time AS r_time,
|
||
member_id
|
||
FROM dwd_basic_all_vip_info_dd dbavid
|
||
WHERE
|
||
SUBSTR(member_register_time,1,4) IN ('2022')
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
MIN(member_id) AS member_id ,
|
||
bill_no
|
||
FROM dwd_basic_all_vip_point_dd
|
||
WHERE bill_no <>''
|
||
AND SUBSTR(change_time,1,4) IN ('2022')
|
||
GROUP BY bill_no
|
||
) b
|
||
ON a.member_id = b.member_id
|
||
LEFT JOIN(
|
||
SELECT
|
||
receipt_no,
|
||
SUM(goods_amt) AS amt,
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local cosrl
|
||
WHERE
|
||
sale_status = '销售'
|
||
GROUP BY store_code,receipt_no
|
||
) c
|
||
ON b.bill_no = c.receipt_no
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(c.saletime)) AND r.store_nature = c.store_nature
|
||
GROUP BY a.member_id
|
||
ORDER BY SUM(c.amt) DESC
|
||
LIMIT 20;
|
||
|
||
|
||
-- 6.2.1线下23年订单支付金额前20名注册用户的销售金额、订单数量
|
||
SELECT
|
||
'2023' AS "年份",
|
||
a.member_id AS "注册用户ID",
|
||
SUM(CASE
|
||
WHEN c.brand_code IN ('SBZ','JXH') THEN c.amt
|
||
ELSE toDecimal64(toDecimal64(c.amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END ) AS "销售金额(元)",
|
||
COUNT(
|
||
DISTINCT
|
||
CASE
|
||
WHEN c.receipt_no = '' THEN NULL
|
||
ELSE CONCAT(c.store_code,c.receipt_no)
|
||
END) AS "订单数量"
|
||
FROM(
|
||
SELECT
|
||
member_register_time AS r_time,
|
||
member_id
|
||
FROM dwd_basic_all_vip_info_dd dbavid
|
||
WHERE
|
||
SUBSTR(member_register_time,1,4) IN ('2023')
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
MIN(member_id) AS member_id ,
|
||
bill_no
|
||
FROM dwd_basic_all_vip_point_dd
|
||
WHERE bill_no <>''
|
||
AND SUBSTR(change_time,1,4) IN ('2023')
|
||
GROUP BY bill_no
|
||
) b
|
||
ON a.member_id = b.member_id
|
||
LEFT JOIN(
|
||
SELECT
|
||
receipt_no,
|
||
SUM(goods_amt) AS amt,
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local cosrl
|
||
WHERE
|
||
sale_status = '销售'
|
||
GROUP BY store_code,receipt_no
|
||
) c
|
||
ON b.bill_no = c.receipt_no
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(c.saletime)) AND r.store_nature = c.store_nature
|
||
GROUP BY a.member_id
|
||
ORDER BY SUM(c.amt) DESC
|
||
LIMIT 20;
|
||
|
||
|
||
-- 6.2.1线下24年订单支付金额前20名注册用户的销售金额、订单数量
|
||
SELECT
|
||
'2024' AS "年份",
|
||
a.member_id AS "注册用户ID",
|
||
SUM(CASE
|
||
WHEN c.brand_code IN ('SBZ','JXH') THEN c.amt
|
||
ELSE toDecimal64(toDecimal64(c.amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END ) AS "销售金额(元)",
|
||
COUNT(
|
||
DISTINCT
|
||
CASE
|
||
WHEN c.receipt_no = '' THEN NULL
|
||
ELSE CONCAT(c.store_code,c.receipt_no)
|
||
END) AS "订单数量"
|
||
FROM(
|
||
SELECT
|
||
member_register_time AS r_time,
|
||
member_id
|
||
FROM dwd_basic_all_vip_info_dd dbavid
|
||
WHERE
|
||
SUBSTR(member_register_time,1,4) IN ('2024')
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
MIN(member_id) AS member_id ,
|
||
bill_no
|
||
FROM dwd_basic_all_vip_point_dd
|
||
WHERE bill_no <>''
|
||
AND SUBSTR(change_time,1,4) IN ('2024')
|
||
GROUP BY bill_no
|
||
) b
|
||
ON a.member_id = b.member_id
|
||
LEFT JOIN(
|
||
SELECT
|
||
receipt_no,
|
||
SUM(goods_amt) AS amt,
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local cosrl
|
||
WHERE
|
||
sale_status = '销售'
|
||
GROUP BY store_code,receipt_no
|
||
) c
|
||
ON b.bill_no = c.receipt_no
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(c.saletime)) AND r.store_nature = c.store_nature
|
||
GROUP BY a.member_id
|
||
ORDER BY SUM(c.amt) DESC
|
||
LIMIT 20;
|
||
|
||
|
||
-- 6.2.1线下25年订单支付金额前20名注册用户的销售金额、订单数量
|
||
SELECT
|
||
'2025' AS "年份",
|
||
a.member_id AS "注册用户ID",
|
||
SUM(CASE
|
||
WHEN c.brand_code IN ('SBZ','JXH') THEN c.amt
|
||
ELSE toDecimal64(toDecimal64(c.amt,4)*toDecimal64(r.settle_ratio,4),2)
|
||
END ) AS "销售金额(元)",
|
||
COUNT(
|
||
DISTINCT
|
||
CASE
|
||
WHEN c.receipt_no = '' THEN NULL
|
||
ELSE CONCAT(c.store_code,c.receipt_no)
|
||
END) AS "订单数量"
|
||
FROM(
|
||
SELECT
|
||
member_register_time AS r_time,
|
||
member_id
|
||
FROM dwd_basic_all_vip_info_dd dbavid
|
||
WHERE
|
||
SUBSTR(member_register_time,1,7) IN ('2025-01','2025-02','2025-03','2025-04','2025-05','2025-06')
|
||
) a
|
||
LEFT JOIN(
|
||
SELECT
|
||
MIN(member_id) AS member_id ,
|
||
bill_no
|
||
FROM dwd_basic_all_vip_point_dd
|
||
WHERE bill_no <>''
|
||
AND SUBSTR(change_time,1,7) IN ('2025-01','2025-02','2025-03','2025-04','2025-05','2025-06')
|
||
GROUP BY bill_no
|
||
) b
|
||
ON a.member_id = b.member_id
|
||
LEFT JOIN(
|
||
SELECT
|
||
receipt_no,
|
||
SUM(goods_amt) AS amt,
|
||
MIN(sale_time) AS saletime,
|
||
store_code,
|
||
MIN(brand_code) AS brand_code,
|
||
argMin(store_nature,sale_time) AS store_nature
|
||
FROM
|
||
custom_offline_sale_return_settle_local cosrl
|
||
WHERE
|
||
sale_status = '销售'
|
||
GROUP BY store_code,receipt_no
|
||
) c
|
||
ON b.bill_no = c.receipt_no
|
||
LEFT JOIN custom_settle_ratio_local r
|
||
ON r.settle_year = toString(toYear(c.saletime)) AND r.store_nature = c.store_nature
|
||
GROUP BY a.member_id
|
||
ORDER BY SUM(c.amt) DESC
|
||
LIMIT 20;
|
||
|
||
|