You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

计算日斜率或周销售环比差值的技术实现问询

周销售额差值计算实现方案

通用逻辑

  • 第一步:按周维度分组,计算每周的销售总额
  • 第二步:对周销售总额做差分计算,即当前周总额减去上一周总额,得到每周对应的change值
  • 第三步:将每周change值关联映射到原数据表对应周的所有行,首周无前置数据的位置可以填充0、null等任意值,满足同周change值统一即可

实现代码

SQL实现(支持窗口函数的数据库,如MySQL8.0+、PostgreSQL、Hive等)

WITH week_total AS (
    -- 计算每周总销售额
    SELECT week, SUM(sale) AS total_sale
    FROM 你的表名
    GROUP BY week
),
week_change_calc AS (
    -- 计算每周和上周的销售额差值
    SELECT week, 
           total_sale - LAG(total_sale, 1) OVER (ORDER BY week ASC) AS week_change
    FROM week_total
)
-- 关联回原表得到最终结果
SELECT t.week, t.sale, COALESCE(wc.week_change, 0) AS `change`
FROM 你的表名 t
LEFT JOIN week_change_calc wc ON t.week = wc.week
ORDER BY t.week;

执行后首周(周20)change值为0,周21为-50,周22为-10,符合要求。

Python Pandas实现

import pandas as pd

# 假设你的原始数据存在DataFrame df中
# 1. 按周聚合销售额并计算周差值
week_agg = df.groupby('week', as_index=False)['sale'].sum()
week_agg['change'] = week_agg['sale'].diff()

# 2. 将周差值映射回原表
df = df.merge(week_agg[['week', 'change']], on='week', how='left')

# 3. 首周空值填充为0,也可根据需要填充None
df['change'] = df['change'].fillna(0).astype(int)

运行后输出结果和你给出的期望输出完全一致。

内容的提问来源于stack exchange,提问作者lil-wolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 02:45:03