数据库里有月份,现在要生成一个季度下拉框,并且汇总季度数据

有什么好的解决方法么

FineReport grjhr994857761 发布于 2020-4-1 17:42
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
0
axingLv6专家互助
发布于2020-4-2 09:54

月份除以3向上取整就是季度

季度下拉框直接设置为1,2,3,4

sql的写法各个数据库不同,如SqlServer:

where ceiling(月份/3.0)=${季度}


最佳回答
0
LSQ000Lv5中级互助
发布于2020-4-1 17:49

下拉框数据字典自定义为“第一季度”、“第二季度”、“第三季度”、“第四季度”

最佳回答
0
cherry团子Lv6中级互助
发布于2020-4-1 18:43

截取你日期的月份,用case when 判断 然后自己命名是第几季度,下拉框的话,就跟楼上说的一样,写自定义字典,汇总季度数据的话,你可以把数量这一栏拉出来,在页面汇总,当然你也可以在sql汇总,就是要嵌套sql

最佳回答
0
孤陌Lv6资深互助
发布于2020-4-1 19:11

写判断公式就好了

最佳回答
0
snrtuemcLv8专家互助
发布于2020-4-2 08:38

下拉框自定义 jd
实际值     显示值

    1        第一季度

    2        第二季度

    3        第三季度

    4        第四季度

select 日期,sum(数据) from 表  where  case 

when  ${jd}=1 then  formart(日期,"yyyymm")  between   year(today())+"01" and  year(today())+"03" 

when  ${jd}=2 then  formart(日期,"yyyymm")   between  year(today())+"04" and  year(today())+"06" 

when  ${jd}=3 then  formart(日期,"yyyymm")   between  year(today())+"07" and  year(today())+"09" 

when  ${jd}=4 then  formart(日期,"yyyymm")   between   year(today())+"10" and  year(today())+"12" 

最佳回答
0
xiaguangmangLv5见习互助
发布于2020-4-2 10:36

考虑在数据集中做处理,选择第一季度,可以吧对应的月份限定到1,2,3月,以此设置条件可以取到明细数据,再做季度统计就可以达到对应的效果了。

  • 7关注人数
  • 1250浏览人数
  • 最后回答于:2020-4-2 10:36
    请选择关闭问题的原因
    确定 取消
    返回顶部