集深V5中宏的应用

一、报表实例

制作“雇员信息表”,最后一栏根据输入值显示“家庭电话”或“邮政编码”。

二、设计过程

第1步:新建报表

第2步:引用数据集demo_雇员信息

第3步:定义宏

在菜单工具栏选择【报表属性】->【宏定义】,打开报表的“宏定义”界面,

 

单击【增加】按钮,添加宏tel,可对宏的名称、描述、值等做编辑,编辑完点击【确定】即可。本例中将宏值设为“家庭电话”:

第4步:定义参数

新增一个参数telephone,其它属性默认不变,值表达式为“电话”,

第5步:定义表达式

1. F1单元格表达式为:=@telephone

2. F2单元格表达式为:= demo_雇员信息.${tel}

第6步:保存预览   

此报表保存为“雇员信息表”。预览,最后一列显示家庭电话。

设置参数telephone的值为“邮编”,宏tel的值为“邮政编码”,预览时报表的最后一列显示邮政编码:

三、小结

1. 宏的作用

 宏被设计为可以替换SQL语句中的任意内容,因此它可以实现参数不能实现的功能(例如动态条件、动态表名等)。目前只有复杂SQL数据集可以设置宏。
    使用宏时,在SQL的任意位置写上宏的标记“${宏名}”,之后外部通过该名称传入宏的值时,这个值即被替换到SQL语句的对应位置中。由于SQL语句的实质是一个字符串,因此宏的值也必须是一个字符串。

2. 参数与宏的区别

参数在表达式中被当成变量来使用,在表达式进行计算的过程中,才引用参数的变量值。
    宏在表达式中是没有数据类型的符号,它指代一串字符,这串字符是表达式的一部分。报表在运算前,该表达式会进行宏替换,把宏名替换成宏值,之后才进行报表的表达式运算。与参数相比较,宏只是单纯进行字符串的替换。
    举例来说,某个表达式为 =ds1.select(${macro1}),而macro1的值为col1,那么该表达式会被替换成=ds1.select(col1),替换后才进行表达式的运算。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值