diff --git a/审计资料需求清单-财务.xlsx b/审计资料需求清单-财务.xlsx new file mode 100644 index 0000000..a6da418 Binary files /dev/null and b/审计资料需求清单-财务.xlsx differ diff --git a/审计资料需求清单.xlsx b/审计资料需求清单.xlsx deleted file mode 100644 index 1076fd3..0000000 Binary files a/审计资料需求清单.xlsx and /dev/null differ diff --git a/预处理.sql b/预处理.sql new file mode 100644 index 0000000..536502c --- /dev/null +++ b/预处理.sql @@ -0,0 +1,188 @@ +-- 数据拆分 +SELECT + m_new AS m, -- 拆分后的m字段 + (if(i < k, quotient, quotient + remainder)) / 100.0 AS n, -- 金额(无尾差) + if(i > (k - t_remainder), t_div + 1, t_div) AS t -- 数量(无尾差) +FROM ( + SELECT + splitByChar(',', m) AS m_array, -- 拆分m为数组 + arrayEnumerate(m_array) AS i, -- 数组索引(从1开始) + n, + t, + arrayLength(m_array) AS k, -- 拆分后的记录数 + toDecimal32(n * 100, 0) AS n_cents, -- 金额转分(整数) + (toDecimal32(n * 100, 0) div k) AS quotient, -- 金额商(每份基础值) + (toDecimal32(n * 100, 0) % k) AS remainder, -- 金额余数(最后一行补足) + (t div k) AS t_div, -- 数量商(每份基础值) + (t % k) AS t_remainder -- 数量余数(最后t_remainder行补足) + FROM A +) +ARRAY JOIN m_array AS m_new; -- 展开数组为多行 + + +-- 退款运费金额是否有数据:有销才有退 +SELECT COUNT() +FROM dwd_trade_hkaudit_ecommerce_sale_return_mt +WHERE return_freight_amt > 0; + +SELECT + source_system, + create_date, + system_order_no, + store_code, + store_name, + association_order_no, + source_platform, + platform_order_no, + return_freight_amt +FROM dwd_trade_hkaudit_ecommerce_sale_return_mt +WHERE return_freight_amt > 0 LIMIT 1000; + +-- 赠品是否有金额 +SELECT COUNT() +FROM dwd_trade_hkaudit_ecommerce_sale_mt +WHERE is_gift = 1 AND goods_amt > 0; + +SELECT + source_system, + order_date, + system_order_no, + store_code, + store_name, + manual_order, + is_swap_order, + source_platform, + platform_order_no +FROM dwd_trade_hkaudit_ecommerce_sale_mt +WHERE is_gift = 1 AND goods_amt > 0; + +SELECT + source_system, + order_date, + system_order_no, + store_code, + store_name, + manual_order, + is_swap_order, + source_platform, + platform_order_no +FROM dwd_trade_hkaudit_ecommerce_sale_mt +WHERE platform_order_no = ''; + + +-- 店铺编码对应多个名称 + + +-- 仅退款 在调整单处理,是否有大额的就是全退的 + + +-- 调整单和退销单的平台订单号是否和销售表一致(针对合单的) +SELECT + source_system, + order_date, + system_order_no, + store_code, + store_name, + manual_order, + is_swap_order, + source_platform, + platform_order_no +FROM dwd_trade_hkaudit_ecommerce_sale_mt +WHERE platform_order_no LIKE '%,%' LIMIT 1000; + +SELECT + source_system, + order_date, + system_order_no, + store_code, + store_name, + source_platform, + platform_order_no +FROM dwd_trade_hkaudit_ecommerce_sale_change_mt +WHERE platform_order_no = ''; + + +SELECT + source_system, + order_date, + system_order_no, + store_code, + store_name, + source_platform, + platform_order_no +FROM dwd_trade_hkaudit_ecommerce_sale_change_mt +WHERE platform_order_no IN ( + SELECT + platform_order_no + FROM dwd_trade_hkaudit_ecommerce_sale_mt + WHERE platform_order_no LIKE '%,%' LIMIT 1000 +); + +-- 是否换货单字段 +SELECT + source_system, + order_date, + system_order_no, + store_code, + store_name, + manual_order, + is_swap_order, + source_platform, + platform_order_no +FROM dwd_trade_hkaudit_ecommerce_sale_mt +WHERE is_swap_order IS NOT NULL LIMIT 1000; + + +-- 斯博兹最早下单时间 + + +-- 线下订单和小票行数是否一致 + + +-- 线下支付是否一对多 + +-- 线上2024年收入 209.6亿 +-- 以钱货两清时间计算下 +SELECT SUM(order_settle_amt) FROM dwd_trade_hkaudit_ecommerce_sale_mt WHERE YEAR(mgclear_date) = '2024'; + +SELECT SUM(return_goods_amt) FROM dwd_trade_hkaudit_ecommerce_sale_return_mt WHERE platform_order_no +IN (SELECT DISTINCT platform_order_no FROM dwd_trade_hkaudit_ecommerce_sale_mt WHERE YEAR(mgclear_date) = '2024'); + +SELECT SUM(special_barcode_amt) FROM dwd_trade_hkaudit_ecommerce_sale_change_mt WHERE platform_order_no +IN (SELECT DISTINCT platform_order_no FROM dwd_trade_hkaudit_ecommerce_sale_mt WHERE YEAR(mgclear_date) = '2024') + + +-- 线上销售均摊金额之和是否等于订单结算金额 +SELECT + platform_order_no +FROM dwd_trade_hkaudit_ecommerce_sale_mt +GROUP BY platform_order_no HAVING SUM(goods_amt) <> MAX(order_settle_amt); + + +-- 销售时间调整 +SELECT + COUNT() +FROM dwd_trade_hkaudit_ecommerce_sale_mt +WHERE dateDiff('day', toDateTime(order_date), toDateTime(deliver_date)) > 3; + +SELECT + source_system, + order_date, + system_order_no, + store_code, + store_name, + manual_order, + is_swap_order, + source_platform, + platform_order_no, + pay_date, + deliver_date, + mgclear_date +FROM dwd_trade_hkaudit_ecommerce_sale_mt +WHERE manual_order IS NOT NULL AND dateDiff('day', toDateTime(order_date), toDateTime(deliver_date)) > 3; + +SELECT + dateDiff('day', toDateTime(order_date), toDateTime(deliver_date)), COUNT(DISTINCT source_platform) +FROM dwd_trade_hkaudit_ecommerce_sale_mt +WHERE manual_order IS NULL +GROUP BY dateDiff('day', toDateTime(order_date), toDateTime(deliver_date)); \ No newline at end of file