调整 大眼睛EM的统计
添加 羽心堂分销
This commit is contained in:
+102
-84
@@ -46,6 +46,7 @@ WITH base_data AS (
|
||||
f.店铺主键,
|
||||
s.店铺名称 AS 原始店铺名称,
|
||||
p.品牌名称,
|
||||
p.商品名称,
|
||||
f.业务模式,
|
||||
f.实付分摊金额
|
||||
FROM analytics_layer.fact_sales f
|
||||
@@ -64,23 +65,30 @@ brand_split AS (
|
||||
原始店铺名称,
|
||||
业务模式,
|
||||
CASE
|
||||
WHEN COALESCE(原始店铺名称, '') LIKE '%%羽心堂分销%%'
|
||||
THEN '羽心堂分销'
|
||||
|
||||
WHEN 店铺主键 IN (1,28,29) AND 品牌名称 LIKE '羽心堂'
|
||||
WHEN 店铺主键 IN (1,28,29) AND COALESCE(品牌名称, '') LIKE '羽心堂'
|
||||
THEN 原始店铺名称 || '_羽心堂'
|
||||
WHEN 店铺主键 IN (1,28,29) AND 品牌名称 LIKE '春回盏'
|
||||
WHEN 店铺主键 IN (1,28,29) AND COALESCE(品牌名称, '') LIKE '春回盏'
|
||||
THEN 原始店铺名称 || '_春回盏'
|
||||
WHEN 店铺主键 IN (1,28,29) AND 品牌名称 LIKE 'Mama Mujer'
|
||||
WHEN 店铺主键 IN (1,28,29) AND COALESCE(品牌名称, '') LIKE 'Mama Mujer'
|
||||
THEN 原始店铺名称 || '_Mama Mujer'
|
||||
WHEN 店铺主键 IN (1,28,29) AND 品牌名称 LIKE 'ERBA MIGINA'
|
||||
WHEN 店铺主键 IN (1,28,29)
|
||||
AND (
|
||||
COALESCE(品牌名称, '') LIKE 'ERBA MIGINA'
|
||||
OR COALESCE(商品名称, '') ILIKE '%%ERBA MIGINA%%'
|
||||
OR COALESCE(商品名称, '') ~* '(^|[^A-Za-z])EM([^A-Za-z]|$)'
|
||||
)
|
||||
THEN 原始店铺名称 || '_ERBA MIGINA'
|
||||
WHEN 店铺主键 IN (1,28,29) AND 品牌名称 LIKE 'BROKEN ZOO'
|
||||
WHEN 店铺主键 IN (1,28,29) AND COALESCE(品牌名称, '') LIKE 'BROKEN ZOO'
|
||||
THEN 原始店铺名称 || '_BROKEN ZOO'
|
||||
WHEN 店铺主键 IN (1,28,29)
|
||||
THEN 原始店铺名称 || '_其他'
|
||||
|
||||
WHEN 店铺主键 IN (3,9) AND 品牌名称 LIKE '羽心堂'
|
||||
WHEN 店铺主键 IN (3,9) AND COALESCE(品牌名称, '') LIKE '羽心堂'
|
||||
THEN 原始店铺名称 || '_羽心堂'
|
||||
WHEN 店铺主键 IN (3,9) AND 品牌名称 LIKE 'Mama Mujer'
|
||||
WHEN 店铺主键 IN (3,9) AND COALESCE(品牌名称, '') LIKE 'Mama Mujer'
|
||||
THEN 原始店铺名称 || '_Mama Mujer'
|
||||
WHEN 店铺主键 IN (3,9)
|
||||
THEN 原始店铺名称 || '_其他'
|
||||
@@ -103,39 +111,45 @@ shop_brand_detail AS (
|
||||
SUM(实付分摊金额) AS 总销售额
|
||||
FROM brand_split
|
||||
GROUP BY 1,2,3
|
||||
),
|
||||
union_data AS (
|
||||
SELECT
|
||||
统计日期,
|
||||
店铺名称,
|
||||
总销售额
|
||||
FROM shop_brand_detail
|
||||
WHERE NOT (
|
||||
店铺主键 IN (1,9,28,29)
|
||||
AND 店铺名称 LIKE '%%_其他'
|
||||
)
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
统计日期,
|
||||
原始店铺名称 AS 店铺名称,
|
||||
SUM(实付分摊金额) AS 总销售额
|
||||
FROM base_data
|
||||
WHERE 店铺主键 IN (1,28,29,3)
|
||||
GROUP BY 1,2
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
统计日期,
|
||||
原始店铺名称 || '_权益金' AS 店铺名称,
|
||||
SUM(实付分摊金额) AS 总销售额
|
||||
FROM base_data
|
||||
WHERE 店铺主键 IN (5,11,14,22,26)
|
||||
AND 业务模式 = '充值购物金'
|
||||
GROUP BY 1,2
|
||||
)
|
||||
|
||||
SELECT
|
||||
统计日期,
|
||||
店铺名称,
|
||||
总销售额
|
||||
FROM shop_brand_detail
|
||||
WHERE NOT (
|
||||
店铺主键 IN (1,9,28,29)
|
||||
AND 店铺名称 LIKE '%%_其他'
|
||||
)
|
||||
|
||||
UNION ALL
|
||||
|
||||
-- 店铺合计(使用 dim_shop 店铺名)
|
||||
SELECT
|
||||
统计日期,
|
||||
原始店铺名称 AS 店铺名称,
|
||||
SUM(实付分摊金额)
|
||||
FROM base_data
|
||||
WHERE 店铺主键 IN (1,28,29,3)
|
||||
GROUP BY 1,2
|
||||
|
||||
UNION ALL
|
||||
|
||||
-- 权益金(充值购物金单独统计)
|
||||
SELECT
|
||||
统计日期,
|
||||
原始店铺名称 || '_权益金' AS 店铺名称,
|
||||
SUM(实付分摊金额) AS 总销售额
|
||||
FROM base_data
|
||||
WHERE 店铺主键 IN (5,11,14,22,26)
|
||||
AND 业务模式 = '充值购物金'
|
||||
SUM(总销售额) AS 总销售额
|
||||
FROM union_data
|
||||
GROUP BY 1,2
|
||||
|
||||
ORDER BY 统计日期 DESC, 总销售额 DESC;
|
||||
@@ -192,6 +206,7 @@ base_data AS (
|
||||
f.平台订单号,
|
||||
s.店铺名称 AS 原始店铺名称,
|
||||
p.品牌名称,
|
||||
p.商品名称,
|
||||
f.退款金额
|
||||
FROM analytics_layer.fact_returns f
|
||||
LEFT JOIN analytics_layer.dim_shop s
|
||||
@@ -216,22 +231,27 @@ brand_split AS (
|
||||
原始店铺名称,
|
||||
CASE
|
||||
|
||||
WHEN 店铺主键 IN (1,28,29) AND 品牌名称 LIKE '羽心堂'
|
||||
WHEN 店铺主键 IN (1,28,29) AND COALESCE(品牌名称, '') LIKE '羽心堂'
|
||||
THEN 原始店铺名称 || '_羽心堂'
|
||||
WHEN 店铺主键 IN (1,28,29) AND 品牌名称 LIKE '春回盏'
|
||||
WHEN 店铺主键 IN (1,28,29) AND COALESCE(品牌名称, '') LIKE '春回盏'
|
||||
THEN 原始店铺名称 || '_春回盏'
|
||||
WHEN 店铺主键 IN (1,28,29) AND 品牌名称 LIKE 'Mama Mujer'
|
||||
WHEN 店铺主键 IN (1,28,29) AND COALESCE(品牌名称, '') LIKE 'Mama Mujer'
|
||||
THEN 原始店铺名称 || '_Mama Mujer'
|
||||
WHEN 店铺主键 IN (1,28,29) AND 品牌名称 LIKE 'ERBA MIGINA'
|
||||
WHEN 店铺主键 IN (1,28,29)
|
||||
AND (
|
||||
COALESCE(品牌名称, '') LIKE 'ERBA MIGINA'
|
||||
OR COALESCE(商品名称, '') ILIKE '%%ERBA MIGINA%%'
|
||||
OR COALESCE(商品名称, '') ~* '(^|[^A-Za-z])EM([^A-Za-z]|$)'
|
||||
)
|
||||
THEN 原始店铺名称 || '_ERBA MIGINA'
|
||||
WHEN 店铺主键 IN (1,28,29) AND 品牌名称 LIKE 'BROKEN ZOO'
|
||||
WHEN 店铺主键 IN (1,28,29) AND COALESCE(品牌名称, '') LIKE 'BROKEN ZOO'
|
||||
THEN 原始店铺名称 || '_BROKEN ZOO'
|
||||
WHEN 店铺主键 IN (1,28,29)
|
||||
THEN 原始店铺名称 || '_其他'
|
||||
|
||||
WHEN 店铺主键 IN (3,9) AND 品牌名称 LIKE '羽心堂'
|
||||
WHEN 店铺主键 IN (3,9) AND COALESCE(品牌名称, '') LIKE '羽心堂'
|
||||
THEN 原始店铺名称 || '_羽心堂'
|
||||
WHEN 店铺主键 IN (3,9) AND 品牌名称 LIKE 'Mama Mujer'
|
||||
WHEN 店铺主键 IN (3,9) AND COALESCE(品牌名称, '') LIKE 'Mama Mujer'
|
||||
THEN 原始店铺名称 || '_Mama Mujer'
|
||||
WHEN 店铺主键 IN (3,9)
|
||||
THEN 原始店铺名称 || '_其他'
|
||||
@@ -255,59 +275,57 @@ shop_brand_detail AS (
|
||||
GROUP BY 1,2,3
|
||||
),
|
||||
|
||||
all_amount AS (
|
||||
SELECT
|
||||
统计日期,
|
||||
店铺名称,
|
||||
总退款金额 AS 金额
|
||||
FROM shop_brand_detail
|
||||
WHERE NOT (
|
||||
店铺主键 IN (1,9,28,29)
|
||||
AND 店铺名称 LIKE '%%_其他'
|
||||
)
|
||||
union_data AS (
|
||||
SELECT
|
||||
统计日期,
|
||||
店铺名称,
|
||||
总退款金额
|
||||
FROM shop_brand_detail
|
||||
WHERE NOT (
|
||||
店铺主键 IN (1,9,28,29)
|
||||
AND 店铺名称 LIKE '%%_其他'
|
||||
)
|
||||
|
||||
UNION ALL
|
||||
UNION ALL
|
||||
|
||||
-- 店铺合计
|
||||
SELECT
|
||||
统计日期,
|
||||
原始店铺名称 AS 店铺名称,
|
||||
SUM(退款金额) AS 金额
|
||||
FROM base_data
|
||||
WHERE 店铺主键 IN (1,28,29,3)
|
||||
GROUP BY 1,2
|
||||
SELECT
|
||||
统计日期,
|
||||
原始店铺名称 AS 店铺名称,
|
||||
SUM(退款金额) AS 总退款金额
|
||||
FROM base_data
|
||||
WHERE 店铺主键 IN (1,28,29,3)
|
||||
GROUP BY 1,2
|
||||
|
||||
UNION ALL
|
||||
UNION ALL
|
||||
|
||||
-- 权益金退款
|
||||
SELECT
|
||||
r.统计日期,
|
||||
r.原始店铺名称 || '_权益金' AS 店铺名称,
|
||||
SUM(r.退款金额) AS 金额
|
||||
FROM base_data r
|
||||
JOIN recharge_orders ro
|
||||
ON r.平台订单号 = ro.平台订单号
|
||||
AND r.店铺主键 = ro.店铺主键
|
||||
WHERE r.店铺主键 IN (5,11,14,22,26)
|
||||
GROUP BY 1,2
|
||||
SELECT
|
||||
r.统计日期,
|
||||
r.原始店铺名称 || '_权益金' AS 店铺名称,
|
||||
SUM(r.退款金额) AS 总退款金额
|
||||
FROM base_data r
|
||||
JOIN recharge_orders ro
|
||||
ON r.平台订单号 = ro.平台订单号
|
||||
AND r.店铺主键 = ro.店铺主键
|
||||
WHERE r.店铺主键 IN (5,11,14,22,26)
|
||||
GROUP BY 1,2
|
||||
|
||||
UNION ALL
|
||||
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
|
||||
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
|
||||
SUM(总退款金额) AS 总退款金额
|
||||
FROM union_data
|
||||
GROUP BY
|
||||
统计日期,
|
||||
店铺名称
|
||||
|
||||
@@ -34,6 +34,7 @@ def parse_args() -> argparse.Namespace:
|
||||
parser.add_argument("--table-map-file", default="", help="可选,项目到表名的映射 JSON 文件路径")
|
||||
parser.add_argument("--dry-run", action="store_true", help="只输出将要更新的内容,不调用飞书写接口")
|
||||
parser.add_argument("--skip-missing-tables", action="store_true", help="找不到对应月份的飞书表时跳过")
|
||||
parser.add_argument("--no-notify", action="store_true", help="只写入多维表格,不推送飞书群通知")
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
@@ -61,7 +62,10 @@ def main() -> None:
|
||||
)
|
||||
for stat_date in iter_dates(start_date, end_date):
|
||||
run_daily_sync_for_date(context, stat_date)
|
||||
send_sync_notification(context, start_date, end_date)
|
||||
if args.no_notify:
|
||||
log_step("已跳过飞书群通知")
|
||||
else:
|
||||
send_sync_notification(context, start_date, end_date)
|
||||
log_step("流水线完成")
|
||||
|
||||
|
||||
|
||||
BIN
Binary file not shown.
Reference in New Issue
Block a user