NC5自定义查询用户手册new 联系客服

发布时间 : 星期三 文章NC5自定义查询用户手册new更新完毕开始阅读

图17-25旋转交叉设置

则交叉后的结果如下图所示:

图17-26旋转交叉结果

(4)代码嵌入

代码嵌入包括SQL整理、数据加工、数据穿透等三种查询对象使用方式。 ? SQL整理

SQL整理是指在SQL查询之前,对SQL所作的调整。通常会根据参数的不同,对查询的表、字段或条件等信息进行增补或修改。SQL整理的具体内容由内嵌的代码片段描述(这与后面将介绍的数据加工和穿透规则一样),代码的录入可通过编码向导协助完成,尽管如此,这几种功能仍然推荐由高级实施人员或程序员使用。

图17-27 SQL整理代码

在图示的SQL整理代码中,当参数“detail”取值为“Y”时,引擎会在本查询对象已完成的SQL设计基础上多查询一张表(bd_defdoc)和两个字段(档案编码、档案名称),从而获得更明细的查询信息;如果该参数取值不为“Y”,则仍然按照SQL设计的定义去执行查询。

以下简单介绍几种SQL整理算法的编码向导使用方法: ? 追加查询表:参数为待追加的表物理名。

?

图17-28追加表向导

追加连接条件:与追加表同时使用,参数为连接模式、追加表物理名和追加的表间连接条件。

?

图17-29追加连接条件向导

追加查询字段:与追加表同时使用,参数为追加字段的表达式、显示名和别名。

?

图17-30追加字段向导

按参数追加条件:根据参数取值的不同追加不同的筛选条件,参数为参数名和筛选字段。

图17-31按参数追加条件向导

?

数据加工

数据加工是指某个(或某几个)查询结果集在经过一系列加工算法的变换后得到另一个结果集,而后者通常是业务上要求的展现结果。相关的算法又称为加工滤镜,滤镜通常支持输入多个结果集和输出一个结果集,并可以嵌套使用。

数据加工与SQL整理的区别在于:前者在SQL查询之后进行,作用的对象是结果集;后者在查询之前进行,作用的对象是SQL定义。

在数据加工的编码向导中,提供了多种实用加工滤镜。图示的数据加工代码把主键分别为“user1”和“user2”的两个结果集按照pk_corp字段为键进行了左外连接,并在连接结果中保留了“user_name1”、“pk_corp”、“user_name2”三列。

图17-32数据加工代码

以下简单介绍几种数据加工算法的编码向导使用方法:

由查询获得结果集:根据查询ID和参数获得查询结果集,如果没有参数或不需要设置参数,则参数变量可取null。

图17-33获得结果集向导

公式设置:参数为公式列名、返回值数据类型和公式,如果公式列名不存在则新增一列,否则将该列的内容更新为公式返回值。

图17-34公式编辑

图17-35公式定义

结果集连接:指定两个结果集的连接字段、连接方式和连接后的保留字段,得到连接后的结果集。

图17-36结果集连接向导

结果集联合:指定两个列结构相兼容的结果集,得到联合(union)后的结果。

图17-37结果集联合向导

?

数据穿透

数据穿透:假定报表R1上存在某个区域A1,A1内部有若干业务数据,如果以A1为出发点能够切换到另一张报表R2的上的区域A2,而且A1和A2的内部数据存在着某种内在联系,则称可以从R1穿透到R2。当这种穿透行为传递下去,就可以了解某张报表的数据明细,甚至追溯到它的数据来源。通常会把上述的区域选为一个表格行或者一个表单元,而上述的内在联系就称为穿透规则。

一个查询上可以定义多个穿透规则,每个规则需要指定穿透的目标查询,同时目标查询上要创建一个过滤型参数,用于接收穿透区域的取值。下图所示的穿透规则表达了这样的一个穿透意愿:当用户选中了当前查询结果的某行时,允许他按照“psncode”字段在选中行的取值穿透到另一个查询(即目标查询,其ID为“rygzay”),而目标查询的接收参数为“psncode”。

一个查询可以设置多条穿透规则,由本查询可穿透到的目标查询需要创建一个(或多个)过滤型参数,用于接收穿透值。下图所示的穿透规则表达了以下的穿透意愿:如果用户选中了当前查询结果的某行时,允许用户根据选中行的psncode字段取值穿透到另一个查询(即目标查询,其ID为“rygzan”),而目标查询的接收参数为psncode