日期控件问题

image.png就是我现在想一打开页面,是根据年查询出整年的数据,然后客户如果想查询月就再自己去月的下拉框中选月份点查询,就可以把对应月份有数据的筛选出来,我该如何设计会比较合适呢?谢谢各位大神指导

FineReport HRainMountain 发布于 2024-10-17 09:38
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
华莉星宸Lv7资深互助
发布于2024-10-17 09:42

条件属性是在列宽为0

最佳回答
0
没有想好名字那就叫小明吧Lv4初级互助
发布于2024-10-17 10:29

思路:改数据集,数据集内月份参数写为${if(len(inmonth)==0,""," and month='"+inmonth+"'")};

然后你得查询聚合里面,处理一下month字段根据上边的if参数设置为null或者月份本身,然后进行年度sum求和;

针对报表:

月份控件不设置默认值,这样就实现初始化的时候月份为空,年度求和,用户选择月份筛选,则查询对应月份/累计月份的数据了,这个要根据数据集sql里面的逻辑而定。

此方法优势:只要SQL处理得当,对报表加载压力减小,加载速度会比较高。如果是页面上做条件属性控制,针对数据比较多的情况,页面加载速度影响较大。

  • HRainMountain HRainMountain(提问者) 可是我数据表是一到12月,12个字段,one,two,three,,,,这样的,感觉不好搞啊
    2024-10-17 11:10 
  • HRainMountain HRainMountain(提问者) 你这个思路是把月份的数据以集合的方式存在month字段里吗?那这样一样也要做if判断吧?比如你现在选5月,你肯定要对这个month字段做截取第五个位置吧
    2024-10-17 11:20 
  • 没有想好名字那就叫小明吧 没有想好名字那就叫小明吧 回复 HRainMountain(提问者) 先把数据行列转置,然后根据条件筛选出需要的月份,然后SQL数据集里面筛选即可,然后数据集拖到表单上的话,做成拓展绑定月份列,月份列采用range(1,$inyear,1)的方式生成月份,然后SQL数据集里面的月份和这个月份筛选绑定即可!
    2024-10-22 09:44 
最佳回答
0
辣子鸡Lv5初级互助
发布于2024-10-17 10:38(编辑于 2024-10-17 10:44)

format(date,'%Y')='${Y}'

${if(len(M)=0,"","and format(date,'%m') ='"+M+"'")}

  • 4关注人数
  • 149浏览人数
  • 最后回答于:2024-10-17 10:44
    请选择关闭问题的原因
    确定 取消
    返回顶部