动态宏
动态宏和普通/条件宏的主要区别在于普通/条件宏是直接将宏值传到报表中计算,动态宏是把传进来的宏值当成表达式进行计算,然后再把计算得到值做为宏值传到报表中参与计算。
数据集sql如下:
SELECT * FROM t_user where ${userID} and ${tuser}
切换到宏配置tab页后,系统自动获取到userID和tuser宏,手动设置userID为条件宏,tuser宏为动态宏。
定义tuser宏的表达式为:
if(@sys_UserID=="root","1=1","user_id='"+@sys_UserID+"'")
编辑完成并【确定】,系统可自动获取到表表达式中为@标识的参数名称,用户可设置参数的类型、表达式、数据类型、默认值等。
动态宏中使用的参数一般为非数据集参数,使用时参数必须以@符号开头进行标识。
动态宏和普通/条件宏的主要区别在于普通/条件宏是直接将宏值传到报表中计算,动态宏是把传进来的宏值当成表达式进行计算,然后再把计算得到值做为宏值传到报表中参与计算。
数据集sql如下:
SELECT * FROM t_user where ${userID} and ${tuser}
切换到宏配置tab页后,系统自动获取到userID和tuser宏,手动设置userID为条件宏,tuser宏为动态宏。
定义tuser宏的表达式为:
if(@sys_UserID=="root","1=1","user_id='"+@sys_UserID+"'")
编辑完成并【确定】,系统可自动获取到表表达式中为@标识的参数名称,用户可设置参数的类型、表达式、数据类型、默认值等。
动态宏中使用的参数一般为非数据集参数,使用时参数必须以@符号开头进行标识。