- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(UAP报表开发手册
UAP报表开发手册
说明:本手册是对报表帮助文档的补充,在看本手册前建议先看报表的帮助文档
1. 数据源定义
报表数据源可分为实体关系查询,SQL脚本查询和自定义查询三个类型,如下图所示:
图1.1
其中数据源名称和数据源描述是为了标识数据源以及说明数据源的功能。
1.1查看或修改现有数据源
“查看或修改现有数据源”是指对原先已经创建的数据源进行修改(系统预置的数据源不允许修改),或者可以在新建报表时选择已存在的数据源,如下图:
图1.2
选“下一步”:
图1.3
则列所有已存在的数据源,选择其中一个,按“下一步”:
图1.4
功能列表是数据引擎内部使用机制,直接选“下一步”:
图1.5
这个是设置报表数据源的最后一个步骤,由于选定的数据源为自定义查询类型,所以第一个页签为自定义查询组件的相关信息(关于自定义查询组件的具体情况,请查阅本手册1.3单元);第二个页签如下图:
图1.6
查询结果列是指该数据查询结果的具体情况,包括列名称,列的数据类型,列的区域语言描述。这些信息将构成报表格式设计时的数据源信息(关于这部分内容的详细情况请参阅UAP报表设计时帮助文档)。
另一个页签为“过滤条件设置”,如下图:
图1.7
具体包括过滤条件名称,过滤条件的区域语言描述,这个将在过滤条件的数据源下拉列表中出现,这些信息将用来设置从过滤控件读去用户输入条件值来对查询的结果进行过滤(具体情况清参阅本手册2.2单元)。
之后,选择“完成”即结束数据源定义而进入报表格式定义。
1.2实体关系查询
在图1.1步骤中选定“实体关系查询”,点击“下一步”则进入实体关系查询类型的数据源定义:
图1.8
这里必须要添加至少一个关联实体,点击“添加”,则可选择系统已经定义好的实体:
图1.9
选定实体,然后点击“确定”:
图1.10
点击“下一步”(如果选择了多个实体,则还需要定义实体之间的关系。关于如何定义一个实体以及如何定义实体之间的关系,请参阅数据引擎的相关文档):
图1.11
接着必须添加结果列,即图1.6中的“查询结果列”。点击“添加”:
图1.12
这里弹出的列表为选定的单个实体或多个实体能查询到的所有的结果列的信息。选定需要的查询结果列后,点击“确定”:
图1.13
这个步骤中,“行数据权限”可以用来限制用户查询某些具体行数据的权限(行数据权限的设置以及其他高级功能的使用方法请查阅数据引擎相关文档)。
1.3 SQL脚本查询(含存储过程)
在图1.1步骤中选定“SQL脚本查询”,点击“下一步”则进入SQL脚本查询类型的数据源定义:
图1.14
SQL脚本查询类型又分为SQL脚本和存储过程两个类别,可通过第一个页签的左上端的下拉列表中选择相应的类别(具体如何定义两种类别请查阅数据引擎相关文档)。其他三个页签中,“查询结果列”和“过滤条件设置”已经在前面的单元中说明,此处不在详述。其中,这种数据源类型有一个“查询参数设置”页签,如下图:
图1.15
如果脚本类型中选择的是“存储过程”,则此处可以使用“刷新”按钮来获取存储过程所需要的参数;而SQL脚本类型则需要手动填写参数的信息。需要注意的是,参数的名称必须与存储过程或SQL脚本的名称完全一致。运行时查询参数的具体值来源是通过过滤条件获得的,因此查询参数需要和过滤条件绑定在一起(绑定方法请参阅本手册2.2单元)。
由于很多存储过程的数据源内部处理时使用临时表,并且将此临时表的数据作为报表的数据源的物理表,因此,为提高效率,报表系统对此种类型的存储过程将直接使用其生成的临时表进行查询,而不再另外创建查询数据的临时表。为实现上述机制,存储过程需要提供一个名称为@tablename的字符串参数,报表系统在查询过程中调用该存储过程时,将对此参数传入一个数据库物理表名,存储过程内部处理数据时,需要将处理的最终结果填写到这个物理表中。需要注意的是,这个物理表需要在存储过程内部创建,从而可达到满足存储过程自身对表结构的控制。以下为一个存储过程例子:
CREATE PROCEDURE DataSourceBankInfo
(
@tablename NVARCHAR(200)
)
AS
-- 创建临时表
DECLARE @sql NVARCHAR(1000)
SET @sql = NCREATE TABLE +@tablename+
(
银行编码 NVARCHAR(10) NOT NULL PRIMARY KEY,
银行名称 NVARCHAR(100) NOT NULL
)
EXEC (@sql)
-- 向临时填入数据
SET @sql = NINSERT INTO +@tablename+ VALUES(N01
文档评论(0)