求销售同比环比数据该怎么求条件如下图

微信图片_20211230093204.png微信图片编辑_20211230090522.jpg

FineReport yaaa 发布于 2021-12-30 09:05 (编辑于 2021-12-30 09:33)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2021-12-30 09:07(编辑于 2021-12-30 09:40)

写sql

订单明细环比

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.订购日期)

union

select (case when strftime('%m',b.订购日期)+0 =12

        then 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-1}'

group by strftime('%Y-%m',b.订购日期)

) t2 on t.m=t2.m

image.png

====================

select distinct strftime('%Y',订购日期) as year from 订单 order by year asc

  • yaaa yaaa(提问者) 想要实现下拉菜单下选择年份,出现对应年月的数据,但我设置完数据字典之后也没有实现这个效果,而且下拉框出现的只有1997年 应该怎么解决呢
    2021-12-30 09:36 
  • snrtuemc snrtuemc 回复 yaaa(提问者) 我的sql中,已经带参数了,只是参数名是y,就是控件名用y,你可以改成你的控件名,置于下拉框的年份,看修改答案,我把sql放上面
    2021-12-30 09:40 
  • yaaa yaaa(提问者) 回复 snrtuemc 修改答案的这句sql应该改在哪里呀
    2021-12-30 10:13 
  • snrtuemc snrtuemc 回复 yaaa(提问者) 新建一个数据集,写这个sql,然后下拉框数据字典用这个数据集
    2021-12-30 10:14 
  • yaaa yaaa(提问者) 回复 snrtuemc 好的 谢谢啦
    2021-12-30 10:30 
最佳回答
0
yzm265675Lv4见习互助
发布于2021-12-30 09:16(编辑于 2021-12-30 16:59)
  • 3关注人数
  • 452浏览人数
  • 最后回答于:2021-12-30 16:59
    请选择关闭问题的原因
    确定 取消
    返回顶部