在报表中引入外部数据的装置和方法

文档序号:6443860阅读:148来源:国知局
专利名称:在报表中引入外部数据的装置和方法
技术领域
本发明涉及数据分析技术领域,具体而言,涉及一种在报表中引入外部数据的装置和方法。
背景技术
采集表是一种报表设计与采集工具,通过格式设计,将报表下发到各个机构部门, 收到任务的机构填写报表并上报,从而完成一个报表的生产流程。在报表的制定与采集过程中,有些数据是根据其他报表外部信息变化的,有些数据是需要跟其他数据对比分析的,还有些与表相关的数据,也需要以一定的形式体现在采集表中,并伴以一定的分析和动态展示功能;而这些数据大多是存储在系统不同位置上,而且并不与报表直接关联,这对于采集表的对外部数据的提取、展示和分析都带来极大的不便。对于现有的报表设计与采集系统中,已经提供了一种提取外部数据的方法,通过针对单元格定义公式,通过解析公式提取外部数据到单元的。此种方式提取的数据往往相对离散,数据间的关系不能很好的体现。当需要提取一组相关联的数据时,则需要对一组单元格反复的定义公式,过程繁琐,大大降低了报表的易用性。因此,需要一种新的在报表中引入外部数据的技术,可以简化在报表中引入外部数据的过程,增加了报表的易用性。

发明内容
本发明正是基于上述问题,提出了一种新的在报表中引入外部数据的技术,可以简化在报表中引入外部数据的过程,增加了报表的易用性。有鉴于此,本发明提出了一种在报表中引入外部数据的装置,包括语义模型创建单元,建立语义模型;数据获取单元,利用所述语义模型,从目标数据库中获取目标数据; 扩展单元,在报表中建立扩展区;导入单元,将所述数据获取单元获取的所述目标数据导入所述扩展区。在该技术方案中,一方面,在原来的报表中建立扩展区,该扩展区为动态区域, 只具有初始位置,具体的区域大小会根据引入数据的大小进行自动调节,从而适应具体的数据引入情况。另一方面,通过对语义模型的利用,对外部数据进行简便、易行地引入,简化引入过程。在上述技术方案中,优选地,所述语义模型创建单元具体包括第一创建子单元, 利用建模向导将语义提供者生成语义模型,其中包括为所述语义提供者设定指定语义函数;脚本化子单元,将所述第一创建子单元创建的所述语义模型进行脚本化,生成语义脚本;解析子单元,通过脚本引擎将所述语义脚本解析为脚本模型,包括对所述语义脚本进行分类后,分别封装至同一个对象中,从而生成所述脚本模型;函数获取子单元,从所述脚本模型中获取所述指定语义函数;语句生成子单元,根据所述函数获取子单元获取的所述指定语义函数、以及预设的解析参数,将所述脚本模型翻译成SQL语句;以及所述数据获取单元具体包括收发子单元,利用预设的接口,将所述SQL语句发送至所述目标数据库中,以及返回获取的所述目标数据;执行子单元,执行所述SQL语句,使得从所述目标数据库中获取所述目标数据。在该技术方案中,语义模型由元数据、语义提供者、描述器等构成,而这里由建模向导将语义提供者生成为语义模型,这里的语义提供者,可以包括NC元数据、QDI元数据、 业务数据、语义模型等,可以看出,其中的语义模型或语义提供者可以包括多层关系。在上述技术方案中,优选地,所述语义模型创建单元还包括第二创建子单元,利用脚本编辑器将语义函数生成所述语义脚本。在该技术方案中,介绍了另一种生成语义模型的方式,这里的语义函数可以包括Nc_metadata()、Qdi_metadata () ,SmartO >ReportO、 ParamO等,而且,相对于前一种方式,这里生成的语义模型是已经被脚本化了的,即直接被生成为语义脚本,而前一种方式中还需要对生成的语义模型进行脚本化。在上述技术方案中,优选地,所述语义模型创建单元还包括记录子单元,记录所述语义函数和/或所述指定语义函数的名称和参数;以及所述函数获取子单元还用于根据所述记录子单元记录的所述名称和参数,获取所述语义函数或所述指定语义函数。在该技术方案中,生成SQL语音时,需要用到语义函数,比如对于用语义函数通过脚本编辑器的处理方式,可以通过记录最初的语义函数的名称和参数等,然后用于此处;而对于用语义提供者通过建模向导的处理方式,则需要在生成语义模型时,指定对应的语义函数,从而可以在此处明确需要使用的语义函数。在上述技术方案中,优选地,所述扩展单元具体还包括存储子单元,存储所述扩展区的属性,所述属性包括所述扩展区在所述报表中的位置、原有区域大小和/或关联的语义模型;模型获取子单元,获取与所述扩展区关联的语义模型;缓存子单元,将所述语义模型对应的所述目标数据加载至内存;区域计算子单元,根据所述目标数据的大小,计算出所述扩展区需要在所述原有区域大小的基础上进行扩展的区域大小,以及计算所有的扩展区需要进行扩展的区域大小总数;区域扩展子单元,将所述扩展区按照所述区域大小总数进行扩展;以及所述导入单元还用于将存储在所述内存中的所述目标数据导入经过扩展后的扩展区中。在该技术方案中,扩展区的区域大小是不确定的,只有获取了对应的外部数据后,结合此时了解到的数据的大小,对扩展区进行实时的区域扩展,再将外部数据导入其中。根据本发明的又一方面,还提出了一种在报表中引入外部数据的方法,包括步骤 202,建立语义模型,并利用所述语义模型,从目标数据库中获取目标数据;步骤204,在报表中建立扩展区,并将所述目标数据导入所述扩展区。在该技术方案中,一方面,在原来的报表中建立扩展区,该扩展区为动态区域,只具有初始位置,具体的区域大小会根据引入数据的大小进行自动调节,从而适应具体的数据引入情况。另一方面,通过对语义模型的利用,对外部数据进行简便、易行地引入,简化引入过程。在上述技术方案中,优选地,所述步骤202具体包括步骤2020,利用建模向导将语义提供者生成语义模型,其中包括为所述语义提供者设定指定语义函数,并将所述语义模型进行脚本化,生成语义脚本;步骤2022,通过脚本引擎将所述语义脚本解析为脚本模型,包括对所述语义脚本进行分类后,分别封装至同一个对象中,从而生成所述脚本模型; 步骤20M,从所述脚本模型中获取所述指定语义函数,并根据预设的解析参数,将所述脚本模型翻译成SQL语句;步骤20 ,利用预设的接口,将所述SQL语句发送至所述目标数据库中,执行所述SQL语句,并通过所述接口,返回获取的所述目标数据。在该技术方案中,语义模型由元数据、语义提供者、描述器等构成,而这里由建模向导将语义提供者生成为语义模型,这里的语义提供者,可以包括NC元数据、QDI元数据、 业务数据、语义模型等,可以看出,其中的语义模型或语义提供者可以包括多层关系。在上述技术方案中,优选地,在所述步骤2020中,还包括利用脚本编辑器将语义函数生成所述语义脚本。在该技术方案中,介绍了另一种生成语义模型的方式,这里的语义函数可以包括 Nc_metadata()、Qdi_metadata ()、Smart ()、Report ()、Param ()等,而且,相对于前一种方式,这里生成的语义模型是已经被脚本化了的,即直接被生成为语义脚本,而前一种方式中还需要对生成的语义模型进行脚本化。在上述技术方案中,优选地,在所述步骤2020中,还包括记录所述语义函数和/ 或所述指定语义函数的名称和参数;以及在所述步骤20M中,还包括根据记录的所述名称和参数,获取所述语义函数或所述指定语义函数。在该技术方案中,生成SQL语音时,需要用到语义函数,比如对于用语义函数通过脚本编辑器的处理方式,可以通过记录最初的语义函数的名称和参数等,然后用于此处;而对于用语义提供者通过建模向导的处理方式, 则需要在生成语义模型时,指定对应的语义函数,从而可以在此处明确需要使用的语义函数。在上述技术方案中,优选地,所述步骤204具体还包括步骤2040,存储所述扩展区的属性,所述属性包括所述扩展区在所述报表中的位置、原有区域大小和/或关联的语义模型;步骤2042,获取与所述扩展区关联的语义模型,将所述语义模型获取的所述目标数据加载至内存,并根据所述目标数据的大小,计算出所述扩展区需要在所述原有区域大小的基础上进行扩展的区域大小;步骤2044,计算所有的扩展区需要进行扩展的区域大小总数,并将所述扩展区按照所述区域大小总数进行扩展;步骤2046,将存储在所述内存中的所述目标数据导入经过扩展后的扩展区中。在该技术方案中,扩展区的区域大小是不确定的,只有获取了对应的外部数据后,结合此时了解到的数据的大小,对扩展区进行实时的区域扩展,再将外部数据导入其中。通过以上技术方案,可以简化在报表中引入外部数据的过程,增加了报表的易用性。


图1示出了根据本发明的实施例的在报表中引入外部数据的装置的框图;图2示出了根据本发明的实施例的在报表中引入外部数据的方法的流程图;图3示出了根据本发明的实施例的通过语义模型获取外部数据的示意图;图4示出了根据本发明的实施例的通过扩展区存储外部数据的示意流程图。
具体实施例方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。图1示出了根据本发明的实施例的在报表中引入外部数据的装置的框图。如图1所示,根据本发明的实施例的在报表中引入外部数据的装置100,包括语义模型创建单元102,建立语义模型;数据获取单元104,利用所语义模型,从目标数据库中获取目标数据;扩展单元106,在报表中建立扩展区;导入单元108,将数据获取单元104获取的目标数据导入扩展区。在该技术方案中,一方面,在原来的报表中建立扩展区,该扩展区为动态区域,只具有初始位置,具体的区域大小会根据引入数据的大小进行自动调节,从而适应具体的数据引入情况。另一方面,通过对语义模型的利用,对外部数据进行简便、易行地引入,简化引入过程。在上述技术方案中,语义模型创建单元102具体包括第一创建子单元1020,利用建模向导将语义提供者生成语义模型,其中包括为语义提供者设定指定语义函数;脚本化子单元1022,将第一创建子单元1020创建的语义模型进行脚本化,生成语义脚本;解析子单元1024,通过脚本引擎将语义脚本解析为脚本模型,包括对语义脚本进行分类后,分别封装至同一个对象中,从而生成脚本模型;函数获取子单元1026,从脚本模型中获取指定语义函数;语句生成子单元1027,根据函数获取子单元10 获取的指定语义函数、以及预设的解析参数,将脚本模型翻译成SQL语句;以及数据获取单元104具体包括收发子单元 1042,利用预设的接口,将SQL语句发送至目标数据库中,以及返回获取的目标数据;执行子单元1044,执行SQL语句,使得从目标数据库中获取目标数据。在该技术方案中,语义模型由元数据、语义提供者、描述器等构成,而这里由建模向导将语义提供者生成为语义模型,这里的语义提供者,可以包括NC元数据、QDI元数据、 业务数据、语义模型等,可以看出,其中的语义模型或语义提供者可以包括多层关系。在上述技术方案中,语义模型创建单元102还包括第二创建子单元10 ,利用脚本编辑器将语义函数生成语义脚本。在该技术方案中,介绍了另一种生成语义模型的方式, 这里的语义函数可以包括 Nc_metadata ()、Qdi_metadata ()、Smart ()、Report ()、Param () 等,而且,相对于前一种方式,这里生成的语义模型是已经被脚本化了的,即直接被生成为语义脚本,而前一种方式中还需要对生成的语义模型进行脚本化。在上述技术方案中,语义模型创建单元102还包括记录子单元10 ,记录语义函数和/或指定语义函数的名称和参数;以及函数获取子单元10 还用于根据记录子单元 1029记录的名称和参数,获取语义函数或指定语义函数。在该技术方案中,生成SQL语音时,需要用到语义函数,比如对于用语义函数通过脚本编辑器的处理方式,可以通过记录最初的语义函数的名称和参数等,然后用于此处;而对于用语义提供者通过建模向导的处理方式,则需要在生成语义模型时,指定对应的语义函数,从而可以在此处明确需要使用的语义函数。在上述技术方案中,扩展单元106具体还包括存储子单元1060,存储扩展区的属性,属性包括扩展区在报表中的位置、原有区域大小和/或关联的语义模型;模型获取子单元1062,获取与扩展区关联的语义模型;缓存子单元1064,将语义模型对应的目标数据加载至内存;区域计算子单元1066,根据目标数据的大小,计算出扩展区需要在原有区域大小的基础上进行扩展的区域大小,以及计算所有的扩展区需要进行扩展的区域大小总数;区域扩展子单元1068,将扩展区按照区域大小总数进行扩展;以及导入单元108还用于将存储在内存中的目标数据导入经过扩展后的扩展区中。在该技术方案中,扩展区的区域大小是不确定的,只有获取了对应的外部数据后,结合此时了解到的数据的大小,对扩展区进行实时的区域扩展,再将外部数据导入其中。图2示出了根据本发明的实施例的在报表中引入外部数据的方法的流程图。如图2所示,根据本发明的实施例的在报表中引入外部数据的方法,包括步骤 202,建立语义模型,并利用语义模型,从目标数据库中获取目标数据;步骤204,在报表中建立扩展区,并将目标数据导入扩展区。在该技术方案中,一方面,在原来的报表中建立扩展区,该扩展区为动态区域,只具有初始位置,具体的区域大小会根据引入数据的大小进行自动调节,从而适应具体的数据引入情况。另一方面,通过对语义模型的利用,对外部数据进行简便、易行地引入,简化引入过程。在上述技术方案中,步骤202具体包括步骤2020,利用建模向导将语义提供者生成语义模型,其中包括为语义提供者设定指定语义函数,并将语义模型进行脚本化,生成语义脚本;步骤2022,通过脚本引擎将语义脚本解析为脚本模型,包括对语义脚本进行分类后,分别封装至同一个对象中,从而生成脚本模型;步骤20M,从脚本模型中获取指定语义函数,并根据预设的解析参数,将脚本模型翻译成SQL语句;步骤20 ,利用预设的接口,将 SQL语句发送至目标数据库中,执行SQL语句,并通过接口,返回获取的目标数据。在该技术方案中,语义模型由元数据、语义提供者、描述器等构成,而这里由建模向导将语义提供者生成为语义模型,这里的语义提供者,可以包括NC元数据、QDI元数据、 业务数据、语义模型等,可以看出,其中的语义模型或语义提供者可以包括多层关系。在上述技术方案中,在步骤2020中,还包括利用脚本编辑器将语义函数生成语义脚本。在该技术方案中,介绍了另一种生成语义模型的方式,这里的语义函数可以包括 Nc_metadata ()、Qdi_metadata ()、Smart ()、Report ()、Param ()等,而且,相对于前一种方式,这里生成的语义模型是已经被脚本化了的,即直接被生成为语义脚本,而前一种方式中还需要对生成的语义模型进行脚本化。在上述技术方案中,在步骤2020中,还包括记录语义函数和/或指定语义函数的名称和参数;以及在步骤20M中,还包括根据记录的名称和参数,获取语义函数或指定语义函数。在该技术方案中,生成SQL语音时,需要用到语义函数,比如对于用语义函数通过脚本编辑器的处理方式,可以通过记录最初的语义函数的名称和参数等,然后用于此处;而对于用语义提供者通过建模向导的处理方式,则需要在生成语义模型时,指定对应的语义函数,从而可以在此处明确需要使用的语义函数。在上述技术方案中,步骤204具体还包括步骤2040,存储扩展区的属性,属性包括扩展区在报表中的位置、原有区域大小和/或关联的语义模型;步骤2042,获取与扩展区关联的语义模型,将语义模型获取的目标数据加载至内存,并根据目标数据的大小,计算出扩展区需要在原有区域大小的基础上进行扩展的区域大小;步骤2044,计算所有的扩展区需要进行扩展的区域大小总数,并将扩展区按照区域大小总数进行扩展;步骤2046,将存储在内存中的目标数据导入经过扩展后的扩展区中。在该技术方案中,扩展区的区域大小是不确定的,只有获取了对应的外部数据后,结合此时了解到的数据的大小,对扩展区进行实时的区域扩展,再将外部数据导入其中。
下面结合图3和图4,对利用语义模型和扩展区进行报表的外部数据引用的过程进行详细说明,其中,图3示出了根据本发明的实施例的通过语义模型获取外部数据的示意图;图4示出了根据本发明的实施例的通过扩展区存储外部数据的示意流程图。如图3所示,首先利用建模向导将语义提供者302生成为语义模型304,然后将语义模型304进行脚本化后,生成对应的语义脚本308,当然,也可以通过利用脚本编辑器将语义函数306直接生成语义脚本308。这里,语义提供者包括NC元数据、QDI元数据、业务数据、语义模型等,而语义函数可以包括 Nc_metadata ()、Qdi_metadata ()、Smart ()、Report ()、Param ()等。需要说明的是,语义模型(SMART,即kmantic Modeling for Analysis Report Toolkit,分析报表语义建模工具)将大量的业务数据从复杂的数据库结构中提取出来,并翻译成相关的业务指标展示在界面上,业务人员可以直观的看到最终的数据而不需要了解背后复杂的存储方式和数据结构。语义模型主要由以下几部分构成(1)元数据元数据是指描述数据的数据,是为了外界使用数据而对数据本身含义的阐述。元数据是指描述数据的数据,是为了外界使用数据而对数据本身含义的阐述。拿我们最常见的二维数据(行列结构)举例来说,如果只有这些行列结构的数据,对我们来说这将毫无意义。因为我们无法知道哪一列的数据代表什么含义,无法知道如何操作这些数据,更别提由这些数据分析出有用的信息。反过来,如果针对这些数据指定了元数据,我们就可以了解哪一列代表的业务含义,并且知道该列的数据类型、长度、精度等。这样,我们就能对这些数据进行加工处理,分析提取出有价值的信息。(2)语义提供者语义提供者,表述了一类取数方式,或者说如何提供数据的方式。在语义模型中, 语义提供者负责把一类业务取数过程以语义脚本的形式描述出来。(3)描述器描述器是指对数据操作的描述,例如过滤、排序、分页、汇总等。在语义模型中,描述器表述了对语义提供者抽取的数据的加工处理过程。 可以看出,由于语义提供者构成语义模型,而图3中的语义提供者302可以包含语义模型,可见此处可以存在多层引用的关联关系。另外,这里有两种方式,第一种是通过建模向导建立语义模型,但生成的语义模型 304还只是被封装好的元数据形式的对象,需要经过脚本化的过程,将这些数据对象整理成语义模型304可解析的语义脚本;第二种是通过脚本编辑器,直接将语义函数生成为语义脚本。此时产生的脚本并不能作为数据库执行语句,只是对于模型中的数据字段进行初步解析,整理语义函数。这里对于语义函数的整理,对于语义函数306而言,是指记录其名称、 参数等,用于后面SQL语言的生成,而对于语义提供者302,则存在一个过程为其指定语义函数,然后记录指定的语义函数的名称、参数等,用于后面SQL语言的生成。然后,利用脚本引擎将语义脚本308解析为脚本模型310,即把字符串形式的脚本对象化。脚本引擎会对语义脚本308进行封装,此次封装将把不同的数据来源的脚本进行分类,然后分别封装在一个对象中。
利用之间整理的语义函数的名称、参数等,获取对应的语义函数,并利用其将语义模型310翻译成SQL语言。最后,调用目标数据库上的接口,将该SQL语言发送至目标数据库中执行,获取对应的目标数据后,返回该目标数据。如图4所示,是对扩展区的扩展过程,而对于扩展区本身,在报表模型中,根据定义在报表格式上的元数据动态变化区域称之为扩展区。扩展区为报表模型上的特殊区域, 作为一个属性保存在报表模型中。在浏览报表数据时,报表模型会根据扩展区描述信息在报表增加新的区域以容纳动态加载出的数据。扩展区依赖于语义模型元数据,即定义了语义模型元数据的区域才会实现扩展功能。扩展区的结构包括(1)扩展区管理模型扩展区管理模型存储着报表中的所有扩展区描述。扩展区模型主要接口 获取扩展区getExtendAreaByPK (String pk)±曾力口扩展区addExtendArea()删除扩展区delExtendAreaO通过上述接口,完成对扩展区域的管理。(2)扩展区格式模型扩展区格式模型描述了单个扩展区的信息,包括扩展区的位置,关联的语义模型
等主要信息。报表中所有的扩展区格式模型都保存在扩展区管理模型中,扩展区管理模型则保存在整个报表的格式模型中。扩展区格式模型中的位置和关联的语义模型为以后扩展区扩展提供依据。对扩展区进行扩展的过程如下步骤402,确定扩展区在整个表格中的位置,即所在行列。报表模型会根据扩展区管理模型中存储的扩展区信息,计算出所有的扩展区对应到整个表格中的位置。步骤404,根据扩展区格式模型中的位置和关联的语义模型信息,调用语义模型接口,将数据加载至内存,并在原有的格式(如扩展区的初始大小)基础上计算出需要扩展出的格式(如根据获取的数据,得到对应的需要扩展的大小)。重复此步骤,将所有扩展区计算完成。步骤406,合并所有扩展区需要扩展出的格式,计算出所需要扩展出的最小格式 (如需要完成扩展所需的最小的区域大小),并进行对应的扩展。步骤408,填充数据。将内存中存储的语义模型执行结果数据填充到扩展出来的区域中。以上结合附图详细说明了本发明的技术方案,考虑到相关技术中,采集表的对外部数据的提取、展示和分析都极为不方便,因此,本发明提供了一种在报表中引入外部数据的装置和方法,可以简化在报表中引入外部数据的过程,增加了报表的易用性。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种在报表中引入外部数据的装置,其特征在于,包括 语义模型创建单元,建立语义模型;数据获取单元,利用所述语义模型,从目标数据库中获取目标数据; 扩展单元,在报表中建立扩展区;导入单元,将所述数据获取单元获取的所述目标数据导入所述扩展区。
2.根据权利要求1所述的在报表中引入外部数据的装置,其特征在于,所述语义模型创建单元具体包括第一创建子单元,利用建模向导将语义提供者生成语义模型,其中包括为所述语义提供者设定指定语义函数;脚本化子单元,将所述第一创建子单元创建的所述语义模型进行脚本化,生成语义脚本;解析子单元,通过脚本引擎将所述语义脚本解析为脚本模型,包括对所述语义脚本进行分类后,分别封装至同一个对象中,从而生成所述脚本模型; 函数获取子单元,从所述脚本模型中获取所述指定语义函数;语句生成子单元,根据所述函数获取子单元获取的所述指定语义函数、以及预设的解析参数,将所述脚本模型翻译成SQL语句;以及所述数据获取单元具体包括收发子单元,利用预设的接口,将所述SQL语句发送至所述目标数据库中,以及返回获取的所述目标数据;执行子单元,执行所述SQL语句,使得从所述目标数据库中获取所述目标数据。
3.根据权利要求2所述的在报表中引入外部数据的装置,其特征在于,所述语义模型创建单元还包括第二创建子单元,利用脚本编辑器将语义函数生成所述语义脚本。
4.根据权利要求1至3中任一项所述的在报表中引入外部数据的装置,其特征在于,所述语义模型创建单元还包括记录子单元,记录所述语义函数和/或所述指定语义函数的名称和参数;以及所述函数获取子单元还用于根据所述记录子单元记录的所述名称和参数,获取所述语义函数或所述指定语义函数。
5.根据权利要求1至3中任一项所述的在报表中引入外部数据的装置,其特征在于,所述扩展单元具体还包括存储子单元,存储所述扩展区的属性,所述属性包括所述扩展区在所述报表中的位置、 原有区域大小和/或关联的语义模型;模型获取子单元,获取与所述扩展区关联的语义模型; 缓存子单元,将所述语义模型对应的所述目标数据加载至内存; 区域计算子单元,根据所述目标数据的大小,计算出所述扩展区需要在所述原有区域大小的基础上进行扩展的区域大小,以及计算所有的扩展区需要进行扩展的区域大小总数;区域扩展子单元,将所述扩展区按照所述区域大小总数进行扩展;以及所述导入单元还用于将存储在所述内存中的所述目标数据导入经过扩展后的扩展区中。
6.一种在报表中引入外部数据的方法,其特征在于,包括步骤202,建立语义模型,并利用所述语义模型,从目标数据库中获取目标数据; 步骤204,在报表中建立扩展区,并将所述目标数据导入所述扩展区。
7.根据权利要求6所述的在报表中引入外部数据的方法,其特征在于,所述步骤202具体包括步骤2020,利用建模向导将语义提供者生成语义模型,其中包括为所述语义提供者设定指定语义函数,并将所述语义模型进行脚本化,生成语义脚本;步骤2022,通过脚本引擎将所述语义脚本解析为脚本模型,包括对所述语义脚本进行分类后,分别封装至同一个对象中,从而生成所述脚本模型;步骤20M,从所述脚本模型中获取所述指定语义函数,并根据预设的解析参数,将所述脚本模型翻译成SQL语句;步骤20 ,利用预设的接口,将所述SQL语句发送至所述目标数据库中,执行所述SQL 语句,并通过所述接口,返回获取的所述目标数据。
8.根据权利要求7所述的在报表中引入外部数据的方法,其特征在于,在所述步骤 2020中,还包括利用脚本编辑器将语义函数生成所述语义脚本。
9.根据权利要求6至8中任一项所述的在报表中引入外部数据的方法,其特征在于,在所述步骤2020中,还包括记录所述语义函数和/或所述指定语义函数的名称和参数;以及在所述步骤20M中,还包括根据记录的所述名称和参数,获取所述语义函数或所述指定语义函数。
10.根据权利要求6至8中任一项所述的在报表中引入外部数据的方法,其特征在于, 所述步骤204具体还包括步骤2040,存储所述扩展区的属性,所述属性包括所述扩展区在所述报表中的位置、原有区域大小和/或关联的语义模型;步骤2042,获取与所述扩展区关联的语义模型,将所述语义模型获取的所述目标数据加载至内存,并根据所述目标数据的大小,计算出所述扩展区需要在所述原有区域大小的基础上进行扩展的区域大小;步骤2044,计算所有的扩展区需要进行扩展的区域大小总数,并将所述扩展区按照所述区域大小总数进行扩展;步骤2046,将存储在所述内存中的所述目标数据导入经过扩展后的扩展区中。
全文摘要
本发明提供了一种在报表中引入外部数据的装置,包括语义模型创建单元,建立语义模型;数据获取单元,利用所述语义模型,从目标数据库中获取目标数据;扩展单元,在报表中建立扩展区;导入单元,将所述数据获取单元获取的所述目标数据导入所述扩展区。相应地,本发明还提出了一种在报表中引入外部数据的方法。通过本发明的技术方案,可以简化在报表中引入外部数据的过程,增加了报表的易用性。
文档编号G06F17/30GK102521415SQ20111044870
公开日2012年6月27日 申请日期2011年12月28日 优先权日2011年12月28日
发明者于洋 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1