目录

其他数据集

除了常用的SQL检索数据集和复杂SQL数据集,还可以建立存储过程、TXT文件、XML文件、内建数据集、自定义数据集、SAP数据集、集算数据集等。

存储过程

存储过程就是编译好了的一些sql语句。应用程序需要用的时候直接调用就可以了,所以效率比较高。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和复杂的运算。存储过程可以返回结果集,可以返回参数,也可以同时返回结果集和参数。

存储过程的参数分为输入参数和输出参数两种。输入参数是存储过程执行的条件参数。输出参数类似于返回值,但是输出参数具有两个重要的优势:可以使用输出参数从存储过程传递出VarChar,Int,Money或任何其他数据类型的值,而返回值则只能返回整数。输出参数的另一个优势就是在一个存储过程中可以有多个输出参数,一个存储过程可以包含1024个参数(其中包括输入和输出参数),但是只能包含一个返回值。

举例:带有输入和输出参数的存储过程

存储过程

create or replace procedure EMP2(a in varchar, b out SYS_REFCURSOR)
is
aa varchar2(100);
V_SQL VARCHAR2(1000);
begin
  aa:=a;
 V_SQL:='select * from demo_EMPLOYEE where 雇员ID in ('||aa||')';
 open b for
 V_SQL;
  end EMP2;

数据管理根目录-新建数据集-存储过程,进入存储过程数据集界面,如下图所示:

参数的顺序必须与问号的顺序保持一致,并指定参数模式。

注意:
    存储过程可以没有输出参数,但是如果你的存储过程是将结果集返回给一个参数,则需要在配置-参数里定义该参数,并指定该参数的“参数模式”为“输出参数”。这个时候,如果你的数据库正好是oracle,则还需要将这个输出参数的结果类型设置为“游标”。

TXT文件

表示该数据集的数据来自TEXT文件,此时编辑的时候直接按照TXT文件格式编辑即可。

TXT文件的编辑格式如下:

TXT数据集示例

下面是一个省略了第二行数据类型定义的例子,如下图所示:

XML文件

数据集如果是XML文件类型,此时编辑的时候直接按照xml文件格式编辑即可。

XML文件的编辑格式如下

注意:xml数据集文件中的内容要求无空格且必须在一行。

XML数据集示例

下面是一个只有两个字段的例子,如下图所示:

内建数据集

内建数据集是指数据集的结构和数据都存入报表模板,运算报表的时候不需要从数据源取数了。可以使用户快速的体验建立报表的过程,用户只需在报表设计器中定义一个内建数据集,录入一些数据就可以在报表中使用了,这样给用户的体验过程带来了极大的方便。也可以用于报表的跟踪调试,当报表预览结果和您预想的结果不符合时,可以把数据集转为内建,然后把报表模板发给技术支持人员,方便支持人员跟踪调试。

需要注意的是,内建数据集暂不支持参数过滤。

自定义数据集

如果报表的数据来源比较特殊,需要程序员自己处理,可以采用自定义数据集的方式,此时选择数据集的类型为自定义,然后在编辑界面中输入类名和需要用到的参数。

需要注意的是,自定义数据集的类文件需要手动放在应用程序里:

1.自定义数据集的类文件所在的包,放在\WEB-INF\classes文件夹下;

2.自定义数据集类中定义的数据集名与V5中新建的自定义数据集名需保持一致。

Excel数据集

当需要将Excel文件作为报表的数据来源时,可以使用Excel数据集方式建立数据集,并使用该数据集制作报表。

如果需要将该Excel文件中的全部数据作为来源,选择全部数据。(默认)

如果需要选择Excel文件中的部分数据作为来源,则需要定义数据的起始行、列,结束行、列。

默认情况下,系统会自动指定数据集的字段名和数据类型,数据类型默认为字符串。但也允许用户自定义,通过【定义字段名】便可以自定义字段名称和字段的数据类型。其中定义的字段名称以从上向下的顺序与起始列和结束列一一对应。

注意:目前仅支持excel2003格式的文件。

Excel数据集的制作

制作Excel数据集的步骤:

1.选择文件。选择本地的Excel2003格式的文件。

2.选择sheet表。根据1中选择的excel文件,自动获取excel文件中的sheet数,选择需要的sheet页数据来源即可。

3.选择数据。

4.预览数据集。

5.保存数据集。

便完成一个Excel数据集的建立,从而可以使用该数据集建立报表。

SAP数据集

在线演示

SAP数据集

SAP数据集用于从系统中设置的SAP数据源中获取数据。

新建SAP数据集

【数据源管理】-新建SAP数据源,可参考SAP数据源

数据管理根目录-新增资源【数据集】-SAP数据集。

进入SAP数据集设计界面,选择SAP数据源,取数函数是直接从SAP系统读取RFC函数,按函数关键字模糊查询或全部查询并显示在下拉列表中供选择。


选取函数后参数自动读取出来。


选择结果集和数据列。


SAP数据类型:RFC函数中的参数的数据类型,不可更改,直接通过函数刷新出来。

参数名称:RFC函数中的参数名称,不可更改,直接从RFC函数中刷新出来。

数据类型:指该参数报表中对应的参数数据类型。

参数类型:可支持普通参数、动态参数和会话变量。

默认值:可读取参数设置的默认值,可编辑。

数据列:勾选列名预览数据,数据集中数据列名称使用SAP数据列名称。

注意:

目前输出只能选择一个结果集,假如函数输出有多个结果集,可以在输出的下拉框中选择要输出的结果集名称,如果需要输出所以的结果集,比如说有两2个结果集,那么应通过新建2个SAP数据集,每个数据集选择一个结果集进行输出。

集算数据集

集算数据集基于集算器脚本获取数据。集算器脚本是通过另一款专业软件“集算器”来完成的。

集算器如何使用可参考集算器软件中的帮助->教程。官网下载集算器

如何使用集算数据集

配置数据源,在AppPath/WEB-INF目录下esprocJDBCconfig.xml文件中配置数据源,数据源名称必须与集算器脚本中的数据源名称一致。

<DB name="demo">
            <property name="url" value="jdbc:hsqldb:hsql://127.0.0.1:9002/gezdemo"/>
            <property name="driver" value="org.hsqldb.jdbcDriver"/>
            <property name="type" value="HSQL"/>
            <property name="user" value="sa"/>
            <property name="password" value=""/>
            <property name="batchSize" value="1000"/>
            <property name="autoConnect" value="true"/>
            <property name="useSchema" value="true"/>
            <property name="addTilde" value="true"/>
        </DB>

将后缀为dfx集算器脚本放置到 AppPath/mis2/dataManager/xml目录下。

新建数据集时选择【集算数据集】类型。

进入集算数据集设计界面,点击【选择】在mis2->dataManager->xml中选择要使用的集算器脚本。

点击【获取数据结构】可查看集算器返回的二维表结构。

最后保存即完成集算数据集的创建。

注意:集算器脚本数据来源于文件,在集算数据集中暂不支持相对路径。