思路:改数据集,数据集内月份参数写为${if(len(inmonth)==0,""," and month='"+inmonth+"'")};
然后你得查询聚合里面,处理一下month字段根据上边的if参数设置为null或者月份本身,然后进行年度sum求和;
针对报表:
月份控件不设置默认值,这样就实现初始化的时候月份为空,年度求和,用户选择月份筛选,则查询对应月份/累计月份的数据了,这个要根据数据集sql里面的逻辑而定。
此方法优势:只要SQL处理得当,对报表加载压力减小,加载速度会比较高。如果是页面上做条件属性控制,针对数据比较多的情况,页面加载速度影响较大。