巧用动态宏实现SQL中传递重复参数
润乾报表可以通过SQL检索和复杂SQL生成数据集。当SQL中需要传入多个参数时,要在设计器中通过 配置-参数 定义相应的参数,然后再把SQL中需要参数的地方替换成?,最后还要在SQL编辑器中添加对应?的参数。这样当SQL中有多少个问号,我们就需要添加多少个参数。当SQL中用到的参数比较少时,操作起来还比较方便。但当业务比较复杂,需要往SQL中传入多个重复的参数时,就需要在SQL编辑器的 参数标签页中反复多次添加多个重复参数。此时,工作量是相当大的。本文将给出一种巧用动态宏实现往SQL中传递参数的方法,该方法会大大减少重复添加相同参数的工作量,下面简单介绍一下该方法。
例如,需要往SQL中重复传递两个参数,开始时间和结束时间。
首先,在报表中分别定义两个参数,arg1,arg2,其中arg1代表开始时间、arg2代表结束时间,如下图
然后,定义两个宏,名称:macro1,macro2,设置类型:动态宏,设置如下图
然后,在SQL中需要参数的地方引用宏macro1和macro2,不需要设置数据集中的参数,即可实现传递参数的功能,如下图
这样就实现了使用动态宏传递参数到SQL中,而不需要在SQL编辑器的参数标签页反复添加重复的参数了。
动态宏传递参数到SQL中,减少了用户制作报表时不必要的重复繁琐的工作,为用户设计和制作复杂报表带来了很大的方便。
引自:润乾报表知识库
相关文章:润乾报表中如何实现多值查询; split函数及其特殊用法;横向分页报表的标题切分
其他相关内容: 润乾 ; 商业智能BI联盟 ; 报表软件 ;Java报表商业智能解决方案web报表的扩展功能
相关文档:
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!
:B;wrN$EEx)[ aL0
在这篇文章里,我将告诉你如何使用DATEADD和 ......
第十一题:
有表students(name,class,grade),请用标准sql语句完成
name class grade
张三 数学 81
李四 语文 70
王五 数学 90
张三 语文 60
李四 数学 100
王五 语文 90
王五 英语 81
要求: 用sql语句输出各门功课都大于80分的同学姓名?
create table students (
name varchar(25),
class varchar(25), ......
.NET中C#的byte关键字映射.NET的Byte结构:表示一个 8 位无符号整数。Byte 值类型表示值介于 0 和 255 之间的无符号整数。
.NET中C#的short关键字映射.NET中的Int16:有符号 16 位整数,-32,768 到 32,767。
SQL SERVER中的tinyint:从 0 到 255 的整型数据。存储大小为 1 字节。
sbyte:存储8位带符号整数。sbyt ......