调整退款额计算 添加销售为已取消、已关闭、交易关闭情况下退款中未计算到的金额
This commit is contained in:
@@ -147,7 +147,45 @@ ORDER BY 统计日期 DESC, 总销售额 DESC;
|
||||
field_suffix="退款额",
|
||||
sql_template="""
|
||||
SET TIMEZONE = 'Asia/Shanghai';
|
||||
WITH base_data AS (
|
||||
WITH sales_base AS (
|
||||
SELECT
|
||||
fs.*,
|
||||
TRIM(fs."平台订单号") AS "原平台订单号",
|
||||
split_part(TRIM(fs."平台订单号"), '-', 1) AS "主订单号"
|
||||
FROM analytics_layer.fact_sales fs
|
||||
WHERE fs."订单状态" IN ('已关闭', '已取消', '交易关闭')
|
||||
AND NULLIF(TRIM(fs."平台订单号"), '') IS NOT NULL
|
||||
AND fs."支付时间" IS NOT NULL
|
||||
AND fs."支付时间" >= %(start_ts)s
|
||||
AND fs."支付时间" < %(end_ts_exclusive)s
|
||||
),
|
||||
|
||||
missing_order_keys AS (
|
||||
SELECT DISTINCT
|
||||
sb."主订单号"
|
||||
FROM sales_base sb
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM analytics_layer.fact_returns fr
|
||||
WHERE split_part(TRIM(fr."平台订单号"), '-', 1) = sb."主订单号"
|
||||
AND NULLIF(TRIM(fr."平台订单号"), '') IS NOT NULL
|
||||
)
|
||||
),
|
||||
|
||||
missing_return_sales AS (
|
||||
SELECT
|
||||
sb."支付时间"::DATE AS 统计日期,
|
||||
sb."店铺主键",
|
||||
SUM(sb."实付分摊金额") AS 补充退款金额
|
||||
FROM sales_base sb
|
||||
JOIN missing_order_keys mok
|
||||
ON sb."主订单号" = mok."主订单号"
|
||||
GROUP BY
|
||||
sb."支付时间"::DATE,
|
||||
sb."店铺主键"
|
||||
),
|
||||
|
||||
base_data AS (
|
||||
SELECT
|
||||
f.完结时间::DATE AS 统计日期,
|
||||
f.店铺主键,
|
||||
@@ -215,12 +253,13 @@ shop_brand_detail AS (
|
||||
SUM(退款金额) AS 总退款金额
|
||||
FROM brand_split
|
||||
GROUP BY 1,2,3
|
||||
)
|
||||
),
|
||||
|
||||
all_amount AS (
|
||||
SELECT
|
||||
统计日期,
|
||||
店铺名称,
|
||||
总退款金额
|
||||
总退款金额 AS 金额
|
||||
FROM shop_brand_detail
|
||||
WHERE NOT (
|
||||
店铺主键 IN (1,9,28,29)
|
||||
@@ -233,7 +272,7 @@ UNION ALL
|
||||
SELECT
|
||||
统计日期,
|
||||
原始店铺名称 AS 店铺名称,
|
||||
SUM(退款金额) AS 总退款金额
|
||||
SUM(退款金额) AS 金额
|
||||
FROM base_data
|
||||
WHERE 店铺主键 IN (1,28,29,3)
|
||||
GROUP BY 1,2
|
||||
@@ -244,7 +283,7 @@ UNION ALL
|
||||
SELECT
|
||||
r.统计日期,
|
||||
r.原始店铺名称 || '_权益金' AS 店铺名称,
|
||||
SUM(r.退款金额) AS 总退款金额
|
||||
SUM(r.退款金额) AS 金额
|
||||
FROM base_data r
|
||||
JOIN recharge_orders ro
|
||||
ON r.平台订单号 = ro.平台订单号
|
||||
@@ -252,6 +291,27 @@ JOIN recharge_orders ro
|
||||
WHERE r.店铺主键 IN (5,11,14,22,26)
|
||||
GROUP BY 1,2
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
mrs.统计日期,
|
||||
COALESCE(s.店铺名称, '未知店铺') AS 店铺名称,
|
||||
SUM(mrs.补充退款金额) AS 金额
|
||||
FROM missing_return_sales mrs
|
||||
LEFT JOIN analytics_layer.dim_shop s
|
||||
ON mrs.店铺主键 = s.店铺主键
|
||||
GROUP BY 1,2
|
||||
)
|
||||
|
||||
SELECT
|
||||
统计日期,
|
||||
店铺名称,
|
||||
SUM(金额) AS 总退款金额
|
||||
FROM all_amount
|
||||
GROUP BY
|
||||
统计日期,
|
||||
店铺名称
|
||||
|
||||
ORDER BY 统计日期 DESC, 总退款金额 DESC;
|
||||
""",
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user