润乾报表中宏的概念

宏的概念

宏是一个没有数据类型的字符串标识,在报表运算之前,系统会全面搜索整张报表的表达式定义,将所有的宏名替换成宏值。

利用宏可以在报表中动态的进行表达式的替换,根据用户传入的不同宏值,在报表中可以计算出不同的表达式结果,从而得到不同的报表信息。这样用户就不用根据不同的情况编制许多不同的报表了,大大减轻了用户的工作量。

比如:有一张包含员工基本信息的报表,有时我们需要在报表中包含员工的奖金而不包含薪金,有时我们需要在报表中包含薪金而不包含奖金。用户可以设计一张包含奖金、一张包含薪金的两张表来实现这个功能,但是利用宏只需要设计一张报表就可实现,把宏值设置为奖金就得到包含奖金的报表,把宏值设置为薪金就得到包含薪金的报表。我们将在下面的实例中讲解如何利用宏来制作这样的报表。

此外我们还可以利用宏来实现按一个数据集的任意字段查询,这是利用参数所不能实现的。

注意:填报属性、数据集属性中的参数值,这两个地方目前不能用宏,其它地方的表达式都可以使用。属性值不能用宏,宏只能用在表达式中。

宏在表达式中的引用方法为“${宏名}”。宏不能写在引号里面。

宏的作用

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

参数与宏的区别

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



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值