数据管理与报表中的参数和宏使用规则介绍

V5中建立数据集时因业务需要往往设置参数和宏,对数据管理中建立数据集时可建立的参数和宏、报表中参数和宏的设置和显示规则、参数和宏在通用查询中的显示规则、报表中同名参数和宏的处理规则进行介绍(仅针对SQL检索和复杂AQL类型数据集)。

一.数据管理中建立数据集时可建立的参数和宏

SQL检索

        建立SQL检索时,可为数据集设置参数。
目前提供三种参数类型:普通参数、动态参数、会话变量,其中会话变量时取当前用户ID、角色ID、机构ID的参数的名称分别为:sys_UserID、sys_Roles_ForDAUC、sys_Orgs_ForDAUC。

        建立SQL检索时,可设置数据集中的参数是否在通用查询中显示。

 需要注意的是:

        1.SQL检索不支持参数值is null时输出所有数据

        2.SQL检索不支持宏和非数据集参数的使用

复杂SQL

        简单复杂SQL时,可为数据集设置参数和宏。

        目前提供的参数设置和参数类型及会话变量的名称同SQL检索。另外,复杂SQL中的参数也可以设置是否在通用查询中显示,且能够设置非数据集参数来为动态宏传值。

        复杂SQL中的宏可分为通用查询中的宏和自定义宏。通用查询中的宏无类型划分,必须下在where条件之后,仅用于通用查询条件的匹配;自定义宏分为动态宏和普通宏,可写在数据集sql的任意位置。(具体的制作示例见:RBP-196988)

 注意:目前使用复杂SQL建立报表时,若需在报表中添加通用查询,则必须在建立复杂SQL时进行通用查询条件的配置

二.报表中参数和宏的设置和显示规则

        目前可以设置和显示参数和宏的有复杂报表,因此仅针对复杂报表。

        制作报表时,引入含参数和宏的数据集后,数据集中所有参数和宏分别会反显在【参数设置】和【宏定义】中,并支持修改参数和宏的相关设置,其中通用查询的宏不允许修改。

        另外,报表中需要增加参数和宏时,也可在【参数设置】和【宏定义】中进行定义。

三.参数和宏在通用查询中的显示规则

        目前仅普通参数和自定义的普通宏可以显示在通用查询中,动态参数、会话变量、通用查询的宏、动态宏均不在通用查询中显示。

        数据集中的参数设置在通用查询中显示的,使用该数据集制作报表并添加通用查询时,该参数可显示在通用查询中作为一个查询条件;数据集中参数设置不在通用查询中显示的,则不会显示在通用查询中;对于其他数据集(例如:其他类型数据集、v4数据集、旧版数据集)中没有设置是否在通用查询中显示的,均会显示在通用查询中。

        数据集中的自定义普通类型的宏均会显示在通用查询中。

        报表中新增的普通参数和自定义普通宏均会显示在通用查询中。

四.报表中同名参数和宏的处理规则

        当报表需要引入多个数据集,多个数据集中存在同名宏和参数时,报表中不允许存在同名宏和参数,此时会对数据集中的参数和宏进行判断。

引入数据集时参数和宏判断

        报表中引用多个数据集,后引入数据集的中的参数在报表中已存在相同名称的参数时,当参数的数据类型、参数类型也与已存在的同名参数完全相同时,当这些同名参数为相同业务含义,允许后引入的数据集被正常引入到报表中,且将同名、数据类型、参数类型的参数进行合并,在【参数设置】中仅一个,参数的默认值取后引入者的值;后引入数据集的中的参数在报表中已存在名称参数时,当参数的数据类型、参数类型有至少有一个不相同时,该数据集不允许被引入到报表中且系统给予友好提示。

        报表中引用多个数据集,后引入数据集的中的宏在报表中已存在相同名称的宏时,该数据集不允许被引入且系统给予友好提示。

新建参数和宏时的判断

        在报表中新增参数和宏时,若【参数设置】和【宏定义】中已存在同名的参数或宏时,系统会不允许保存成功且会给予友好提示。

删除数据集时参数和宏的处理

        报表中删除数据集时,会将属于该数据集的参数和宏一起删除,其他数据集和报表中新建的参数和宏不会动。

        如果属于该数据集的参数与其他数据集的参数进行了合并,删除该数据集时,不会将【参数设置】中的该参数删除;但是如果该数据集的参数与报表自己的参数进行了合并,删除该数据集时,报表自己的参数也会一同被删除。

标签: