报表知识库
巧用动态宏实现SQL中传递重复参数
润乾报表可以通过SQL检索和复杂SQL生成数据集。当SQL中需要传入多个参数时,要在设计器中通过 配置-参数 定义相应的参数,然后再把SQL中需要参数的地方替换成?,最后还要在SQL编辑器中添加对应?的参数。这样当SQL中有多少个问号,我们就需要添加多少个参数。当SQL中用到的参数比较少时,操作起来还比较方便。但当业务比较复杂,需要往SQL中传入多个重复的参数时,就需要在SQL编辑器的 参数标签页中反复多次添加多个重复参数。此时,工作量是相当大的。本文将给出一种巧用动态宏实现往SQL中传递参数的方法,该方法会大大减少重复添加相同参数的工作量,下面简单介绍一下该方法。
例如,需要往SQL中重复传递两个参数,开始时间和结束时间。
首先,在报表中分别定义两个参数,arg1,arg2,其中arg1代表开始时间、arg2代表结束时间,如下图
然后,定义两个宏,名称:macro1,macro2,设置类型:动态宏,设置如下图
然后,在SQL中需要参数的地方引用宏macro1和macro2,不需要设置数据集中的参数,即可实现传递参数的功能,如下图
这样就实现了使用动态宏传递参数到SQL中,而不需要在SQL编辑器的参数标签页反复添加重复的参数了。
动态宏传递参数到SQL中,减少了用户制作报表时不必要的重复繁琐的工作,为用户设计和制作复杂报表带来了很大的方便。