周边数据需求#

需求背景#

零食事业部需要的周边相关报表

需求频率#

每月第一个工作日,发送至零食事业部@李慧 @刘垚 。

目录结构#


周边数据分析
├─ main.py
├─ query1.csv
├─ query2.csv
├─ query3.csv
├─ ReadMe.md
└─ 周边数据需求.db

数据查询及导出#

查询周边销售数据#

查询结果保存为query1.csv

SELECT 
    stat_shop_id AS 门店编号, 
    item_name AS 周边产品名称, 
    SUM(dp_item_count) AS 周边产品销量, 
    SUM(dp_total_amount) AS 周边产品流水 
FROM 
    ads_dbs_trade_food_di 
WHERE 
    food_category_name in ('周边产品' ,'周边')
    AND business_date like '202604%'
GROUP BY 
    stat_shop_id,item_name 
HAVING 
    SUM(dp_item_count) > 0;

查询周边报货数据#

查询结果保存为query2.csv

WITH report_order AS ( 
    SELECT 
        id AS `订单ID`, 
        order_num AS `订单编号`, 
        order_status AS `订单状态`, 
        order_time AS `订单时间`, 
        order_type AS `订单类型`, 
        order_notes AS `订单备注`, 
        store_code AS `门店编号` 
    FROM dwd_rps_tll_order_di 
), 
unique_orders AS ( 
    SELECT 
        `订单ID`, 
        `订单编号`, 
        `订单状态`, 
        `订单时间`, 
        `订单类型`, 
        `订单备注`, 
        `门店编号`, 
        ROW_NUMBER() OVER (PARTITION BY `订单ID` ORDER BY `订单时间` DESC) AS rn 
    FROM report_order 
), 
report_order_details AS ( 
    SELECT 
        id AS `详单ID`, 
        order_id AS `订单ID`, 
        product_info AS `存货名称`, 
        product_specification AS `存货规格`, 
        product_id AS `产品ID`, 
        sku_code AS `存货编码`, 
        quantity AS `数量`, 
        actual_amount AS `实际金额` 
    FROM dwd_rps_tll_order_details_di 
), 
summary_table AS ( 
    SELECT 
        uo.`门店编号`, 
        rod.`存货名称`, 
        rod.`实际金额`, 
        rod.`数量` 
    FROM unique_orders uo 
    INNER JOIN report_order_details rod 
        ON uo.`订单ID` = rod.`订单ID` 
    WHERE 
        CAST(rod.`存货编码` AS CHAR) LIKE '108%' 
        AND uo.`订单状态` >= 3 
        AND uo.`订单状态` != 5 
        AND uo.rn = 1 
        -- 修改了这里的日期过滤条件
        AND uo.`订单时间` >= '2026-04-01' AND uo.`订单时间` < '2026-05-01'
)
SELECT 
    `门店编号`, 
    `存货名称`, 
    SUM(`数量`) AS `周边报货数量`, 
    SUM(`实际金额`) AS `周边报货金额` 
FROM summary_table 
GROUP BY `门店编号`, `存货名称` 
ORDER BY `门店编号`, `存货名称`;

查询门店销售数据#

查询结果保存为query3.csv

SELECT 
    shop_id AS 门店编号, 
    SUM(amount) AS 门店流水, 
    SUM(income) AS 门店实收, 
    SUM(order_cnt) AS 门店订单数 
FROM ads_dbs_trade_shop_pay_channel_di 
WHERE pt like '202604%'
  AND (shop_id LIKE 'TLL%' OR shop_id LIKE 'ZYD%') 
GROUP BY shop_id 
ORDER BY 门店编号;

项目地址#

https://e.coding.net/fuwenyue/tianlala/snacks_sales.git