本年的“年-月”求去年同期的“年-月”

这个是我写的(麻烦帮忙看看是否是有问题时间格式是:yyyy-mm):

${if(开始时间1!='',"and a.Fymonth >='"+yeardelta(开始时间1,-1)+"'","")} 

 ${if(结束时间1!='',"and a.Fymonth >='"+yeardelta(结束时间1,-1)+"'","")} 


最好可以给写一个小例子,便于我理解

FineReport liyazhou 发布于 2020-5-20 19:04
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
cherry团子Lv6中级互助
发布于2020-5-20 19:47

 ${if(len(开始时间1)=0 || len(结束时间1)=0 ,""," and a.Fymonth  between '"+yeardelta(开始时间1,-1)+"' and '"+yeardelta(结束时间1,-1)+"' ")} 

这样试试?

最佳回答
0
meatSteamedLv6见习互助
发布于2020-5-20 22:46

left(YEARDELTA(DATEINMONTH("2020-05",1),-1),7)


取出本年年月所在月的第一天,然后取去年同期值,然后截取年月即可

最佳回答
0
547417937Lv4初级互助
发布于2020-5-21 08:26

and a.Fymonth between DATEADD(YEAR,-1,'${dBegin}') and '${dEnd}'

这个可以在数据集查询出去年同期截止至今的数据

然后在模板里面单元格设置过滤条件

日期小于或等于yeardelta($dEnd,-1)

and  

日期大于或等于monthdelta($dBegin,-1)


最佳回答
0
圣体叶小凡Lv6高级互助
发布于2020-5-21 08:53

 ${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) + "'")}  


  • 5关注人数
  • 635浏览人数
  • 最后回答于:2020-5-21 08:53
    请选择关闭问题的原因
    确定 取消
    返回顶部