怎么计算同比增长率和环比增长率

这是我写的sql,写到这里写不下去

SELECT strftime('%Y-%m',`订购日期`) AS 订购年月,

SUM(数量) AS 当月销售

FROM 订单明细 DM

LEFT JOIN 订单 D ON DM.订单ID=D.订单ID

GROUP BY strftime('%Y-%m',`订购日期`)

效果图:


FineReport 深巷 发布于 2020-7-29 19:24 (编辑于 2020-7-29 19:24)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2021-2-6 08:43
select t.m,t.ym,       t.销量,       t1.销量 同期,       (case when t1.销量 is null then ''            else (t.销量-t1.销量)/t1.销量 end) 同比,       t2.销量 上期,       (case when t2.销量 is null then ''            else (t.销量-t2.销量)/t2.销量 end) 环比 from  ( select strftime('%m',b.订购日期)+0 m,       strftime('%Y-%m',b.订购日期) ym,       sum(a.数量) 销量 from 订单明细 a     left join 订单 b on a.订单ID=b.订单ID where strftime('%Y',b.订购日期) = '${y}' group by strftime('%Y-%m',b.订购日期) ) t left join ( select strftime('%m',b.订购日期)+0 m,       strftime('%Y-%m',b.订购日期) ym,       sum(a.数量) 销量 from 订单明细 a     left join 订单 b on a.订单ID=b.订单ID where strftime('%Y',b.订购日期) = '${y-1}' group by strftime('%Y-%m',b.订购日期) ) t1 on t.m=t1.m left join ( select (case when strftime('%m',b.订购日期)+0 <=11         then strftime('%m',b.订购日期)+1 end) m,       strftime('%Y-%m',b.订购日期) ym,       sum(a.数量) 销量 from 订单明细 a     left join 订单 b on a.订单ID=b.订单ID where strftime('%Y',b.订购日期) = '${y}' group by strftime('%Y-%m',b.订购日期) ) t2 on t.m=t2.m

image.png

最佳回答
0
zsh331Lv8专家互助
发布于2020-7-30 07:28

楼主:直接在单元格中运用(层次指标)求同期比,环比

也行!实现方法参考文档!

同期比-https://help.finereport.com/doc-view-349.html

环比-https://help.finereport.com/doc-view-350.html



  • 深巷 深巷(提问者) 题目要求不能在单元格内计算
    2020-07-30 11:06 
  • zsh331 zsh331 回复 深巷(提问者) 下下下↓↓↓
    2021-02-06 14:44 
  • 4关注人数
  • 967浏览人数
  • 最后回答于:2021-2-6 08:43
    请选择关闭问题的原因
    确定 取消
    返回顶部