这个是我写的(麻烦帮忙看看是否是有问题时间格式是:yyyy-mm):
${if(开始时间1!='',"and a.Fymonth >='"+yeardelta(开始时间1,-1)+"'","")}
${if(结束时间1!='',"and a.Fymonth >='"+yeardelta(结束时间1,-1)+"'","")}
最好可以给写一个小例子,便于我理解
${if(len(开始时间1)=0 || len(结束时间1)=0 ,""," and a.Fymonth between '"+yeardelta(开始时间1,-1)+"' and '"+yeardelta(结束时间1,-1)+"' ")}
这样试试?
left(YEARDELTA(DATEINMONTH("2020-05",1),-1),7)
取出本年年月所在月的第一天,然后取去年同期值,然后截取年月即可
and a.Fymonth between DATEADD(YEAR,-1,'${dBegin}') and '${dEnd}'
这个可以在数据集查询出去年同期截止至今的数据
然后在模板里面单元格设置过滤条件
日期小于或等于yeardelta($dEnd,-1)
and
日期大于或等于monthdelta($dBegin,-1)
${if(len(开始时间1) == 0,"","and a.Fymonth >= '" +left(YEARDELTA(FORMAT(CONCATENATE(开始时间1,"-01"),"yyyy-MM-dd"),-1),7) + "'")} ${if(len(结束时间1) == 0,"","and a.Fymonth <= '" +left(YEARDELTA(FORMAT(CONCATENATE(结束时间1,"-01"),"yyyy-MM-dd"),-1),7) + "'")}