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

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

Info

Publication number
CN102521415B
CN102521415B CN 201110448703 CN201110448703A CN102521415B CN 102521415 B CN102521415 B CN 102521415B CN 201110448703 CN201110448703 CN 201110448703 CN 201110448703 A CN201110448703 A CN 201110448703A CN 102521415 B CN102521415 B CN 102521415B
Authority
CN
China
Prior art keywords
semantic
model
script
function
subelement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 201110448703
Other languages
English (en)
Other versions
CN102521415A (zh
Inventor
于洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yonyou Network Technology Co Ltd
Original Assignee
Yonyou Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yonyou Software Co Ltd filed Critical Yonyou Software Co Ltd
Priority to CN 201110448703 priority Critical patent/CN102521415B/zh
Publication of CN102521415A publication Critical patent/CN102521415A/zh
Application granted granted Critical
Publication of CN102521415B publication Critical patent/CN102521415B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种在报表中引入外部数据的装置,包括:语义模型创建单元,建立语义模型;数据获取单元,利用所述语义模型,从目标数据库中获取目标数据;扩展单元,在报表中建立扩展区;导入单元,将所述数据获取单元获取的所述目标数据导入所述扩展区。相应地,本发明还提出了一种在报表中引入外部数据的方法。通过本发明的技术方案,可以简化在报表中引入外部数据的过程,增加了报表的易用性。

Description

在报表中引入外部数据的装置和方法
技术领域
本发明涉及数据分析技术领域,具体而言,涉及一种在报表中引入外部数据的装置和方法。
背景技术
采集表是一种报表设计与采集工具,通过格式设计,将报表下发到各个机构部门,收到任务的机构填写报表并上报,从而完成一个报表的生产流程。
在报表的制定与采集过程中,有些数据是根据其他报表外部信息变化的,有些数据是需要跟其他数据对比分析的,还有些与表相关的数据,也需要以一定的形式体现在采集表中,并伴以一定的分析和动态展示功能;而这些数据大多是存储在系统不同位置上,而且并不与报表直接关联,这对于采集表的对外部数据的提取、展示和分析都带来极大的不便。
对于现有的报表设计与采集系统中,已经提供了一种提取外部数据的方法,通过针对单元格定义公式,通过解析公式提取外部数据到单元的。此种方式提取的数据往往相对离散,数据间的关系不能很好的体现。当需要提取一组相关联的数据时,则需要对一组单元格反复的定义公式,过程繁琐,大大降低了报表的易用性。
因此,需要一种新的在报表中引入外部数据的技术,可以简化在报表中引入外部数据的过程,增加了报表的易用性。
发明内容
本发明正是基于上述问题,提出了一种新的在报表中引入外部数据的技术,可以简化在报表中引入外部数据的过程,增加了报表的易用性。
有鉴于此,本发明提出了一种在报表中引入外部数据的装置,包括:语义模型创建单元,建立语义模型;数据获取单元,利用所述语义模型,从目标数据库中获取目标数据;扩展单元,在报表中建立扩展区;导入单元,将所述数据获取单元获取的所述目标数据导入所述扩展区。在该技术方案中,一方面,在原来的报表中建立扩展区,该扩展区为动态区域,只具有初始位置,具体的区域大小会根据引入数据的大小进行自动调节,从而适应具体的数据引入情况。另一方面,通过对语义模型的利用,对外部数据进行简便、易行地引入,简化引入过程。
在上述技术方案中,优选地,所述语义模型创建单元具体包括:第一创建子单元,利用建模向导将语义提供者生成语义模型,其中包括为所述语义提供者设定指定语义函数;脚本化子单元,将所述第一创建子单元创建的所述语义模型进行脚本化,生成语义脚本;解析子单元,通过脚本引擎将所述语义脚本解析为脚本模型,包括对所述语义脚本进行分类后,分别封装至同一个对象中,从而生成所述脚本模型;函数获取子单元,从所述脚本模型中获取所述指定语义函数;语句生成子单元,根据所述函数获取子单元获取的所述指定语义函数、以及预设的解析参数,将所述脚本模型翻译成SQL语句;以及所述数据获取单元具体包括:收发子单元,利用预设的接口,将所述SQL语句发送至所述目标数据库中,以及返回获取的所述目标数据;执行子单元,执行所述SQL语句,使得从所述目标数据库中获取所述目标数据。
在该技术方案中,语义模型由元数据、语义提供者、描述器等构成,而这里由建模向导将语义提供者生成为语义模型,这里的语义提供者,可以包括NC元数据、QDI元数据、业务数据、语义模型等,可以看出,其中的语义模型或语义提供者可以包括多层关系。
在上述技术方案中,优选地,所述语义模型创建单元还包括:第二创建子单元,利用脚本编辑器将语义函数生成所述语义脚本。在该技术方案中,介绍了另一种生成语义模型的方式,这里的语义函数可以包括Nc_metadata()、Qdi_metadata()、Smart()、Report()、Param()等,而且,相对于前一种方式,这里生成的语义模型是已经被脚本化了的,即直接被生成为语义脚本,而前一种方式中还需要对生成的语义模型进行脚本化。
在上述技术方案中,优选地,所述语义模型创建单元还包括:记录子单元,记录所述语义函数和/或所述指定语义函数的名称和参数;以及所述函数获取子单元还用于:根据所述记录子单元记录的所述名称和参数,获取所述语义函数或所述指定语义函数。在该技术方案中,生成SQL语音时,需要用到语义函数,比如对于用语义函数通过脚本编辑器的处理方式,可以通过记录最初的语义函数的名称和参数等,然后用于此处;而对于用语义提供者通过建模向导的处理方式,则需要在生成语义模型时,指定对应的语义函数,从而可以在此处明确需要使用的语义函数。
在上述技术方案中,优选地,所述扩展单元具体还包括:存储子单元,存储所述扩展区的属性,所述属性包括所述扩展区在所述报表中的位置、原有区域大小和/或关联的语义模型;模型获取子单元,获取与所述扩展区关联的语义模型;缓存子单元,将所述语义模型对应的所述目标数据加载至内存;区域计算子单元,根据所述目标数据的大小,计算出所述扩展区需要在所述原有区域大小的基础上进行扩展的区域大小,以及计算所有的扩展区需要进行扩展的区域大小总数;区域扩展子单元,将所述扩展区按照所述区域大小总数进行扩展;以及所述导入单元还用于:将存储在所述内存中的所述目标数据导入经过扩展后的扩展区中。在该技术方案中,扩展区的区域大小是不确定的,只有获取了对应的外部数据后,结合此时了解到的数据的大小,对扩展区进行实时的区域扩展,再将外部数据导入其中。
根据本发明的又一方面,还提出了一种在报表中引入外部数据的方法,包括:步骤202,建立语义模型,并利用所述语义模型,从目标数据库中获取目标数据;步骤204,在报表中建立扩展区,并将所述目标数据导入所述扩展区。在该技术方案中,一方面,在原来的报表中建立扩展区,该扩展区为动态区域,只具有初始位置,具体的区域大小会根据引入数据的大小进行自动调节,从而适应具体的数据引入情况。另一方面,通过对语义模型的利用,对外部数据进行简便、易行地引入,简化引入过程。
在上述技术方案中,优选地,所述步骤202具体包括:步骤2020,利用建模向导将语义提供者生成语义模型,其中包括为所述语义提供者设定指定语义函数,并将所述语义模型进行脚本化,生成语义脚本;步骤2022,通过脚本引擎将所述语义脚本解析为脚本模型,包括对所述语义脚本进行分类后,分别封装至同一个对象中,从而生成所述脚本模型;步骤2024,从所述脚本模型中获取所述指定语义函数,并根据预设的解析参数,将所述脚本模型翻译成SQL语句;步骤2026,利用预设的接口,将所述SQL语句发送至所述目标数据库中,执行所述SQL语句,并通过所述接口,返回获取的所述目标数据。
在该技术方案中,语义模型由元数据、语义提供者、描述器等构成,而这里由建模向导将语义提供者生成为语义模型,这里的语义提供者,可以包括NC元数据、QDI元数据、业务数据、语义模型等,可以看出,其中的语义模型或语义提供者可以包括多层关系。
在上述技术方案中,优选地,在所述步骤2020中,还包括:利用脚本编辑器将语义函数生成所述语义脚本。在该技术方案中,介绍了另一种生成语义模型的方式,这里的语义函数可以包括Nc_metadata()、Qdi_metadata()、Smart()、Report()、Param()等,而且,相对于前一种方式,这里生成的语义模型是已经被脚本化了的,即直接被生成为语义脚本,而前一种方式中还需要对生成的语义模型进行脚本化。
在上述技术方案中,优选地,在所述步骤2020中,还包括:记录所述语义函数和/或所述指定语义函数的名称和参数;以及在所述步骤2024中,还包括:根据记录的所述名称和参数,获取所述语义函数或所述指定语义函数。在该技术方案中,生成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,根据函数获取子单元1026获取的指定语义函数、以及预设的解析参数,将脚本模型翻译成SQL语句;以及数据获取单元104具体包括:收发子单元1042,利用预设的接口,将SQL语句发送至目标数据库中,以及返回获取的目标数据;执行子单元1044,执行SQL语句,使得从目标数据库中获取目标数据。
在该技术方案中,语义模型由元数据、语义提供者、描述器等构成,而这里由建模向导将语义提供者生成为语义模型,这里的语义提供者,可以包括NC元数据、QDI元数据、业务数据、语义模型等,可以看出,其中的语义模型或语义提供者可以包括多层关系。
在上述技术方案中,语义模型创建单元102还包括:第二创建子单元1028,利用脚本编辑器将语义函数生成语义脚本。在该技术方案中,介绍了另一种生成语义模型的方式,这里的语义函数可以包括Nc_metadata()、Qdi_metadata()、Smart()、Report()、Param()等,而且,相对于前一种方式,这里生成的语义模型是已经被脚本化了的,即直接被生成为语义脚本,而前一种方式中还需要对生成的语义模型进行脚本化。
在上述技术方案中,语义模型创建单元102还包括:记录子单元1029,记录语义函数和/或指定语义函数的名称和参数;以及函数获取子单元1026还用于:根据记录子单元1029记录的名称和参数,获取语义函数或指定语义函数。在该技术方案中,生成SQL语音时,需要用到语义函数,比如对于用语义函数通过脚本编辑器的处理方式,可以通过记录最初的语义函数的名称和参数等,然后用于此处;而对于用语义提供者通过建模向导的处理方式,则需要在生成语义模型时,指定对应的语义函数,从而可以在此处明确需要使用的语义函数。
在上述技术方案中,扩展单元106具体还包括:存储子单元1060,存储扩展区的属性,属性包括扩展区在报表中的位置、原有区域大小和/或关联的语义模型;模型获取子单元1062,获取与扩展区关联的语义模型;缓存子单元1064,将语义模型对应的目标数据加载至内存;区域计算子单元1066,根据目标数据的大小,计算出扩展区需要在原有区域大小的基础上进行扩展的区域大小,以及计算所有的扩展区需要进行扩展的区域大小总数;区域扩展子单元1068,将扩展区按照区域大小总数进行扩展;以及导入单元108还用于:将存储在内存中的目标数据导入经过扩展后的扩展区中。在该技术方案中,扩展区的区域大小是不确定的,只有获取了对应的外部数据后,结合此时了解到的数据的大小,对扩展区进行实时的区域扩展,再将外部数据导入其中。
图2示出了根据本发明的实施例的在报表中引入外部数据的方法的流程图。
如图2所示,根据本发明的实施例的在报表中引入外部数据的方法,包括:步骤202,建立语义模型,并利用语义模型,从目标数据库中获取目标数据;步骤204,在报表中建立扩展区,并将目标数据导入扩展区。在该技术方案中,一方面,在原来的报表中建立扩展区,该扩展区为动态区域,只具有初始位置,具体的区域大小会根据引入数据的大小进行自动调节,从而适应具体的数据引入情况。另一方面,通过对语义模型的利用,对外部数据进行简便、易行地引入,简化引入过程。
在上述技术方案中,步骤202具体包括:步骤2020,利用建模向导将语义提供者生成语义模型,其中包括为语义提供者设定指定语义函数,并将语义模型进行脚本化,生成语义脚本;步骤2022,通过脚本引擎将语义脚本解析为脚本模型,包括对语义脚本进行分类后,分别封装至同一个对象中,从而生成脚本模型;步骤2024,从脚本模型中获取指定语义函数,并根据预设的解析参数,将脚本模型翻译成SQL语句;步骤2026,利用预设的接口,将SQL语句发送至目标数据库中,执行SQL语句,并通过接口,返回获取的目标数据。
在该技术方案中,语义模型由元数据、语义提供者、描述器等构成,而这里由建模向导将语义提供者生成为语义模型,这里的语义提供者,可以包括NC元数据、QDI元数据、业务数据、语义模型等,可以看出,其中的语义模型或语义提供者可以包括多层关系。
在上述技术方案中,在步骤2020中,还包括:利用脚本编辑器将语义函数生成语义脚本。在该技术方案中,介绍了另一种生成语义模型的方式,这里的语义函数可以包括Nc_metadata()、Qdi_metadata()、Smart()、Report()、Param()等,而且,相对于前一种方式,这里生成的语义模型是已经被脚本化了的,即直接被生成为语义脚本,而前一种方式中还需要对生成的语义模型进行脚本化。
在上述技术方案中,在步骤2020中,还包括:记录语义函数和/或指定语义函数的名称和参数;以及在步骤2024中,还包括:根据记录的名称和参数,获取语义函数或指定语义函数。在该技术方案中,生成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,即Semantic Modeling forAnalysis 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()
删除扩展区:delExtendArea()
通过上述接口,完成对扩展区域的管理。
(2)扩展区格式模型
扩展区格式模型描述了单个扩展区的信息,包括扩展区的位置,关联的语义模型等主要信息。
报表中所有的扩展区格式模型都保存在扩展区管理模型中,扩展区管理模型则保存在整个报表的格式模型中。扩展区格式模型中的位置和关联的语义模型为以后扩展区扩展提供依据。
对扩展区进行扩展的过程如下:
步骤402,确定扩展区在整个表格中的位置,即所在行列。报表模型会根据扩展区管理模型中存储的扩展区信息,计算出所有的扩展区对应到整个表格中的位置。
步骤404,根据扩展区格式模型中的位置和关联的语义模型信息,调用语义模型接口,将数据加载至内存,并在原有的格式(如扩展区的初始大小)基础上计算出需要扩展出的格式(如根据获取的数据,得到对应的需要扩展的大小)。重复此步骤,将所有扩展区计算完成。
步骤406,合并所有扩展区需要扩展出的格式,计算出所需要扩展出的最小格式(如需要完成扩展所需的最小的区域大小),并进行对应的扩展。
步骤408,填充数据。将内存中存储的语义模型执行结果数据填充到扩展出来的区域中。
以上结合附图详细说明了本发明的技术方案,考虑到相关技术中,采集表的对外部数据的提取、展示和分析都极为不方便,因此,本发明提供了一种在报表中引入外部数据的装置和方法,可以简化在报表中引入外部数据的过程,增加了报表的易用性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种在报表中引入外部数据的装置,其特征在于,包括:
语义模型创建单元,建立语义模型;
数据获取单元,利用所述语义模型,从目标数据库中获取目标数据;
扩展单元,在报表中建立扩展区;
导入单元,将所述数据获取单元获取的所述目标数据导入所述扩展区;
其中,所述语义模型创建单元具体包括:
第一创建子单元,利用建模向导将语义提供者生成语义模型,其中包括为所述语义提供者设定指定语义函数;
脚本化子单元,将所述第一创建子单元创建的所述语义模型进行脚本化,生成语义脚本;
解析子单元,通过脚本引擎将所述语义脚本解析为脚本模型,包括对所述语义脚本进行分类后,分别封装至同一个对象中,从而生成所述脚本模型;
函数获取子单元,从所述脚本模型中获取所述指定语义函数;
语句生成子单元,根据所述函数获取子单元获取的所述指定语义函数、以及预设的解析参数,将所述脚本模型翻译成SQL语句;以及
所述数据获取单元具体包括:
收发子单元,利用预设的接口,将所述SQL语句发送至所述目标数据库中,以及返回获取的所述目标数据;
执行子单元,执行所述SQL语句,使得从所述目标数据库中获取所述目标数据。
2.根据权利要求1所述的在报表中引入外部数据的装置,其特征在于,所述语义模型创建单元还包括:
第二创建子单元,利用脚本编辑器将语义函数生成所述语义脚本。
3.根据权利要求1或2所述的在报表中引入外部数据的装置,其特征在于,所述语义模型创建单元还包括:
记录子单元,记录所述语义函数和/或所述指定语义函数的名称和参数;以及
所述函数获取子单元还用于:根据所述记录子单元记录的所述名称和参数,获取所述语义函数或所述指定语义函数。
4.根据权利要求1或2所述的在报表中引入外部数据的装置,其特征在于,所述扩展单元具体还包括:
存储子单元,存储所述扩展区的属性,所述属性包括所述扩展区在所述报表中的位置、原有区域大小和/或关联的语义模型;
模型获取子单元,获取与所述扩展区关联的语义模型;
缓存子单元,将所述语义模型对应的所述目标数据加载至内存;
区域计算子单元,根据所述目标数据的大小,计算出所述扩展区需要在所述原有区域大小的基础上进行扩展的区域大小,以及计算所有的扩展区需要进行扩展的区域大小总数;
区域扩展子单元,将所述扩展区按照所述区域大小总数进行扩展;以及
所述导入单元还用于:将存储在所述内存中的所述目标数据导入经过扩展后的扩展区中。
5.一种在报表中引入外部数据的方法,其特征在于,包括:
步骤202,建立语义模型,并利用所述语义模型,从目标数据库中获取目标数据;
步骤204,在报表中建立扩展区,并将所述目标数据导入所述扩展区;
其中,所述步骤202具体包括:
步骤2020,利用建模向导将语义提供者生成语义模型,其中包括为所述语义提供者设定指定语义函数,并将所述语义模型进行脚本化,生成语义脚本;
步骤2022,通过脚本引擎将所述语义脚本解析为脚本模型,包括对所述语义脚本进行分类后,分别封装至同一个对象中,从而生成所述脚本模型;
步骤2024,从所述脚本模型中获取所述指定语义函数,并根据预设的解析参数,将所述脚本模型翻译成SQL语句;
步骤2026,利用预设的接口,将所述SQL语句发送至所述目标数据库中,执行所述SQL语句,并通过所述接口,返回获取的所述目标数据。
6.根据权利要求5所述的在报表中引入外部数据的方法,其特征在于,在所述步骤2020中,还包括:
利用脚本编辑器将语义函数生成所述语义脚本。
7.根据权利要求5或6所述的在报表中引入外部数据的方法,其特征在于,在所述步骤2020中,还包括:
记录所述语义函数和/或所述指定语义函数的名称和参数;以及
在所述步骤2024中,还包括:
根据记录的所述名称和参数,获取所述语义函数或所述指定语义函数。
8.根据权利要求5或6所述的在报表中引入外部数据的方法,其特征在于,所述步骤204具体还包括:
步骤2040,存储所述扩展区的属性,所述属性包括所述扩展区在所述报表中的位置、原有区域大小和/或关联的语义模型;
步骤2042,获取与所述扩展区关联的语义模型,将所述语义模型获取的所述目标数据加载至内存,并根据所述目标数据的大小,计算出所述扩展区需要在所述原有区域大小的基础上进行扩展的区域大小;
步骤2044,计算所有的扩展区需要进行扩展的区域大小总数,并将所述扩展区按照所述区域大小总数进行扩展;
步骤2046,将存储在所述内存中的所述目标数据导入经过扩展后的扩展区中。
CN 201110448703 2011-12-28 2011-12-28 在报表中引入外部数据的装置和方法 Active CN102521415B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110448703 CN102521415B (zh) 2011-12-28 2011-12-28 在报表中引入外部数据的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110448703 CN102521415B (zh) 2011-12-28 2011-12-28 在报表中引入外部数据的装置和方法

Publications (2)

Publication Number Publication Date
CN102521415A CN102521415A (zh) 2012-06-27
CN102521415B true CN102521415B (zh) 2013-09-11

Family

ID=46292328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110448703 Active CN102521415B (zh) 2011-12-28 2011-12-28 在报表中引入外部数据的装置和方法

Country Status (1)

Country Link
CN (1) CN102521415B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317571A (zh) * 2014-09-30 2015-01-28 浪潮软件股份有限公司 一种通过报表控件缩短浏览器响应时间的方法
CN108984496B (zh) * 2017-06-02 2021-11-26 北京京东尚科信息技术有限公司 生成报表的方法和装置
CN110162533A (zh) * 2019-05-23 2019-08-23 顶象科技有限公司 报表更新方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101300564A (zh) * 2004-07-16 2008-11-05 科格洛斯公司 用于具有多维数据存储器的企业规划系统的电子表格用户接口
CN101334761A (zh) * 2008-06-11 2008-12-31 南京磐能电力科技股份有限公司 一种点到多点数据分配dma控制器实现方法
CN101599072A (zh) * 2009-07-03 2009-12-09 南开大学 基于信息推理的智能计算机系统构造方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101300564A (zh) * 2004-07-16 2008-11-05 科格洛斯公司 用于具有多维数据存储器的企业规划系统的电子表格用户接口
CN101334761A (zh) * 2008-06-11 2008-12-31 南京磐能电力科技股份有限公司 一种点到多点数据分配dma控制器实现方法
CN101599072A (zh) * 2009-07-03 2009-12-09 南开大学 基于信息推理的智能计算机系统构造方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《异构数据库中的数据类型转换》;孔祥疆等;《计算机应用研究》;20061231(第4期);第217-218、221页 *
孔祥疆等.《异构数据库中的数据类型转换》.《计算机应用研究》.2006,(第4期),第217-218、221页.
王长江等.《利用ADO实现数据导入导出的关键技术》.《重庆科技学院学报(自然科学版)》.2006,第8卷(第2期),第70-74、77页. *

Also Published As

Publication number Publication date
CN102521415A (zh) 2012-06-27

Similar Documents

Publication Publication Date Title
CN107256265B (zh) 一种搜索引擎结果数据可视化展示方法及系统
CN102521416B (zh) 数据关联查询方法和数据关联查询装置
CN110659790B (zh) 实验管理与数据分析系统
CN103186541B (zh) 一种映射关系生成方法及装置
US10068040B2 (en) Method and apparatus for transaction recording and visualization
CN104166651B (zh) 基于对同类数据对象整合的数据搜索的方法和装置
CN108399130A (zh) 自动生成测试案例的方法、装置、设备及可读存储介质
CN104408163B (zh) 一种数据分级存储方法和装置
CN102841889A (zh) 一种基于orm架构的高效数据库访问的实现方法及装置
CN104965886B (zh) 数据维度处理方法
CN102521415B (zh) 在报表中引入外部数据的装置和方法
WO2005098683A3 (en) Techniques for management and generation of web forms
CN110275920A (zh) 数据查询方法、装置、电子设备及计算机可读存储介质
CN102968464B (zh) 一种基于索引的本地资源快速检索系统的检索方法
CN101894058B (zh) 针对自动测试系统的测试覆盖性自动分析方法及其装置
CA2646362A1 (en) Report generation with integrated quality management
CN101727324A (zh) 一种代码生成方法及装置
CN105488231A (zh) 一种基于自适应表维度划分的大数据处理方法
CN106021118B (zh) 测试代码生成方法及装置、测试框架代码执行方法及装置
CN103605760A (zh) 病历查询方法和病历查询系统
CN103678590A (zh) 基于olap的报表采集装置和报表采集方法
CN107291471A (zh) 一种支持可定制化数据采集的元模型框架系统
CN102521306A (zh) 一种数据存储系统应用方法
CN103646348A (zh) 一种保存厂站接线图全景反演上下文方法
CN109948044A (zh) 基于向量最近邻搜索的文档查询

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: YONYOU NETWORK TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: UFIDA SOFTWARE CO., LTD.

CP03 Change of name, title or address

Address after: 100094 Haidian District North Road, Beijing, No. 68

Patentee after: Yonyou Network Technology Co., Ltd.

Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park

Patentee before: UFIDA Software Co., Ltd.