声明序列化报告参数表示法的制作方法

文档序号:6382817阅读:150来源:国知局
专利名称:声明序列化报告参数表示法的制作方法
技术领域
本发明主要涉及信息系统领域。更具体的说,本发明涉及数据的参数表示法。
背景技术
信息系统通常需要检索来自用户的数值,以使适当的信息在恰当的时刻被传递给用户。在基于询问的报告系统中,可通过报告参数表示法来完成这个操作。参数允许报告根据用户的选择来进行定制。然而传统的报告产品仅提供静态参数选择。照这样,报告发生器没有使用数据依存(data dependencies),这就导致数据和报告的低效率处理和表达。而且传统的报告产品向用户提供的是后续数据和可选择参数的低效率和不友好表达。
例如,图2是报告处理和发生传统方法的流程图。在步骤200处,检索报告定义,其中该报告定义包括参数列表,而且若指定的话,该报告包括每个参数的可能值。然后,在步骤230处,检索来自列表的参数,并且在步骤240处决定该参数若该参数是否被标记为下拉(dropdown)。(其具有多个可能的值)如果这样,那么就在步骤250处选择该区域的所有可能值,并将其提供给用户。这可能是长长的一列值。然后,在步骤260处,用户从一个或多个下拉列表中被提示数值。若在步骤240处,该参数没有被标记为下拉,则处理直接进行到步骤260,在那里该用户被提示一个或多个数值(并非来自下拉列表)。然后,若任何参数保留在来自步骤220的列表中时,则在步骤270决定它。如果这样,那么处理就返回到步骤230。在所有的参数被检索并被用来提示用户一个或多个数值之后,然后就在步骤280处执行报告。应当注意的是在这个传统方法中,报告发生器不使用数据依存,并且提供给用户的选择没有基于其先前选择被动态决定或被子集限制(subset-limited)。
因此,有必要提供包括这样的系统和方法的动态报告产品,该系统和方法克服优先领域的问题并且更精确和有效的适合用户需求的信息传递。希望提供控制(cascaded)参数,从而使用户选择参数依赖于用户的最早选择。

发明内容
本发明旨在改善报告参数表示法系统和方法,其中用户数值和选择被收集并提供到依照用户数值和选择来定制一般定义报告的报告服务器。
一组有序的报告参数在报告定义中声明,然后这个参数定义被用来驱动用户提示和报告执行。当在序列次序中收集参数值时,被检索的或由用户对一个参数指定的数值可被用来产生序列后部参数的容许值或默认值的集合。参数被动态提供给用户。在对所有参数的数值被检索或指定后,就由报告服务器产生报告。
参考附图,并从下面说明性实施例的详细描述中,我们将明显看到本发明的附加特性和优点。


当结合附图来阅读时,我们会更好的理解前述概要和下面较佳实施例的详细描述。为了阐明该发明,其附图中示出了该发明的范例结构。然而,本发明并不局限于说明的特定方法和工具。在附图中图1是示出范例计算环境的框图,其中可实现该发明的特征;图2是报告处理和发生传统方法的流程图;图3是依照本发明的范例系统的高水平框图;图4是依照本发明的报告处理和发生范例方法的流程图;图5是依照本发明的范例报告定义的简图;图6是用于说明一个和多个范例控制如何对与报告相关联的每个报告参数被提供给用户的树形图;图7是用于说明范例控制如何被初始化以及其对与报告相关联的每个报告参数的默认值的树形图;图8是用于说明一个和多个范例控制如何对与基于条件的报告相关联的每个报告参数被提供给用户的树形图。
具体实施例方式
综述参数化报告通过允许报告设计者指定可由用户在报告执行阶段供给的一组数值来提供灵活性。数据从数据库转换为可读形式,其具有用户希望看到的信息,而并非其它数据。例如,参数被用来抑制数据或加亮数据。参数被动态提供给用户。例如,若用户被提示来选择驻留状态并且该用户选择“华盛顿”,则提供给该用户的下一选择就被限制为华盛顿内的城市。
范例计算环境图1阐明可实现本发明的合适的计算系统环境100的例子。该计算系统环境100仅是合适计算环境的一个例子,并没有特意暗示有关使用范围或本发明功能性的任何局限性。而且该计算环境100也不应被解释为具有对涉及范例操作环境100中阐明的任何一个组件或其组合的任何依赖性(dependency)或需求。
本发明可用于许多其它通用或专用计算系统环境或配置。可适合用于本发明的熟知计算系统、环境和/或配置的例子包括,但不局限于,个人计算机、服务器计算机、手提式或膝上型装置、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子装置、网络PC、小型计算机、大型计算机、包括任何上述系统或装置的分布式计算环境以及类似的装置。
本发明可用诸如正由计算机执行的程序模块这样的计算机可执行指令的普通上下文来说明。通常,程序模块包括例程、程序、对象、组件、数据结构等等,其执行特定的任务或实现特定的抽象数据类型。本发明也可用于分布式计算环境,那里由通过通信网络或其它数据传输媒介连接的远程处理装置来执行任务。在分布式计算环境中,程序模块和其它数据既可位于本地计算机存储媒体中也可位于远程计算机存储媒体中,这包括存储器存储装置。
参考图1,用于实现本发明的范例系统包括以计算机110形式的通用计算装置。计算机110的组件可包括,但不局限于,处理单元120、系统存储器130和系统总线121,该系统总线将包括系统存储器的不同系统组件联结到处理单元120。系统总线121可为几种类型总线结构中的任何一种,其包括存储器总线或存储器控制器、外围总线,以及使用多种总线体系结构中任何一种的本地总线。作为例子,但不限制,这样的体系结构包括工业标准结构(ISA)总线、微通道结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线,以及周边元件互连(Peripheral Component Interconnect)(PCI)总线(也是所知的小背板总线(Mezzanine bus))。
计算机110代表性的包括多种计算机可读媒体。计算机可读媒体可为能被计算机110存取的任何可用媒体,并且既包括易失性媒体又包括非易失性媒体、既包括可移除媒体又包括不可移除媒体。作为例子,但不限制,计算机可读媒体可包含计算机存储媒体和通信媒体。计算机存储媒体包括易失性和非易失性、可移除和不可移除媒体,这些媒体用诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息存储的任何方法或技术来实现。计算机存储媒体包括,但不局限于,RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字多用途光盘(DVD)或其它光盘存储、盒式磁带、磁带、磁盘存储或其它磁存储装置、或者可被用来保存所需信息并可被计算机110存取的任何其它媒体。通信媒体代表性的体现为计算机可读指令、数据结构、程序模块或在诸如载波或其它传送机制这样的调制数据信号中的其它数据,该通信媒体包括任何信息传递媒体。术语“调制数据信号”意指将一个或多个其特征设置或改变为这样的方式以对信号中的信息进行编码的信号。作为例子,但不限制,通信媒体包括诸如有线网络或直接布线连接这样的有线媒体,以及诸如声音、RF、红外线的和其它无线媒体这样的无线媒体。上述任何的组合也可被包含在计算机可读媒体的范围内。
系统存储器130包括以诸如ROM 131和RAM 132这样的易失性和/或非易失性存储器形式的计算机存储媒体。基本输入/输出系统133(BIOS)包含诸如在启动阶段,帮助在计算机110中的元件之间传递信息的基本例程,该基本输入/输出系统133(BIOS)代表性的保存在ROM 131中。RAM 132代表性的包含可被处理单元120直接存取和/或当前正由处理单元120操作的数据和/或程序模块。作为例子,但不限制,图1阐明操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移除/不可移除、易失性/非易失性的计算机存储媒体。仅作为例子,图1阐明硬盘驱动器140、磁盘驱动器151以及光盘驱动器155,其中硬盘驱动器140从不可移除、非易失性磁性媒体读入或写到这样的媒体,磁盘驱动器151从可移除、非易失性磁盘152读入或写到这样的磁盘,光盘驱动器155从诸如CD-ROM或其它光媒体这样的可移除、非易失性光盘156读入或写到这样的光盘。可用于范例操作环境中的其它可移除/不可移除、易失性/非易失性计算机存储媒体包括,但不局限于,盒式磁带、闪速存储器卡、数字多用途光盘、数字视频带、固态RAM、固态ROM以及类似的媒体。硬盘驱动器141代表性的通过诸如接口140这样的不可移除存储器接口与系统总线121相连,而磁盘驱动器151和光盘驱动器155代表性的通过诸如接口150这样的可移除存储器接口与系统总线121相连。
上面讨论并在图1中阐明的驱动器和其相关联的计算机存储媒体提供计算机可读指令、数据结构、程序模块和对计算机110的其它数据的存储。例如在图1中,硬盘驱动器141被阐明为保存操作系统144、应用程序145、其它程序模块146以及程序数据147。注意这些组件既可与操作系统134、应用程序135、其它程序模块136以及程序数据137相同也可与其不一样。操作系统144、应用程序145、其它程序模块146和程序数据147这里被赋予不同的数字,以阐明至少它们是不同的副本。用户可通过诸如键盘162和点击设备161这样的输入装置将命令和信息输入到计算机110中,其中点击设备一般指鼠标、跟踪球或触摸垫。其它输入装置(未示出)可包括传声器、操纵杆、游戏垫、圆盘式卫星电视天线、扫描仪或类似的装置。这些和其它的输入装置通常通过与系统总线联结的用户输入接口160连接到处理单元120,但其也可通过诸如并行端口、游戏端口或通用串行总线(USB)这样的其它接口和总线结构来连接。监视器191或其它类型的显示装置也通过诸如视频接口190这样的接口与系统总线121相连。除监视器之外,计算机也可包括诸如扬声器197和打印机196这样的其它外围输出装置,其可通过输出外围接口195连接。
计算机110可在使用到诸如远程计算机180这样的一个或多个远程计算机逻辑连接的网络化环境中工作。远程计算机180可为个人计算机、服务器、路由器、网络PC、对等装置(peer device)或其它普通网络节点,并且其代表性的包括上述相对于计算机110的许多或所有元件,尽管图1中仅阐明了存储器存储装置181。所述逻辑连接包括本地网(LAN)171和广域网(WAN)173,但其可也包括其它网络。这样的网络化环境常见于办公室、全企业计算机网络(enterprise-wide computer networks)、局内网和国际互联网中。
当在LAN网络化环境中使用计算机110时,计算机110通过网络接口或适配器170与LAN 171相连。当在WAN网络化环境中使用计算机110时,计算机110代表性的包括调制解调器172或用于在诸如国际互联网这样的WAN173中建立通信的其它装置。调制解调器172可为内置或外置,其可通过用户输入接口160或其它合适机制与系统总线121相连。在网络化环境中,所述相对于计算机110的程序模块或其部分可被保存在远程存储器存储装置中。作为例子,但不限制,图1阐明作为驻留在存储器装置181中的远程应用程序185。应当认识到所示网络连接是范例性的,而且可使用在计算机之间建立通信连接的其它装置。
范例分布式计算框架或体系结构不同的分布式计算框架已经或正在按照个人计算和国际互联网的会聚而发展。类似的个体和商业用户被提供对应用和计算装置的能无缝化共同操作和网络允许的接口,这使计算活动愈加网络浏览器或网络定位。
例如,MICROSOFT的.NET平台包括服务器、建造块服务,这诸如基于网络的数据存储和可下载的装置软件。通常而言,该.NET平台提供(1)使计算装置的整个范围一起工作并使用户信息在其所有装置上自动更新和同步的能力,(2)增加对网站的交互能力,这通过与HTML相比而言有更广泛使用的XML来实现,(3)以定制存取和从对不同应用管理的中央起点到用户的产品和服务的传递为特色的在线服务,这比如说像电子邮件或诸如Office.NET这样的软件,(4)集中的数据存储,其会增加信息存取的效率和简易程度,也增加用户和装置之间的信息同步性,(5)集成诸如电子邮件、传真和电话这样的不同通信媒体的能力,(6)对开发者来说,创建可以再度使用的模块的能力,从而提高生产率并减少编程错误的数量,以及(7)也有许多其它的跨平台集成特性。
虽然这里的范例实施例是关于驻留在计算机装置中的软件来说明的,但是也可通过操作系统、API、或介于协处理器和请求对象之间的“中间人”对象来实现本发明的一个或多个部分,这样,服务就可通过所有的.NET语言和服务以及同样在其它的分布式计算框架中来执行,支持或存取了。
范例实施例一组有序的报告参数在报告的定义中声明,然后这个参数定义被用来驱动用户提示和该报告的执行(报告定义在下面关于图5进一步说明)。参数的范例定义包括参数名;数据类型(串、数、数据等);允许值集合或用来检索允许值集合的可选择询问;默认值或用来检索默认值和是否提示用户数值的可选择询问。允许值和默认值询问可为任意复杂的并且可由报告设计者按愿望来定义。
另外,允许值和默认值询问的参数可通过先前指定参数值的数值来确定。
这就允许检索的或由用户对一个参数指定的数值被用来在序列的后部产生该组参数允许值或默认值。在对所有参数的数值被检索或指定后,由报告服务器产生报告。
例如,假定具有两个参数的报告定义,“产品范畴”和“产品名称”。该列产品范畴从数据库中被检索并且用户被提示在该列表中选择一个项目。一旦该用户做出选择,就从数据库中检索在已选择范畴中的一列产品名称。然后该用户从该列表中选择一个产品名称并且报告使用已选择的产品来执行(操作)。
以包括动态参数列表和本发明默认值的另一个范例方案来说,假定存在对报告进行定义的3个参数,“区域”、“州”和“城市”。用户接口被显示为具有用于对每个参数进行输入的3个下拉列表。“区域”下拉列表上聚集了美国的区域。当选择区域(如西北)时,就使用在“区域”下拉列表中选择为询问参数的区域来询问与州参数相关联的数据源。“州”下拉列表中聚集了来自参数询问的结果集合。当在“州”下拉列表中作出选择(如华盛顿),就使用在“州”下拉列表中选择为询问参数的州来询问与“城市”参数相关联的数据源。
图3是依照本发明范例系统的高水平框图。包含报告处理器310和数据处理器315的报告服务器300,如上所述与请求计算机320互相作用。报告服务器300访问诸如对不同值和数据的外部数据源330这样的存储装置。通过响应报告请求,例如通过请求计算机320,报告服务器300产生报告,这如下所述。同样示出的是用来创建报告定义的报告著作(authoring)/设计工具325,如这里所述。
图4是依照本发明的报告处理和产生范例方法的流程图。依存关系被决定为预处理步骤是可预期的。具体的说,若不能立即评估个体报告参数的默认值和/或允许值,则决定一列其依存关系。这就导至表明参数输入依存关系的树形结构。例如,假定有对报告定义的3个参数,参数1、参数2和参数3。参数2组有效值是基于使用参数1数值的询问的。参数3的默认值是基于使用参数1数值的询问的。这样,当对报告检索参数元数据时,其将表明参数2和参数3均依赖于参数1。
在步骤400处,报告服务器开始处理。在步骤400处,从包括参数、数据集和数据源的存储器或其它产生的中检索合适的报告定义(例如下面关于图5来说明)。然后在步骤410处评估参数元数据。这个元数据包含诸如参数允许值和默认值这样的信息,连同用户已提供的任何数值,这如下所述。
若在步骤415处,所有的参数具有数值,则在步骤495处执行报告。否则,在步骤420处,就选择对其它参数没有未定依存关系的参数,进行进一步处理。不具有任何未定依存关系的参数被处理以检索其允许值和默认值,用于提供给用户来提示。照这样,由用户对参数检索或指定的数值可被用来产生序列后部的参数允许值和默认值的集合。这样,对参数的允许值和默认值的集合就被动态提供给用户,这就允许更有效和更精确的过程。
在步骤425处,选择不具有任何未定依存关系的参数。若由对参数允许值的询问,则在步骤430处决定其参数。如果这样,那么就在步骤435处使用外部数据源450来检索允许值。这样,关于上述例子,若参数“州”依赖于参数“区域”,且对“区域”而言,用户先前已选择“西北”,那么,在步骤435处检索的允许值就是在美国西北区域内的州。然后,这些州将更适宜的被提供到例如下拉列表中的用户,作为选择要在报告产生阶段使用的数值的提示。
若在步骤430处没有对允许值指定的询问,或在检索允许值后,则在步骤440处,决定是否有对默认值的询问。如果这样,那么就在步骤445处从外部数据源450中检索默认值。若非如此,或在默认值已被检索之后,则在步骤460处,决定是否有保留其不具有未定依存关系的任何附加参数,这来自步骤420。若有保留的附加参数,则处理在步骤425处继续,那里下一参数也正被处理。
在已经处理了不具有任何未定依存关系的所有参数后,在步骤470处,用户就被提示输入数值(例如用户从通过响应已检索的允许值和/或默认值而提供的下拉列表中做出其选择,这诸如,与上述例子一致,用户从提供于西北区域中州的下拉列表中的州中选择州,)而且处理在步骤410处继续,那里附加参数正被检索,且随后按上述来处理。照这样,用户被提供其能对要用在后续报告产生中的数值做出选择的一系列下拉列表(或其它类型的)列表。下拉列表提供了所有选择的目标(targeted)子集,该子集仅包括预期用户响应(例如,若用户已经指定了美国西北区域内的州,则其将仅被提供西北区域内州的下拉列表,而非美国所有州的列表;那些西北区域内的州被认为是所有选择的目标子集)。
图5是依照本发明范例报告定义的简图。报告500基本上(ultimately)包含诸如姓名、描述、作者和页宽和高这样的元数据。基于询问参数570,依照报告参数505和数据集540产生报告,这在下面进一步说明。每个报告参数可随意指定默认值510和有效值520的集合。默认值510既可通过保存的、常数值515来指定,也可通过数据集参考530导出。同样的,有效值520既可为一组保存的、恒定参数值525,也可通过数据集参考530导出。
依照询问550和数据模型560产生数据集540。询问550包含询问参数570,连同包含不同区域(fields)580的数据模型560。数据集参考530包含对数据集中区域的参考。这些区域的数值被用作默认值(在具有数据集参考的默认值的情况下)或用作数值/标签对。(在具有数据集参考的有效值的情况下)在报告定义中指定参数。参数类型包括报告参数505和询问参数570。报告参数505是供给到报告500的数值(或包含在报告定义中),其允许报告示出数据的不同方面。报告参数代表性的被用来向询问参数提供数值。报告参数的附加用途包括依靠在报告中使用的表达式的报告外观(appearance)的后询问(post-query)滤波和修正。
询问参数570是被供给到询问550的数值或在被用来返回其结果的数据处理器中的保存过程。询问参数的能力代表性的由数据处理器(如数据处理器315)来定义。询问参数可被设置为任何允许的表达式,这包括基于报告参数505的不变值或表达式。
询问参数更适宜通过数据处理器支持的API被传递到数据处理器。在询问参数表达式被评估后,结果就被转换为合适的数据类型,然后被传递给数据处理器。询问参数句法更适宜依靠使用的数据处理器。例如,SQL Server可在SELECT语句中使用诸如“SELECT*FROM EMPLOYEES WHERELEVEL=?”这样的问号字符。其也可使用在保存过程中直接定义的参数(如“EXECUTEGetEmployee@EmployeeIDParm”)。
表1示出对参数的范例元数据。



表1图6是用于说明范例控制是如何对每个与报告相关联的报告参数被提供给用户的树形图。基于询问的数值由与参数元素中数值子元素的缺席结合的依存关系子元素的出现来决定。对数值子元素,在步骤600,决定其值是否基于询问,硬编码或没有被指定。若数值是基于询问的,则注意控制是基于询问的而且显示合适的消息,例如在步骤605处。若数值是硬编码或没有被指定,则在步骤610处决定类型子元素数值。若类型是布尔型,则在步骤615处提供或相反显示“真”和“假”指示器(如单选按钮)。否则,若类型例如是日期时间型、双精度型、整型或串型,则在步骤620处决定是否提供有效值。
若不提供有效值,则在步骤625处决定是否提供依存关系子元素。若没有,则若在步骤640处有多个数值,则在步骤655处提供复式线路(multi-1ine)编辑控制。若多个数值没有在步骤640处出现,则在步骤650处提供单行(single-line)编辑控制。若依存关系子元素出现在步骤625处,则在步骤635处提供下拉列表控制。同样的,若在步骤620处提供有效值,则在步骤630处提供下拉列表控制。关于下拉列表控制,若有多个数值出现,则下拉列表更适宜为多选;否则下拉列表更适宜为单选。
图7是用于说明范例控制是如何初始化以及其对每个与报告相关联的报告参数默认值的树形图。控制基于许多条件来进行初始化。条件包括是否存在有效值列表和数值,是否存在有效值等等。注意这个初始化树代表性的可适用于不是从询问中导出的或不是基于用户的参数。在步骤700处,决定有效值子元素是否出现。若没有出现,则在步骤740处决定数值子元素。若数值子元素的数值是硬编码的,则在步骤745处显示该数值。若数值子元素的数值没有被指定,则在步骤750处决定类型子元素是否为日期时间型。若这样,则在步骤755处显示当前日期和时间;否则,就在步骤760处提供空白。
若有效值子元素在步骤700处出现,则在步骤705处控制被聚集有效值。在步骤710处,检索数值子元素值,并且若数值没有被指定,则在步骤715处提供空白。若来自步骤710的数值是硬编码的,则在步骤720处决定该数值是否在先前定义或产生的控制列表内。若这样,则在步骤730处选择该一个或多个数值;否则,就在步骤725处显示空白。
当提示对报告参数的数值时,用于设置该数值的控制(其可为HTML控制)是基于许多条件的。条件包括默认值来自何处,参数数据类型,零是否为可接受的数值,有效值的预定义列表是否存在等等。基于这些条件对每个与报告相关联的报告参数而提供给用户的一个或多个控制更适宜按图6中所述,从步骤610处开始产生,如这里所述。
图8是用于说明一个或多个范例控制如何基于条件对每个与报告相关联的报告参数而被提供给用户的树形图。控制是基于许多条件而初始化的。条件包括是否存在有效值列表和数值,是否存在有效值等等。图8定义基于这些条件控制如何被初始化以及其对每个与报告相关联的报告参数的默认值。在一些情况下,我们预期数值子元素的数值可为零。
在步骤800,决定有效值子元素是否存在。若有效值子元素不存在,则在步骤850处,决定数值子元素是否存在。若数值子元素不存在,则在步骤855处提供空白。若数值子元素存在,则在步骤860处决定数值子元素的数值是否为硬编码。若这样,则在步骤865处显示该数值。若数值子元素的数值没有被指定,则在步骤870处决定类型子元素是否为日期时间型,若这样,则在步骤875处显示当前日期和时间;否则,就在步骤880处提供空白。
若在步骤800处提供有效值子元素,则在步骤805处控制聚集有效值。在步骤810处,检索数值子元素数值,并且若该数值不出现,则在步骤815处提供空白。若来自步骤810的数值出现,则在步骤820处决定数值子元素的数值是否为硬编码或没有被指定。若该数值没有被指定,则在步骤825处提供空白。若数值子元素的数值是硬编码,则在步骤830处决定该数值是否在先前定义或产生的控制列表中。若这样,就在步骤840处选择该一个或多个数值;否则,就在步骤835处显示空白。
如上所述,虽然已经关于不同的计算装置和网络体系结构说明了本发明的范例实施例,下面的概念还是可适用于任何计算装置或系统。
这里所述的不同技术可关于硬件或软件或用两者的恰当组合来实现。这样,本发明的方法和装置,或其特定方面或部分,可采取包含在诸如软磁盘、CD-ROM、硬盘驱动器或任何其它的机器可读存储媒体这样的有形媒体中的程序码(如指令)的形式。其中,当程序码被加载到诸如计算机这样的机器中并由这样的机器执行时,该机器就变成用于实施本发明的装置。当出现在可编程计算机上进行程序码执行的情况时,计算装置通常会包括处理器、处理器可读的存储媒体(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,以及至少一个输出装置。例如通过使用数据处理API或类似处理,可利用本发明的创建和/或域指定(domain-specific)编程模型方面实施的一个或多个程序更适宜在高水平程序上或面向对象编程语言中实现,以同计算机系统进行通信。然而,若需要的话,该一个或多个程序可被组合实施,或者其为机器语言。在任何情况下,该语言可为编译或解释语言程序,并且与硬件实现结合。
本发明的方法和装置也可通过具体体现为在某些传输媒体上传输的程序码形式的通信来实现,其中这些传输媒体诸如电线或电缆、光学纤维或者任何其它形式的传输,其中,当程序被接收且被载入诸如EPROM、门阵列、可编程逻辑装置(PLD)、客户计算机或类似的机器并由这样的机器执行时,该机器就变成用于实施本发明的装置。当在通用处理器上实施时,程序码与处理器组合,以提供工作来调用本发明功能性的唯一装置。另外,与本发明有关的使用的任何存储技术可总是硬件和软件的组合。
虽然已经关于不同图的较佳实施例对本发明做了说明,应当要认识到的是在不背离本发明的情况下,也可使用其它类似的实施例,或者可对说明的实施例进行修正和添加以用于执行本发明的相同功能。因此,本发明不应被局限于任何单个实施例,而是应依照附加权利要求书的广度和范围来解释。
权利要求
1.报告处理的方法,其特征在于,包含(a)接收具备有序参数集合的报告定义;(b)为在其中一个所述有序集合中的第一组参数接收许多数值;(c)通过响应对所述第一组参数接收的数值,产生许多提示来对后续的一组参数的数值进行请求,所述提示包含对所述后续参数的一组允许值;(d)重复步骤(a)到(c),直到对每组参数已指定所有的参数值;以及(e)基于所述报告定义和所述接收值执行报告。
2.如权利要求书1所述的方法,其特征在于,产生所述许多提示包含基于对所述第一组参数接收的数值,接收对所述后续组参数的一组潜在值(potential values)和默认值。
3.如权利要求书1所述的方法,进一步包含基于对所述第一组参数接收的数值,接收对所述后续参数的一组潜在值并将所述该组潜在值约束在子集内,所述子集相应于所述该组允许值。
4.如权利要求书1所述的方法,其特征在于,产生许多下拉列表,它们包含产生每个后续参数的所述该组允许值。
5.如权利要求书4所述的方法,其特征在于,进一步包括,显示所述下拉列表并接收输入选择,所述输入选择相应于对每个后续参数接收的数值。
6.如权利要求书1所述的方法,其特征在于,接收所述数值包含从存储装置中接收默认值。
7.如权利要求书1所述的方法,其特征在于,接收所述数值包含接收相应于用户输入值的数值。
8.如权利要求书1所述的方法,进一步包含产生附加提示,该提示向对所述有序组参数的附加参数的数值进行请求,每个附加提示包含对所述相关联参数的一组允许值,所述该组允许值通过响应至少一个先前接收的数值而被决定。
9.如权利要求书8所述的方法,其特征在于,产生所述附加提示包含基于所述参数之间的依存关系按顺序产生所述附加提示。
10.如权利要求书8所述的方法,其特征在于,所述每个附加参数不具有未定依存关系。
11.如权利要求书1所述的方法,其特征在于,所述后续参数没有未定依存关系。
12.如权利要求书1所述的方法,进一步包含在接收所述数值之前,在所述参数有序集中检索涉及每个所述参数的元数据。
13.具有其中保存的计算机可执行指令并用于执行报告处理方法的计算机可读媒体,包含(a)接收具有参数有序集的报告定义;(b)接收对其中一个所述有序集合中的第一组参数的许多数值;(c)产生许多提示,以通过响应对所述第一组参数接收的数值而请求对后续组参数的数值,所述提示包含一组对所述后续参数的允许值;(d)重复(a)到(c),直到对每组参数已经指定所有的参数值;以及(e)基于所述报告定义和所述接收的数值,执行报告。
14.如权利要求书13所述的计算机可读媒体,其特征在于,产生所述许多提示包含基于对所述第一组参数接收的数值,接收对所述后续组参数的一组潜在值和默认值。
15.如权利要求书13所述的计算机可读媒体,进一步包含计算机可执行指令,其用于根据对所述第一组参数接收的数值接收对所述后续参数的一组潜在值,并将所述该组潜在值约束在子集内,所述子集相应于所述该组允许值。
16.如权利要求书13所述的计算机可读媒体,其特征在于,产生所述许多提示包含产生包括对每个后续参数允许值集合的下拉列表。
17.如权利要求书16所述的计算机可读媒体,进一步包含计算机可执行指令,其用于显示所述下拉列表并接收输入选择,所述输入选择相应于对每个后续参数接收的数值。
18.如权利要求书13所述的计算机可读媒体,其特征在于,接收所述数值包含从存储装置中接收默认值。
19.如权利要求书13所述的计算机可读媒体,其特征在于,接收所述数值包含接收相应于用户输入值的数值。
20.如权利要求书13所述的计算机可读媒体,进一步包含计算机可执行指令,其用于产生附加提示,该提示向对所述有序组参数的附加参数的数值进行请求,每个附加提示包含对所述相关联参数的一组允许值,所述该组允许值通过响应至少一个先前接收的数值而被决定。
21.如权利要求书20所述的计算机可读媒体,其特征在于,产生所述附加提示包含基于所述参数之间的依存关系按顺序产生所述附加提示。
22.如权利要求书20所述的计算机可读媒体,其特征在于,每个所述附加参数不具有未定依存关系。
23.如权利要求书13所述的计算机可读媒体,其特征在于,所述后续参数不具有未定依存关系。
24.如权利要求书13所述的计算机可读媒体,进一步包含计算机可执行指令,其用于在接收所述数值之前,检索涉及在所述参数有序集中的每个所述参数的元数据。
25.用于处理报告的系统,包含存储装置,其保存涉及许多参数的数据;以及报告服务器,其与所述存储装置联结,并包含报告处理器和数据处理器,其接收(a)接收具备有序参数集合的报告定义;(b)对在其中一个所述有序集合中的第一组参数接收许多数值;(c)通过响应对所述第一组参数接收的数值,产生许多提示来对后续的一组参数的数值进行请求,所述提示包含对所述后续参数的一组允许值;(d)重复步骤(a)到(c),直到对每组参数已指定所有的参数值;以及(e)基于所述报告定义和所述接收值执行报告。
26.如权利要求书25所述的系统,其特征在于,在产生所述许多提示中,基于对所述第一组参数接收的数值,所述报告服务器接收对所述后续参数集合的一组潜在值和默认值。
27.如权利要求书25所述的系统,其特征在于,根据对所述第一组参数接收的数值,所述报告服务器接收一组对所述后续参数的潜在值,并将所述该组潜在值约束在子集内,所述子集相应于所述该组允许值。
28.如权利要求书25所述的系统,其特征在于,所述报告处理器产生包含对每个后续参数的所述该组允许值的下拉列表。
29.如权利要求书28所述的系统,其特征在于,所述报告服务器显示所述下拉列表并接收输入选择,所述输入选择相应于对每个后续参数接收的数值。
30.如权利要求书25所述的系统,其特征在于,至少其中一个所述数值包含来自所述存储装置的默认值。
31.如权利要求书25所述的系统,其特征在于,至少其中一个所述数值包含相应于用户输入值的数值。
32.如权利要求书25所述的系统,其特征在于,所述报告处理器产生附加提示,该提示是向对所述有序组参数的附加参数的数值进行请求,每个附加提示包含对所述相关联参数的一组允许值,所述该组允许值通过响应至少一个先前接收的数值而被决定。
33.如权利要求书32所述的系统,其特征在于,根据所述参数之间的依存关系,所述报告处理器按顺序产生所述附加提示。
34.如权利要求书32所述的系统,其特征在于,每个所述附加参数不具有未定依存关系。
35.如权利要求书25所述的系统,其特征在于,所述后续参数不具有未定依存关系。
36.如权利要求书25所述的系统,其特征在于,所述报告服务器在来自所述存储装置的所述参数有序集中检索涉及每个所述参数的元数据。
全文摘要
用户数值和选择被收集并提供给报告服务器,其按照用户数值和选择来定制一般定义的报告。一组有序的报告参数在报告定义中声明,然后这个参数定义被用来驱动用户提示和报告的执行。当按顺序收集参数值时,由用户对一个参数检索或指定的数值可被用来在序列的后部产生该组参数允许值或默认值。参数被动态提供给用户。在已经检索或指定了对所有参数的数值后,由所述报告服务器产生报告。
文档编号G06Q10/06GK1525359SQ20041000550
公开日2004年9月1日 申请日期2004年2月12日 优先权日2003年2月12日
发明者B·L·威尔克, B L 威尔克, C·A·海斯, 海斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1