当前位置:首页 > NC查询引擎使用文档V3.1 - 图文
4.3 穿透规则
〃 数据穿透:假定报表R1上存在某个区域A1,A1内部有若干业务数据,如果以A1为出发点能够切换到另一张报表R2的上的区域A2,而且A1和A2的内部数据存在着某种内在联系,则称可以从R1穿透到R2。当这种穿透行为传递下去,我们就可以了解某张报表的数据明细,甚至追溯到它的数据来源。通常我们会把上述的区域选为一个表格行或者一个表单元,而上述的内在联系就称为穿透规则。
一个查询上可以定义多个穿透规则,每个规则需要指定穿透的目标查询,同时目标查询上要创建一个过滤型参数,用于接收穿透区域的取值。
如我们现在定义了两个查询:公司部门和部门人员,如图3-32。我们希望在浏览公司部门的时候选中某个部门能穿透到部门人员查询查看这个部门下的所有员工。这首先需要我们在公司部门的查询列和部门人员的查询参数之间建立一个关联关系。这里我们选择公司部门的部门编码(deptcode)列;在部门人员查询里加入一个查询参数部门编码(deptcode,源查询列和目标查询参数名字不一定要相同,但是含义要一致),并在查询定义里引用该参数作为过滤条件。
图3-32 公司部门(上)和部门人员(下)
第 22 页
定义公司部门的穿透规则,选择查询间穿透向导,设置如下
图 3-33 穿透规则定义向导
图 3-34 穿透规则代码
下图显示了一个由人员信息穿透到薪资信息再穿透到同姓员工工资信息,最后穿透到每月明细的用例,其中第一步穿透是单列等值穿透(相当于“人员=’李涤非’”),第二步是非等值穿透(相当于“姓名 like ‘李%’”),第三步是多列联合穿透(相当于“人员=’李屏’ and 年份=’2003’”)。
第 23 页
图 3-35 穿透效果示意
第 24 页
5. 查询浏览
5.1 查询执行与展现
在建立好查询模型之后,系统提供预览查询执行结果的功能。用户首先输入执行查询所需要的参数取值(如果有参数的话),查询引擎会根据该查询对象的数据源去对应的数据库执行查询,在经过查询结果集评估(对于查询记录数过大的情况允许用户优化或放弃查询)之后,把结果集展现给用户。在展现之后,用户可以继续进行穿透、交叉等工作。
图 3-36 查询预览
5.2 数据导出
导出功能支持将预览数据导出为纯文本文件,并可进而用EXCEL打开。随着产品的发展,数据导出的格式会逐步丰富。
5.3 创建物化表
查询引擎可以根据预览数据直接到数据库创建物化表,同时将物化表的结构注册到数据字典(物化表会注册到DDC的 物化临时表 目录下)中,以后的SQL设计就可以基于新创建的物化表进行,从而扩充了查询集成的范围。引用了物化表的查询,在执行前会提示是否同步刷新物化表,如果选择了刷新,则会按当前的参数设置传递给产生物化表的查询,重新执行得到结果并更新物化表,再在此基础上执行当前查询;如果未选择刷新,则直接基于物化表里的已有数据执行查询。
第 25 页
共分享92篇相关文档