8、宏变量
金蝶云社区-zhenwang_wu
zhenwang_wu
1人赞赏了该文章 3249次浏览 未经作者许可,禁止转载编辑于2015年07月08日 09:56:25

宏变量 扩展报表系统提供设置宏变量的功能,方便用户自己去定义变量。支持在参数默认值、参数数据来源以及SQL数据集查询语句、报表单元格表达式中使用宏变量。
一、定义宏 进入报表工具后,点击工具栏【宏定义】按钮,进入宏定义页签,如下图所示。

如上图所示,在宏定义页签中,可以对宏变量进行查找、刷新预览、新建、编辑、修改属性、删除、导入、导出等操作。支持新建SQL宏和公式宏,宏的返回值类型包括单值和多值两种,宏值为宏执行后的第一列数据。
[u]新建SQL宏:[/u] 点击【新建SQL宏】按钮,弹出新建SQL宏窗口,如下图所示,窗口包含“查询”和“外部数据库”两个页签:


在“查询”页签,用户可以使用KSQL语法自定义SQL查询语句;若要使用方言,可点击下方的【添加方言标记】按钮,则SQL查询语句的最上方显示“/*dialect*/”。数据可以来源于当前登录的EAS数据中心,也可以来源于外部数据库(需要到“外部数据中心管理”页签中新建外部数据库连接)。
点击【预览】按钮,查看宏变量的执行结果:

点击【保存】按钮,弹出保存窗口,如下图所示,需要输入名称、选择宏值类型。


[u]新建公式宏:[/u] 点击【新建公式宏】按钮,弹出新建公式宏窗口,如下图所示,左侧分类列出宏支持的函数以及系统内置参数;右侧为内容区域,用户可在该区域定义宏,系统会对宏的定义进行语法解析;窗口下方显示函数说明、光标所在函数、参数等。另外,用户可进行窗口最大化、排版等操作。


二、宏的用法1、参数的默认值可以设置为宏变量 例如下图中输入框类型的参数,其默认值可以设置为单值宏:


2、参数数据来源可以设置为宏变量 例如下图中F7选择框类型的参数,其数据来源可以设置为宏:


3、在SQL数据集查询语句中使用宏变量 在SQL查询语句中使用宏变量时,若宏值是数值型,则不加单引号,直接使用“ $宏名 ”即可;若是字符型,则需要加单引号,如“ ‘$宏名’ ”。 例如,定义一个单值的SQL宏“CURRENTUSERNUMBER”,宏的内容是“select fnumber from T_PM_User where fid='@ExtRptCurrentUserInfoID'”,返回结果是当前用户编码。那么在数据集的SQL查询语句的过滤条件中可以使用该宏变量,如下图所示:


另外,在多次使用同一段固定SQL语句的情况时,可以将这段固定的SQL语句定义为宏变量。例如定义一个单值的公式宏“ORGINFO”,宏的内容是“ "(SELECT * FROM T_org_admin)" ”。那么在数据集的SQL查询语句中可以使用该宏变量(需要添加方言标记),如下图所示:


4、在报表单元格表达式中使用宏变量 在报表的单元格表达式中也可以使用宏变量,在宏名前加“$”符号来标识宏。如下图所示,公式编辑器的“数据集”抽屉中,新增了公式宏和SQL宏,双击宏名后在内容区域显示“$宏名”: