调整退款额计算 添加销售为已取消、已关闭、交易关闭情况下退款中未计算到的金额
This commit is contained in:
@@ -147,7 +147,45 @@ ORDER BY 统计日期 DESC, 总销售额 DESC;
|
|||||||
field_suffix="退款额",
|
field_suffix="退款额",
|
||||||
sql_template="""
|
sql_template="""
|
||||||
SET TIMEZONE = 'Asia/Shanghai';
|
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
|
SELECT
|
||||||
f.完结时间::DATE AS 统计日期,
|
f.完结时间::DATE AS 统计日期,
|
||||||
f.店铺主键,
|
f.店铺主键,
|
||||||
@@ -215,12 +253,13 @@ shop_brand_detail AS (
|
|||||||
SUM(退款金额) AS 总退款金额
|
SUM(退款金额) AS 总退款金额
|
||||||
FROM brand_split
|
FROM brand_split
|
||||||
GROUP BY 1,2,3
|
GROUP BY 1,2,3
|
||||||
)
|
),
|
||||||
|
|
||||||
|
all_amount AS (
|
||||||
SELECT
|
SELECT
|
||||||
统计日期,
|
统计日期,
|
||||||
店铺名称,
|
店铺名称,
|
||||||
总退款金额
|
总退款金额 AS 金额
|
||||||
FROM shop_brand_detail
|
FROM shop_brand_detail
|
||||||
WHERE NOT (
|
WHERE NOT (
|
||||||
店铺主键 IN (1,9,28,29)
|
店铺主键 IN (1,9,28,29)
|
||||||
@@ -233,7 +272,7 @@ UNION ALL
|
|||||||
SELECT
|
SELECT
|
||||||
统计日期,
|
统计日期,
|
||||||
原始店铺名称 AS 店铺名称,
|
原始店铺名称 AS 店铺名称,
|
||||||
SUM(退款金额) AS 总退款金额
|
SUM(退款金额) AS 金额
|
||||||
FROM base_data
|
FROM base_data
|
||||||
WHERE 店铺主键 IN (1,28,29,3)
|
WHERE 店铺主键 IN (1,28,29,3)
|
||||||
GROUP BY 1,2
|
GROUP BY 1,2
|
||||||
@@ -244,7 +283,7 @@ UNION ALL
|
|||||||
SELECT
|
SELECT
|
||||||
r.统计日期,
|
r.统计日期,
|
||||||
r.原始店铺名称 || '_权益金' AS 店铺名称,
|
r.原始店铺名称 || '_权益金' AS 店铺名称,
|
||||||
SUM(r.退款金额) AS 总退款金额
|
SUM(r.退款金额) AS 金额
|
||||||
FROM base_data r
|
FROM base_data r
|
||||||
JOIN recharge_orders ro
|
JOIN recharge_orders ro
|
||||||
ON r.平台订单号 = ro.平台订单号
|
ON r.平台订单号 = ro.平台订单号
|
||||||
@@ -252,6 +291,27 @@ JOIN recharge_orders ro
|
|||||||
WHERE r.店铺主键 IN (5,11,14,22,26)
|
WHERE r.店铺主键 IN (5,11,14,22,26)
|
||||||
GROUP BY 1,2
|
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;
|
ORDER BY 统计日期 DESC, 总退款金额 DESC;
|
||||||
""",
|
""",
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user