CN102129449A - 数据计算范围的动态扩展 - Google Patents
数据计算范围的动态扩展 Download PDFInfo
- Publication number
- CN102129449A CN102129449A CN2011100263234A CN201110026323A CN102129449A CN 102129449 A CN102129449 A CN 102129449A CN 2011100263234 A CN2011100263234 A CN 2011100263234A CN 201110026323 A CN201110026323 A CN 201110026323A CN 102129449 A CN102129449 A CN 102129449A
- Authority
- CN
- China
- Prior art keywords
- group
- data
- definition
- report
- territory
- 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.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title abstract description 6
- 230000001360 synchronised effect Effects 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims description 66
- 239000002775 capsule Substances 0.000 claims description 42
- 230000000007 visual effect Effects 0.000 claims description 25
- 230000014509 gene expression Effects 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 15
- 238000003780 insertion Methods 0.000 claims description 10
- 230000037431 insertion Effects 0.000 claims description 10
- 230000006870 function Effects 0.000 abstract description 21
- 230000004044 response Effects 0.000 abstract description 3
- 239000011159 matrix material Substances 0.000 description 25
- 230000008569 process Effects 0.000 description 25
- 230000007246 mechanism Effects 0.000 description 13
- 230000015654 memory Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- BYHQTRFJOGIQAO-GOSISDBHSA-N 3-(4-bromophenyl)-8-[(2R)-2-hydroxypropyl]-1-[(3-methoxyphenyl)methyl]-1,3,8-triazaspiro[4.5]decan-2-one Chemical compound C[C@H](CN1CCC2(CC1)CN(C(=O)N2CC3=CC(=CC=C3)OC)C4=CC=C(C=C4)Br)O BYHQTRFJOGIQAO-GOSISDBHSA-N 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000002708 enhancing effect Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 206010070597 Disorder of sex development Diseases 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000013402 definitive screening design Methods 0.000 description 1
- 238000011162 downstream development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 210000004287 null lymphocyte Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000053 physical method Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明揭示了数据计算范围的动态扩展。对齐已嵌套和已编组的报告数据。数据-绑定对象,例如数据区域或外组,可以用作具有域范围的数据容器。标识具有未对齐数据值的内组的实例。响应于报告的定义中的同步指令,基于数据容器域范围同步内组实例。在同步中,插入数据值,并可以动态创建同步组。可以在已同步的组上计算合计函数,而不考虑已插入的数据值。使用可视地指示的同步来生成报告布局。
Description
技术领域
本发明涉及数据计算范围,尤其涉及数据计算范围的动态扩展。
背景技术
现代商行、协会、机构,和其他实体使用软件帮助生成报告,并基于该报告作出决策。报告定义指导或影响数据选择、布局、统计计算,和其他计算过程,来帮助从数据库或其他数据源,以有助于决策者的格式呈现数据。
一些报告定义包括编组数据的功能。在诸如一些查询和报告工具的面向数据的应用中,例如,在将数据在报告中显示给用户之前可以编组数据。数据编组可以用于诸如群聚相关联数据、小计,以及标识或移除重复数据的目的。编组可以在单数据字段上执行,例如按状态来编组客户列表。编组也可以在多个嵌套数据字段上执行,例如按状态来编组客户列表,并且然后在每个状态编组中按性别编组客户。
发明内容
当数据以嵌套方式编组时,可能不将特定外组实例中的内组实例与该外组的同属中的实例对齐。例如,对于特定年份的数据可能没有一月的条目,而对于另一年份缺少三月的条目。这里所描述的一些实施例,对齐数据以显示全部年份中缺少的月份的空条目,并以其他类型的缺少数据值来作类似调节,以帮助作出更容易理解的报告。
例如,一些实施例获取报告定义,并在报告定义中定位(i)定义具有域范围的数据容器的数据绑定对象定义,以及(ii)定义在该数据容器中嵌套的内组的内组定义。作为示例,数据-绑定对象定义可以定义数据区域,或外组。标识在至少一个数据值上不同的内组的实例。响应于报告定义中的同步指令,基于数据容器域范围同步内组实例。在同步中,可以插入数据值,和/或可以动态创建新同步组。可以在已同步的组上计算合计函数,而不考虑所插入的数据值。生成报告布局,其中可视地指示了来自基于数据容器域范围的同步的对齐。
所给出的这些示例仅仅是说明性的。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。相反,提供本“发明内容”是为了以简化的形式介绍将在以下“具体实施方式”中进一步描述的某些概念。本发明由权利要求书限定,并且在本发明内容与权利要求书相冲突时以权利要求书为准。
附图说明
将参考附图给出更具体的描述。这些附图只示出了各选择性方面并且因而不完全决定范围。
图1是示出具有至少一个处理器、至少一个存储器、用于从报告定义生成报告的至少一个工具、以及可存在于多个网络节点上的操作环境中的其他项的计算机系统,并且还示出配置的存储介质实施例的框图;
图2是示出在示例体系结构中使用报告定义的同步指令的数据计算范围的动态扩展方面的框图;
图3是示出一些方法的步骤和配置的存储介质的实施例的流程图;
图4是未同步的报告布局可视化样本,其中未将内组月份(Month)的同属实例对齐;
图5是来自图4的数据的已同步的报告布局的可视化,其中同属组实例被对齐;
图6是示出了图4示例的未同步的外组和内组的实例的框图;
图7是示出了图5示例的已同步的外组和内组的实例的框图,显示插入的组数据值;
图8是示出了已同步的报告布局可视化的屏幕截图,包括沿着X轴对齐的线状图。
图9是未同步的报告布局可视化样本,包括合计函数行计数(RowCount),其中未将内组季度(Quarter)的同属实例对齐;以及
图10是来自图9的数据的已同步的报告布局的可视化,其中同属组实例被对齐。
具体实施方式
概览
一般来说,可以对齐已嵌套和已编组的报告数据已使得报告更容易理解。为此,数据-绑定对象,例如数据区域或外组,可以用作具有域范围的数据容器。标识具有未对齐数据值的内组的实例。响应于报告定义中的同步指令,基于数据容器域范围同步内组实例。在同步中,可以在缺少之处插入数据值,并可以动态创建同步组。在已同步的组的实例上计算合计函数,诸如统计函数,而不考虑已插入的数据值——可视对齐无需改变报告中所呈现的实质性数字结果。生成报告布局,包括已对齐项;在报告的可视化中可视地指示同步。
特别地,当报告的数据以嵌套方式编组时,可以不将特定外组实例(例如,城市)中的内组实例(例如,城市中的性别)与外组的同属中的实例对齐,即使,这将有助于在报告数据时同步它们。例如,可以先按年份然后按月份编组数据,且对于特定年份,数据可能没有一月的条目,而对于另一年份缺少三月的条目。当报告矩阵或图表中的数据时,以按需显示全部年份中缺少的月份的空条目的方式对齐数据以辅助理解是有帮助的。对齐对于数据的可视显示特别有帮助,其中当外组的不同实例不具有内组的已对齐实例时进行并排对比是困难的。
例如,图4示出了按年份和月份编组数据的图表。该图表未被对齐,使得年份之间对比困难。在图5中,相反,使用已插入的月份和空白对齐图表,使得年份之间对比变得容易多了。图6示出了图4数据中呈现的数据值。图7示出了将数据值插入组2008和2009中,以填充因缺少值造成的空隙。图5中所示的对齐,以及类似的数据对齐,可以通过使用在此描述的数据计算范围工具和技术的动态扩展来实现。
在此描述的某些实施例动态地创建特定范围下的隐藏组,基于此,给定内组的全部实例应被同步。在该隐藏组的实例被生成之后,它们被用于插入内组中的缺少的实例。可以以声明性的方式,例如在报告定义中,表达用于指定对齐域范围的同步指令。特别地,可以在报告定义的一些实施例中表达同步指令。在与微软公司提供的报告定义语言(RDL)标准相称的一些实施例中,例如,同步指令可以采取在定义报告的XML方案中的组.域范围(Group.DomainScope)元素的形式。
现在将参考诸如附图中所示的那些示例性实施例,并且将使用具体语言来描述它们。但在此示出的特征的替换和进一步修改,以及在此示出的原理的附加应用(掌握本公开内容的相关领域技术人员会想到)应该被认为处于权利要求的范围内。
术语的含义在本公开内容中进行阐明,所以权利要求应当在仔细注意这些说明的情况下来阅读。给出了具体示例,但相关领域技术人员将理解其他示例也可能落入所使用的术语的意义内,并落入一个或多个权利要求的范围内。各术语不一定需要具有与它们在一般使用中、在特定行业使用中、或在特定字典或一组字典的使用中所具有的意义相同的意义。附图标记可以与各种措辞一起使用,以帮助示出术语的外延。从给定文本片段中省略附图标记不一定意味着文本没有在讨论附图的内容。发明人主张并行使他们对他们自己的词典编纂的权利。在此,可以在“具体实施方式”中和/或在本申请文件的其他部分,显式或隐式地定义术语。
如在此所使用的,“计算机系统”可包括,例如,一个或多个服务器、主板、处理节点、个人计算机(便携式或非便携式)、个人数字助理、蜂窝或移动电话、和/或提供至少部分地由指令控制的一个或多个处理器的其他设备。指令可以是以存储器和/或电路中特定的软件的形式。具体而言,虽然可以想到许多实施方式在工作站或膝上型计算机上运行,但其他实施方式可以在其他计算设备上运行,并且任何一个或多个这样的设备可以是给定实施方式的一部分。
“多线程”计算机系统是支持多执行线程的计算机系统。术语“线程”应被理解为包括能够同步或服从同步的任何代码,并且也以另一名称为人所知,如“任务”、“进程”或“协同程序”。线程可以并行运行、串行运行、或以并行执行(例如,多处理)和串行执行(例如,时间分片)的组合来运行。在各种配置中都设计了多线程环境。执行线程可以并行运行,或可以组织线程以供并行执行但实际上串行轮流执行。例如,可通过在多处理环境中的不同的核上运行不同的线程、通过在单个处理器核上对不同的线程进行时间分片、或通过时间分片和多处理器线程化的某些组合,来实现多线程。例如,可以通过内核的线程调度器、通过用户空间信号、或通过用户空间和内核操作的组合,来启动线程上下文切换。例如,线程可以轮流操作共享数据,或每一线程可以操作其自己的数据。
“逻辑处理器”或“处理器”是单个独立硬件线程处理单元。例如,每个核运行两个线程的超线程四核芯片具有八个逻辑处理器。处理器可以是通用目的的,或者它们可以针对诸如图形处理、信号处理、浮点算术处理、加密、I/O处理等特定用途来定制。
“多处理器”计算机系统是具有多个逻辑处理器的计算机系统。多处理器环境以各种配置出现。在一给定配置中,所有处理器可以在功能上相同,而在另一配置中,一些处理器可能由于具有不同的硬件能力、不同的软件分配、或这两者而与其他处理器不同。取决于配置,处理器可以彼此高度耦合在单个总线上,或它们可以是松散耦合的。在一些配置中,各处理器共享中央存储器,在一些配置中,它们各自具有其自己的本地存储器,并且在一些配置中,共享和本地存储器两者都存在。
“内核”包括操作系统、系统管理程序、虚拟机、以及类似的硬件接口软件。
“代码”意味着处理器指令、数据(其包括常量、变量以及数据结构),或指令和数据两者。
“自动地”意味着使用自动化(例如,由在此讨论的特定操作的软件配置的通用目的计算硬件),与没有自动化相反。具体而言,“自动地”执行的步骤不是通过手在纸上或在人的脑中执行的,它们是用机器执行的。
贯穿全文,使用可选的复数“(诸)”意味着存在所指示的特征中的一个或多个。例如,“(诸)处理器”意味着“一个或多个处理器”或等效于“至少一个处理器”。
无论何时引用了数据或指令,可以理解这些项配置计算机可读存储器,从而将其转换成与简单存在于纸上、人脑中相反的特定制品,或例如,作为线上的瞬时信号。
操作环境
参考图1,用于实施例的操作环境100可包括计算机系统102。计算机系统102可以是或不是多处理器计算机系统。操作环境可包括给定计算机系统中的一个或多个机器,它们可以群集在一起、客户机-服务器式联网、和/或对等式联网。
人类用户104可以通过使用显示器、键盘,和其他外围设备106和计算机系统102交互。系统管理员、开发人员、工程技术人员、报告开发人员,以及其他最终用户各自都是特定类型的用户104。代表一个或多个人的自动化代理也可以是用户104。在一些实施例中,存储设备和/或联网设备可被认为是外围装备。图1中未示出的其他计算机系统,可以使用例如经由网络接口设备到网络108的一个或多个连接来与计算机系统102或与另一系统实施例进行交互。
计算机系统102包括至少一个逻辑处理器110。与其他合适系统一样,计算机系统102还包括一个或多个计算机可读存储介质112。介质112可以是易失性存储器、非易失性存储器、固定在适当位置的介质、可移动介质、磁性介质、光学介质、和/或其他类型的介质。具体而言,诸如CD、DVD、记忆棒、或其他可移动非易失性存储器介质等的已配置介质114,在被插入或以其他方式安装时,可以在功能上变成计算机系统的一部分,使得它的内容可被访问以供处理器110使用。可移动已配置的介质114是计算机可读存储介质112的示例。计算机可读存储介质112的一些其他示例包括内置RAM、ROM、硬盘、以及不易于由用户104移动的其他存储设备。介质112可以是多个不同的物理类型,单独或者结合。
介质114由可由处理器110执行的指令116来配置;“可执行”在此以宽泛的意义来使用,以包括例如机器代码、可解释代码、以及在虚拟机上运行的代码。介质114还由数据118来配置,数据118是通过执行指令116来创建、修改、引用、和/或以其他方式使用的。指令116和数据118配置它们位于其中的介质114;当该存储器是给定计算机系统的功能部分时,指令116和数据118还配置该计算机系统。在一些实施例中,数据118的一部分表示真实世界项,如产品特征、清单、关键性能指标、物理测量、设置、图像、读数、目标、容量等。这些数据也可通过如此处所讨论的重演来变换,例如通过编组、合计计算、布局放置、同步、绑定、部署、执行、修改、显示、创建、加载和/或其他操作。
报告工具120帮助用户104生成、存储、检索、提取、合计、布局、显示、可视化,和/或其他处理报告122中使用的数据。如在此所讨论的,报告服务、报告生成器、或其他工具120可以是先前熟悉但未能对齐数据使之对于使用报告的用户来说容易地可操作的工具,或者它可以是已被补充和/或其他方式修改以支持根据在此教导的数据计算范围的动态扩展的工具。图1中一项的仅仅出现,具体而言,并不意味着该项的每个示例是先前知晓的。
报告122在组报告定义124中使用微软报告定义语言(RDL)和/或其他报告定义机制被定义。RDL指定以下项:数据-绑定对象126以及它们各自的定义128、具有各自域范围132的数据容器130、表达式134、组136以及它们各自的定义138、组实例140、数据值142、项之间的嵌套144关系、数据区域146和它们各自的定义。前述的示例,以及它们之间的内在联系,例如,在RDL文档中可用。也可以使用不同于RDL的报告定义机制来指定相同或类似项。
图中所示的附加软件和项,可以部分地或全部地驻留组一个或多个介质112中,因此配置这些介质。例如,操作环境也可以包括其他硬件150,例如,总线、电源,和加速器。图1中示出的项不需要是每个操作环境的一部分,并且一个环境中给定的项可以或可以不和示出的操作环境中的项互操作。
系统
图2示出适用于一些实施例的体系结构。报告定义124中的指令202指令已增强工具120根据在此教导来同步内组。内组和外组是组136的示例;通过特定报告定义124中的嵌套144关系指定作为内组或外组的特定角色。
在一些实施例中,同步组204是未如报告定义124中那样被明确定义的组,而是由工具120动态创建以辅助数据对齐和/或以别的方式如在此所教导的动态扩展数据计算范围。已插入的数据值206同样不总是在报告的底层的数据库中明确定义的,作为它们所在的组的一部分,而可由工具120动态插入以辅助数据对齐和/或以别的方式如在此所教导的动态扩展数据计算范围。
在一些实施例中,同步指令202可以采取声明性格式,例如作为方案208中声明的范围名称210。一些实施例提供了RDL方案208(恰巧是XML方案)中的组范围名称210。也可以使用不同于XML,或除XML以外的格式来实现包含报告定义124的方案。
在一些实施例中,报告布局212可以由已增强工具120从报告定义124中生成。当所指报告定义包括同步指令202,得到的报告布局通常包括同步可视指示符214,例如空格、已协调色彩、位置对齐,和/或已插入的数据值。图5,例如,示出了空格和已插入的数据值(2008年3月和6月,2009年5月)作为同步可视指示符214。
在一些实施例中,提供了能够处理同步的合计函数216,被配置为使得已插入的数据值不更改合计计算218。例如,对于图5所示的数据,虽然报告122中显示了6个月,由于已插入的数据值(3月,6月)被已增强平均合计函数跳过,2008年中的月份的销售可以由已增强工具计算作4个月的平均。。
参见图1至图3,一些实施例提供了包括计算系统102的报告系统,计算机系统102具有逻辑处理器110和由电路配置的存储介质112,同件,和/或转换数据计算范围的软件,并因此产生不同于不能扩展范围的报告的有形报告给,如在此所讨论。介质112可以包括至少一存储器,可操作地与逻辑处理器通信。
在一些实施例中,在存储器中驻留的报告定义124包括定义具有域范围132的外组136的外组定义138。定义外组中嵌套的内组136的内组定义138也在报告定义中,作为指令202跨外组域范围同步内组。
一些实施例包括同步组204,未明确定义在报告定义中,而是由处理报告定义的已增强工具120动态创建。同步组204也可以被看作是隐藏组或人工组。认识到组204中的数据值以及同步组204本身所需,不仅仅依赖于组定义138且同样依赖于发生在从报告定义和当前数据生成的报告布局212中未被对齐的那些(如果有),同步组204未被明确定义。不同的数据将导致不同的同步组实例。
在一些实施例中,同步组被动态定义为包含至少在内组中找到的所有数据值。在其他实施例中,同步组不仅包含实际在内组中找到的数据值,也包含内组中合法的全部数据值,例如,同步组可以包括全部月份,即使当实际仅仅用到部分月份。
一些实施例包括驻留在存储器中的报告生成工具120,并配置为基于报告定义124生成报告122。在一些实施例中,例如,工具120被增强以识别同步指令202,动态创建同步组204,用空格或者其他指示符214在报告布局中可视地指示同步,和/或当计算合计函数216时跳过为可视对齐而插入的数据值。
在一些实施例中,执行同步,且被同步的内组没有定义在报告定义124中的父表达式。具体而言,一些实施例使用RDLGroup.DomainScope元素,或类似指令202命名在其中评估组表达式的域范围(例如:数据区域或组)。在一些实现中,如果该指令202被从报告定义中忽略,则将在紧邻的父范围中评估组表达式。如果该指令202被指定,一些实现要求它是先辈范围。一些实现仅仅在如果组没有父表达式的情况下才允许该指令202。一些相关用例包括以表矩阵(tablix)为中心的构造,例如显示每个销售年份下的嵌套的全部雇员分层,不考虑销售人员在那一年是否做了销售。一些实现仅仅允许在最内组范围的指令202。在一些实现中,提升这些限制需要在布局呈现和数据呈现中完全被打破的分层支持。
在一些实施例中,系统包括合计函数216;一些系统支持跨已同步的组计算合计函数值的合计函数,值的计算独立于被同步插入的数据值。也就是说,合计的合计仅仅在实际组实例的顶部操作;在它们统计计算中忽视同步组204实例。
注意到“同步组204”指最多在报告定义中隐含地定义的组,被已增强工具120动态创建为一种实现,帮助在报告布局212中排列数据值。相反,“已同步组”指在报告定义中明确定义的组136,其缺少的值(没有向它提供当前数据的值)可以存在于从同步组204中插入布局的那些之中。
在一些实施例中,存在诸如人类用户I/O设备(屏幕、键盘、鼠标、输入板、话筒、扬声器、运动传感器等)等外围设备106,可操作地与一个或多个处理器110和存储器进行通信。然而,一实施例也可深度嵌入在系统中,使得没有人类用户104直接与该实施例进行交互。软件进程可以是用户104。
在一些实施例中,该系统包括通过网络连接的多个计算机。连网接口设备可使用例如计算机系统中存在的诸如分组交换网络接口卡、无线收发机、或电话网络接口等组件来提供对网络108的访问。然而,一实施例也可以通过直接存储器访问、可移动非易失性介质、或其它信息存储-取回和/或传输方法来进行通信,或计算机系统中的一实施例可以在不与其它计算机系统进行通信的情况下操作。
方法
图3在流程图300中示出一些方法实施例。附图中所示的方法可以在某些实施例中,例如,由在脚本控制下的已增强报告工具120自动执行,需要极少或不需要用户输入。除非另外指明,否则也可以部分自动执行并且部分手动执行该方法。在给定实施例中,方法的零个或更多个所示步骤可以重复,也许使用不同的参数或数据来操作。一实施例中的各步骤还可以按与在图3中布置的自顶向下的次序所不同的次序来完成。各步骤可以串行执行、以部分覆盖的方式执行、或完全并行执行。遍历流程图300以指示在方法期间执行各步骤的次序可以随该方法的一次执行到该方法的另一次执行而变化。该流程图遍历次序也可随一个方法实施例到另一方法实施例而变化。假定所执行的方法是可操作的并且符合至少一个权利要求,则各步骤还可被省略、组合、重命名、重组、或以其他方式与所示流程分开。
在此提供各示例以帮助示出本发明技术的各方面,但本文中给出的各示例不描述所有可能的实施例。实施例不限于在此提供的具体实现、安排、显示、特征、方法、或场景。给定实施例可包括例如附加或不同的特征、机制和/或数据结构,并且能以其他方式与在此提供的示例分开。
在报告定义获取步骤302,实施例获取在存储器和/或其他计算机可读存储介质112中的报告定义124。例如,报告定义可以由开发者手动书写,或者可以通过宏、脚本、和/或其他软件自动生成,或者可以部分手动部分机器地创作。例如,步骤302可以通过部分使用盘读取、网络读取,和/或其他数据传送机制来完成。
在数据-绑定对象定义定位步骤304,一实施例使用报告定义解析机制(诸如句法和/或语义分析,以及树遍历)在报告定义124中定位数据-绑定对象的定义128。数据-绑定对象126的示例包括外组136、数据区域146,以及数据集。因此,一些实施例包括定位步骤304的一个或多个以下具体实例:定位306外组定义、定位308数据区域定义、定位310数据集定义。
在内组定义定位步骤312,一实施例使用报告定义解析机制(诸如句法和/或语义分析)在报告定义124中定位内组136的定义138,也就是说,嵌套在数据-绑定对象内的组。
在同步指令定位步骤314,一实施例使用报告定义解析机制(诸如句法和/或语义分析,以及树遍历)在报告定义124中定位同步指令202,也就是说,动态扩展内组的数据计算范围的指令。例如,一些实施例在XML或其他定义报告的方案中定位316范围名称210。
在实例标识步骤318,一实施例标识内组136的实例140。在一些实施例中使用数据检索和报告定义解析完成步骤318。
在同步步骤320,一实施例同步内组实例以提供在报告布局中的数据值的对齐。同步可以包括,例如,动态创建322同步组204和/或动态插入324缺少的数据值142。通过为内组指定所有可能的数据值,同步组204可以作为标识缺少的数据值的模板,——没有在给定的实例中找到的那些可能的值的任何一个接着被插入324到具有空内容(例如,示为空格)的实例中。在一些实施例中,仅仅将(i)从实例X缺少以及(ii)在至少一个其他实例中使用的那些数据值插入实例X;这样的数据值可以使用包括所有使用的数据值的并(union)的同步组来标识,或者使用诸如实例的成对比较的其他机制来标识。已同步内组的排序(与用于方便排序计算的人工同步组相反)可以考虑插入已同步组的实例。
在布局生成步骤326,一实施例生成包含同步可视指示符214的报告布局212以提供数据值对齐。这样的布局通过将数据值和被插入以填充语义间隙的值对齐放置,可视地指示328同步,而不是象它们在当前数据中遭遇的那样简单地相互邻近地放置。
在合计函数计算步骤330,一实施例在包括被插入的324用以对齐的数据值的数据值的聚集上来计算统计或其他函数,而对被插入的值不给予任何统计权重。
在存储器配置步骤332,存储介质112被同步指令202、同步组204、已插入324的数据值142、同步可视指示符214,和/或在此讨论的与动态数据范围扩展相关联的其他方式进行配置。
在报告定义存储步骤334,一实施例将报告定义124存储在存储器或其他非瞬态介质112中。
在数据-绑定对象存储步骤336,一实施例将定义具有域范围132的数据容器130的数据-绑定对象定义128存储在存储器或其他非瞬态介质112中。步骤336可以作为报告定义存储步骤334的一部分发生,或跟随步骤334发生。也就是说,数据-绑定对象定义128可以被存储336为存储围绕报告定义存储的一部分,或可以被存储336为增强或修改前面已存储的334报告定义。
在内组定义存储步骤338,一实施例将内组定义138存储在存储器或其他非瞬态介质112中。步骤338可以作为报告定义存储步骤334的一部分发生,或跟随步骤334发生。也就是说,内组定义138可以被存储338为存储围绕报告定义存储的一部分,或可以被存储338为增强或修改前面已存储的334报告定义。
为帮助示出用于讨论前述步骤的术语,再次考虑图4和5。在这些示例中,存在称为“年份(Year)”的外组136,称为“月份(Month)”的内组136。数据值(图1中142所指)的每一个2008,2009各自是外组年份的实例140。数据值的每一个,一月、二月、三月、四月、五月、六月各自是内组月份的实例140。2008是年份组的实例。2008年份组实例包括四个月份组实例140的一个集合{一月、二月、四月、五月}。2009年份组实例包括月份组实例140的一个集合{二月、三月、六月}。一可能的外组定义138为:
也就是说,年份域由组名称和组表达式定义。一可能的内组定义为:
域范围在这个具体示例中被定义为表矩阵1(Tablix1),意味着同步在总的数据区域表矩阵1的范围132内部发生,它是本示例中的年份和月份组的数据-绑定对象(容器)。
上述步骤及其相互关系在下文中结合各种实施例来更详细地讨论。
一些实施例提供了用于定义数据计算范围的动态扩展的过程,该过程利用具有至少一个逻辑处理器110和与该逻辑处理器可操作地通信的存储器的设备。
这个过程包括在存储器中获取302报告定义124。报告定义124可以具有多个位置,包括在盘上作为文件,以及部分或全部在随机访问存储器中。报告定义124也可以例如,以对象模型格式或数据库中的二进制代码串行化来表示。在对象定义上或随对象定义执行的操作(获取、解析、定位等等)因此可通过一个或多个工具,并且以报告定义的一个或多个表示,在一个或多个位置执行,但为了本文档的目的仍然一起组成内聚操作。
这个过程也包括通过处理器的操作,在报告定义中定位304定义具有域范围132的数据容器130的数据-绑定对象定义128。数据容器的一些示例包括外组、数据区域,以及数据集。
这个过程也包括通过处理器的操作,在报告定义中定位312定义在数据容器130内部嵌套的内组的内组定义138。
这个过程也包括通过处理器的操作,在报告定义中定位314跨数据容器132域范围132同步内组的指令202。
在一些实施例中,例如,同步指令202可以是Group.DomainScope元素<DomainScope>Tablix1</DomainScope>。更普遍地,一些实施例使用这样的机制,通过它,同步在RDL文件或其他报告定义中以声明性方式表达。
在一些实施例中,域范围可以是在报告定义分层上高于当前(内)组定义的任何范围。一些可能的容器130包括外组136,数据区域146(例如表矩阵、列表、表、矩阵、图表、自定义报告项(CustomReportItem)),以及数据集范围。数据区域绑定到数据从中起始的数据集。数据集典型地被连到数据源的连接串以及命令文本所定义,命令文本定义为获取数据执行什么数据源查询。数据集不限于关系或其他数据库数据源;数据集也可以是XML数据、多维数据、树和其他分层数据,和/或非结构化数据。
在一些实施例中,当容器130是外组时,出现特殊情况。那就是,该过程包括将外组定义138定位306为数据-绑定对象定义,其中该外组定义138将外组定义为具有域范围132的数据容器。定义内组的内组定义被嵌套地定位312在外组内。用于同步的指令202以跨外组域范围同步内组的指令的形式被定位314。
在一些实施例中,该过程包括将数据区域定义148定位308为数据-绑定对象定义,其中该数据区域定义148将数据区域定义为具有域范围132的数据容器。定义内组的内组定义被嵌套地定位312在数据区域内。用于同步的指令202以跨数据区域域范围同步内组的指令的形式被定位314。这是另一特殊情况,其中容器是数据区域。
在一些实施例中,该过程包括标识318内组的至少两个实例,这至少两个实例在至少一个数据值上不同而因此未对齐。在图5的示例中,该过程能标识318具有值一月、二月、四月、五月的2008实例,并可以标识具有值二月、三月、六月的2009实例。这个过程也包括基于数据容器域范围同步320内组实例。在图5的示例中,该过程使用2008实例和2009实例中的一月、二月、三月、四月、五月、和六月提供报告布局。
在一些实施例中,同步步骤320包括在具有由同步指令202指定的域范围的数据容器130中动态创建322同步组204。在一些实施例中的同步组204包含至少在内组中找到的所有数据值。
在一些实施例中,同步步骤320包括向至少一个内组实例140中动态插入324来自数据容器域范围132的至少一个数据值142,以便填充从该实例中缺少的数据值。这样的实施例可以被看作关注于对齐作为同步的结果,因为它们不需要请求使用同步组204。例如,可以基于在外数据区域或原始数据集中可用的全数据范围,同步外数据区域里面的已重复的图表的数据轴。
一些实施例包括生成326报告布局212,其中基于数据容器域范围132的同步320通过可视化220中的空格被可视地指示328。已同步报告可以显示表格中的空单元格、图表中的空格,等,以提供对齐。可视化的一些示例可以被增强以反映对齐,包括表格、图表,和列表。微软报告服务(Reporting Services)技术提供图表、量表、地图,以及状态指示符(关键表现指示符)可视化220。表格、列表、跨表cross-tab(矩阵),以及表矩阵,是面向文本的可视化220。报告服务平台(Reporting Services platform)的可扩展机制也允许第三方提供其他数据可视化220能力。
一些实施例包括在一同步组计算330合计函数216,不考虑同步所插入314的数据值。在这些实施例中,同步不改变合计函数的数字结果。
一些实施例包括在报告定义中定位314指令202以跨数据容器域范围同步内组。一些实施例在XML方案208中定位314范围132的名称210,在其中评估内组表达式。
可以理解,尽管RDL是XML格式,微软报告服务的实现具有发布过程,其仅仅发生在报告第一次上传到访问器时,且发布过程确认并将RDL XML格式转换为被称为“报告中间格式”的内部压缩对象模型。当生成(又名“执行”)报告122时,全部计算操作仅仅与对象模型交互,包括也使用指定的DomainScope(域范围)定位组。因此,在此教导的过程的一个部分可以在XML上操作,而另一部分可以操作对象模型表达,作为整体,操作仍然操作为内聚整体的一部分,以生成在此教导的对齐了的报告。
在一使用RDL的实施例中,向RDL方案2010/01及以后加入新Group.DomainScope元素(属性)。Group.DomainScope元素指定在其中评估组表达式的范围(数据区域或组)的名称。Group.DomainScope元素在该实施例中是可选择的,并且一定不可以被超过一次地指定。如果该Group.DomainScope元素被指定,它的类型是String(串)。Group.DomainScope元素的父元素是Group(组)。以下是Group.DomainScope元素的XML方案定义:
<xsd:element name=″DomainScope″ type=″xsd:string″minOccurs=″0″/>
在一个实施例中,Group.DomainScope用已嵌套的内组定义容器。一旦被定义,针对Group.DomainScope评估组表达式。在一些实施例中,Group.DomainScope能力在用独立于实际值的相等字段创建报告布局中是有用的,例如,空值可以被插入数据集。
一些实施例从存储器获取302报告定义124。它们在报告定义中定位304定义具有域范围132的数据容器130的数据-绑定对象定义128,并在报告定义中定位312定义在数据容器中嵌套的内组136的内组定义138。它们标识318内组的至少两个实例140,这至少两个实例在至少一个数据值上不同。接着,它们基于数据容器域范围同步320内组实例。最后,这些实施例生成326报告布局212,其中基于数据容器域范围的同步被可视地指示328。前述的某些步骤可以在时间上重叠。
在一些实施例中,基于数据容器的定义,同步320包括在数据容器中动态创建322同步组204,且同步组包含数据值142的预定集。在生成报告中,这些实施例查看外组或其它容器130,找寻有效同步组204值142,并包括全部有效值,无论它们碰巧被使用或没有在当前报告中。在一些实施例中,同步组可包含全部12个月份,而不仅是那些在数据源中实际使用的。例如,2009年2月27日提交的申请号为12394066的美国专利,通过引用结合在此,讨论了填充数据间隙以及处理未分类数据,可以预定义某数据桶(例如一月、两月……十二月)用于结合在此讨论的Group.DomainScope能力来使用。在一些实施例中,同步组不能包含不存在于底层数据源中的组实例值——该组自己不制造附加值。一些实施例允许同步组204数据值通过动态形成特定报告中实际使用的数据值的集(并(union))来决定。这样的同步组204可以仅包含图5示例中的值一月、两月、三月、四月、五月、六月。
一些实施例,通过使用已生成报告122中的至少以下之一,基于容器域范围,可视地指示328同步:一对齐空格条目,用于跨多图表的特定分类的色彩同步,空数据点标记。前述列表不是穷尽的,并且不是全面的,它只是示例的。
可视线索可以指示328发生了同步。对于跨不同图表的同步,可视线索可以包括已对齐的图表分类(例如,栏、条),意味着作为对齐的一部分,为那些分类将空格插入图表的绘制区域。可视线索也可以包括用于跨不同图表的相同分类的色彩同步,和/或空数据点标记来代表已插入的分类。对于表矩阵(交叉表,表格)示例,已插入324的组实例可以和常规组实例一样使用布局空格。然而,在表矩阵中的已插入组实例的上下文中的计算,不具有用于计算的底层数据,可视效果是那些计算单元格为空,但是合计函数计算330忽视已插入的实例。
在一些实施例中,同步组204是一种可能的实现示例,即,一种获得对齐的途径。可以在运行时已插入的组实例(具有布局)和同步组(人工组)定义之间进行区分,同步组是由工具120自动生成且仅临时使用以方便运行时同步计算。人工组是自动生成的,因此,典型用户(例如,报告作者或其他终端用户)将不知道同步组的存在。同步组提供一种在报告服务计算引擎或其他工具120中实现该组同步的途径。也可以使用其他替代方法。在一实施例中,同步组仅临时使用以方便同步计算,并且在系统的其余部分隐藏,例如为了报告发布确认或布局计算的目的被忽视。
配置的介质
一些实施例包括配置的计算机可读存储介质112。介质112可包括盘(磁盘、光盘或其他)、RAM、EEPROM或其他ROM、和/或其他可配置存储器,具体包括非瞬态计算机可读介质(与电线和其他传播信号介质相对)。该配置了的存储介质具体可以是可移动存储介质114,诸如CD、DVD,或闪存。可以是可移动或不可移动且可以是易失性或非易失性的通用存储器,可被配置成使用以数据118和指令116的形式从可移动介质114和/或诸如网络连接的另一源读取的项目(诸如同步指令202、同步组204、同步可视指示214、已增强可视化220、以及已对齐报告布局212),来生成经配置的介质的实施例。经配置的介质112能够使计算机系统执行用于通过在此讨论的动态范围扩展来变换数据的方法步骤。图1到10因而帮助示出经配置的存储介质实施例和方法实施例,以及系统和方法实施例。具体而言,图3中示出的,或在此以其它方式教导的任何方法步骤,可被用来帮助配置存储介质以形成已配置介质实施例。
附加示例
以下提供附加细节和设计考虑。与在此的其他示例一样,在给定实施例中,所描述的特征可以单独地使用和/或组合使用,或根本不使用。
一些实施例在SQL报告服务工具(SQL Reporting Services)中,通过在范围132下动态创建隐藏同步组204,扩展数据编组机制,范围132是在其上同步内组的基础(SQL Server是微软公司的标记)。在报告发布步骤中,相对于布局确认,和其他已定义的组一样处理动态生成的组204。一旦在运行时为该组生成了实例,它们被用于将缺少的实例插入内组。为了给内组定义范围扩展,定义先辈范围作为基础,在其上同步内组。
具体而言,DomainScope(域范围)元素被引入,作为RDL中的新元素,例如:
在此示例中,DomainScope指定先辈范围,基于此月份组应被同步。
一些实施例符合以下“域范围设计规范”的一些或全部方面。本领域技术人员将理解,实现细节可以属于具体代码,并且因而不必出现在每一实施例中。本领域技术人员还将理解,讨论这些细节时使用的标识符和一些其他术语是实现专用的并且因而不必属于每一实施例。然而,虽然它们不一定必须存在于此,但提供了这些细节,因为它们可以帮助通过提供上下文和/或可以示出在此讨论的技术的许多可能实现中的几种。
考虑到发布,在阶段1,发生以下:解析编组的新(DomainScope)属性;执行此阶段可能的确认;添加具有对于Report Publishing(报告发布)m_domainScopeGroups中的新集合定义的域范围的组。
在阶段2,发生以下:将域范围处理添加到自动小计阶段,使得对于具有已定义的DomainScope的每个组,工具执行此阶段可能的确认,并检索目标域范围,以及向其添加需要的编组,和合适的单元格/行。全部的DataRegion(数据区域)构建为此目的,实现新的接口域范围成员创建器(IDomainScopeMemberCreator)。地图忽视一些实现中的域范围。
在阶段3,执行余下的确认:
一些实现包括以下的一个或多个:向组添加新属性DomainScope(域范围);向HierarchyNodeList(分层节点列表)添加新的属性OriginalCount(初始计数)以排除DomainScope成员;确保每个DataRegion/ReportHierarchyNode (数据区域/报告分层节点)将其子域范围成员计数串行化,以被表矩阵处理使用来标识需要DomainScope处理的成员;确保GaugePanel/GaugeMember/GaugeRow(量表面板/量表成员/量表行)串行化全部成员分层。在一些实现中,为新类DomainScopeContext(域范围上下文)向ODPContext(ODP上下文)加入新引用。
考虑表矩阵处理,在一些实现中,应用以下点的一些或全部。对于?排序和过滤阶段,在该阶段开始,DomainScopeContext的新实例被创建和加入到ODPContext。对于每个RuntimeDataTablixObj(运行时数据表矩阵对象)以及每个RuntimeDataTablixGroupLeafObj(运行时数据表矩阵组叶对象):对于每个人工域范围子成员,对其RuntimeGroupRootObj(运行时组根对象)的引用被加入DomainScopeContext中的字典。对于每个具有已定义的域范围的RuntimeGroupRootObj:从范围域上下文(ScopeDomainContext)检索对目标域范围的引用。对于目标运行时编组对象(RuntimeGroupingObj)中的每个分层对象,将其密钥加入DomainScopeConText以及组叶的第一行。调用目标RuntimeGroupRootObj上的NextRow(下一行),将从上下文提取密钥来创建组实例并将其加入编组。在一些实现中,所有数据区域的成员集合返回OriginalCount以隐藏为域范围创建的人工成员。在一些,一个或多个以下限制应用:域范围未被允许具有带已定义父辈的组;域范围未被允许具有详细组;DataSet(数据集)未被允许为目标域范围;目标域范围必须是组的先辈;域范围对于非叶(non-leaf)编组未被允许。
一些设计考虑包含以下:是否允许目标域范围具有已定义父辈;是否移除另外的不需要的为人工编组创建的单元格(行)。
在一些实施例中,线状图的使用情况包括在更高范围内已嵌套的单独的图表/量表的同步。一些示例包括同步X轴/Y轴最小和最大值(通过合计,以及合计的合计来实现),以及同步分类、串、图例(即,同样的分类组值,排序顺序,即使对于特定线状图实例不是所有的分类都呈现在数据中)。同步组信息的后续使用情况出现多种可能性。在一些实施例中,作为一般的增强,编组特征允许在更高的先辈范围实质上地评估组的组表达式,并将所有那些组实例应用以填充空隙,用于组指定组之处的范围上对齐。
图8示出一个示例可视化220。注意,已对齐分类和在表矩阵中嵌套的最小条图表(线状图)的X轴,不管仅稀疏销售数据在报告工具上可用的事实。
图9示出了包括具有规则嵌套编组的通用表矩阵的一示例。图10示出了通过数据范围扩展增强了的图9的表矩阵,数据范围扩展具有使用DomainScope=Tablix1的季度-组,因此确保相同季度值在运行时呈现在所有已嵌套组中。注意组这个示例计数返回0;大多数其他合计函数216例如Sum返回空,因为没有被填充的那些特定组实例对应的行。
考虑一些实现,以下观察资料可能也时有帮助的。此外,这些细节不是必须需要的,但是为任何它们可能具有的上下文或示例性的值提供。
对于上述的发布和实现细节,一些实现中的基本想法是在指定的DomainScope下,直接生成人工组204定义(通过用组表达式克隆原始组,但是不排序/过滤等)作为与RDL中已经呈现的组对等。注意原始组定义同样保持原样。人工组204不具有任何布局,即使在矩阵布局中。它们变成被布局计算和发布中的验证忽略的特定组。这引入了发布和处理的特殊情况,但是最终可减少或消除在图表和其他数据域类型中生成人工数据点的工作。
对于RenderingObjectModel(呈现对象模型),在一些实现中,人工组204隐藏在呈现对象模型中,使得消费者,例如DV映射层和呈现器不知道它们。
对于表矩阵数据处理,在一些实现中,表矩阵数据处理被调整以考虑人工组204。表矩阵处理阶段1(编组)可以保持不变,除了标志具有域范围!=空(DomainScope!=null)的组,以请求第2阶段,即使没有排序/过滤。注意人工组204并行地被原始已嵌套组填充。在阶段1结束,人工组将包含所有可能实例值,而所有原始已嵌套组将仅仅包含组它们指定分层中的组实例值。同样注意,阶段1中的预排序合计计算保持不变。可以加强表矩阵处理预阶段2(对等组处理)或阶段2(排序和过滤),以便为对齐所需,从人工组204中将缺少组实例填充到原始组范围中。这可发生在阶段2之前,或和排序和过滤一起并入阶段2中。实际排序和过滤表达式考虑已经填充了的人工组实例。可以考虑类似图9和10的示例,具有动态排序,例如有些人想在美国下升序排序季度,但是在加拿大下降序排序。
对于合计的合计,在一些实现,合计的合计仅仅在实际组实例的顶部存在;这些函数216忽视在阶段2被填充的人工组204实例。
在一些实现中,存储器/执行优化包括在具有域范围的组的情况下使用保持稀疏组树;也可以不用保持组树实施Group.DomainScope。该可选优化可以在如果具有域范围的原始组没有排序或过滤时应用。在那种情况下,工具将不会在已保持的组树中物化填入(空)组实例,但是作为替代,在按需处理期间,在进行中解决,包括按照需要按需计算合计。
在一些实现中,增强工具120用户接口包括用于生成同步指令202的机制。例如,表矩阵成员菜单,可以包括可扩展组项,可以被扩展以显示包括数据元素名称(DataElementName)、数据元素输出(DataElementOutput),等的组的属性。具体而言,DomainScope作为组属性显示,所以例如诸如Country(国家)的范围能被选择。在一些实现中的用户界面屏显也示出了串组属性,具有屏幕来改变串组设定。用户输入名称(例如Sparkline3_SeriesGroup6,标签(例如[国家]),以及在其中同步组的域范围(例如表矩阵1)。在一些实现中的用户界面屏显也示出了配置水平轴选项的屏幕。用户选择轴类型(例如,分类),以及轴范围和间隔(例如表矩阵4中的对准轴)。
如前述,在一些实施例中,数据值在同步期间被插入。图5和7暗示了以特定排序顺序插入这样的缺少数据实例,因为当计算排序时,组上定义的所谓的排序表达式明确考虑那些已插入的组实例值。在一些实施例中,合计函数知道为了计算的目的已插入组实例。类似,应用到特定组到排序知道并考虑那些已插入值。如果没有应用排序,已插入值显示在组实例值列表的最后。
结论
虽然在此将具体实施例明确示出并描述为方法、已配置介质,或系统,但可以明白,一种类型的实施例的讨论一般也延及其他实施例类型。例如,结合图3的方法描述还帮助描述已配置的介质,并帮助描述如结合其他附图讨论的那些系统和制品等系统和制品的操作。来自一个实施例的限制并不需要在另一实施例中。具体而言,方法不一定需要限于在讨论诸如已配置的介质等系统或制品时呈现的数据结构和安排。
附图中示出的每一项也并不一定存在于每一实施例中。相反,一实施例可包含附图中未明确示出的项。虽然在文中和附图中通过具体示例示出了一些可能的实施例,但各实施方式可以与这些示例不同。例如,一示例的具体特征可被忽略、重命名、不同地编组、重复、以硬件和/或软件来不同地初始化、或作为出现在两个或更多个示例中的特征的混合。在一些实施例中,在一个位置处示出的功能也可以在不同的位置处提供。
在全文中通过附图标记引用了各附图。在附图中或文中的与给定附图标记相关联的措辞中的任何明显的矛盾,应被理解为简单地拓宽该附图标记所引用的事物的范围。
如本文所使用的,诸如“一”和“该”等词语包括所指示的项或步骤中的一个或多个。具体而言,在权利要求书中,对项的引用一般意味着存在至少一个这样的项,并且对步骤的引用意味着执行这一步骤的至少一个实例。
标题只是出于方便的目的;关于给定主题的信息可以在其标题指示该主题的章节之外找到。
所提交的所有权利要求和摘要是该说明书的一部分。
尽管在附图中示出并在以上描述了各示例性实施例,但对本领域技术人员显而易见的是,可以作出不背离权利要求书中阐明的原理和概念的多种修改。尽管已经用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。给定定义或示例中标识的每一措施或方面,不一定存在或不一定用于每一实施例。相反,所描述的具体特征和动作是作为供在实现权利要求时考虑的示例而公开的。
落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。
Claims (20)
1.一种用于定义数据计算范围的动态扩展的方法,该方法利用具有至少一个逻辑处理器和与所述逻辑处理器可操作地通信的存储器的设备,所述方法包括以下步骤:
从所述存储器获取报告定义;
通过所述处理器的操作,在报告定义中定位定义了具有域范围的数据容器的数据-绑定对象定义;
通过所述处理器的操作,在所述报告定义中定位定义了在所述数据容器内被嵌套的内组的内组定义;以及
通过所述处理器的操作,在报告定义中定位指令以跨数据容器域范围同步所述内组。
2.如权利要求1所述的方法,其特征在于,所述方法包括:
定位将外组定义为具有域范围的数据容器的外组定义,作为所述数据-绑定对象定义;
定位定义了所述外组内嵌套的所述内组的内组定义;以及
定位指令以跨所述外组域范围同步所述内组,作为用于同步的指令。
3.如权利要求1所述的方法,其特征在于,所述方法包括:
定位将数据区域定义为具有域范围的数据容器的数据区域定义,作为数据-绑定对象定义;
定位定义了所述数据区域内嵌套的所述内组的内组定义;以及
定位指令以跨所述数据区域域范围同步所述内组,作为用于同步的指令。
4.如权利要求1所述的方法,其特征在于,还包括:
标识所述内组的至少两个实例,所述至少两个实例在至少一个数据值上不同;以及
基于数据容器域范围同步所述内组实例。
5.如权利要求4所述的方法,其特征在于,所述同步步骤包括在所述数据容器中动态地创建同步组,所述同步组包含至少在内组中找到的所有数据值。
6.如权利要求4所述的方法,其特征在于,所述同步步骤包括动态将来自数据容器域范围的至少一个数据值插入至少一个内组实例,以填充实例中缺少的数据值。
7.如权利要求4所述的方法,其特征在于,还包括创建报告布局,在其中由可视化中的空格可视地指示基于所述数据容器域范围的同步。
8.如权利要求4所述的方法,其特征在于,还包括跨已同步组计算合计函数而不考虑由同步插入的数据值。
9.如权利要求1所述的方法,其特征在于,在所述报告定义中定位指令以跨所述数据容器域范围同步所述内组包括在XML方案中定位范围的名称,在所述范围中评估内组表达式。
10.一种报告系统,包括:
至少一个逻辑处理器;
与所述逻辑处理器可操作地通信的至少一个存储器;
驻留在所述存储器中的报告定义,所述报告定义包括定义具有域范围的外组的外组定义、定义在所述外组内嵌套的内组的内组定义,以及
用于跨所述外组域范围同步所述内组的指令;以及
没有明确在报告定义中定义的同步组,所述同步组被定义为包含至少在内组中找到的所有数据值。
11.如权利要求10所述的系统,其特征在于,还包括驻留在存储器中并被配置为基于所述报告定义生成报告的报告生成工具。
12.如权利要求10所述的系统,其特征在于,所述内组没有定义在报告定义中的父表达式。
13.如权利要求10所述的系统,其特征在于,所述内组被定位在定义在所述报告定义中的最内嵌套水平。
14.如权利要求10所述的系统,其特征在于,还包括在已同步组上的合计函数值的合计函数,所述值独立于由同步插入的数据值。
15.一种计算机可读非临时性存储介质,用数据和以指令配置,以便执行一种方法,以在指定范围下定义隐藏组,所述方法利用具有至少一个逻辑处理器和与所述逻辑处理器可操作地通信的存储器的设备,所述方法包括以下步骤:
将报告定义存储在所述存储器中;
通过所述处理器的操作,在报告定义中存储定义了具有域范围的数据容器的数据-绑定对象定义;
通过所述处理器的操作,在所述报告定义中存储定义了在所述数据容器内被嵌套的内组的内组定义。
16.如权利要求15所述的已配置介质,其特征在于,还包括以下步骤:
从所述存储器获取报告定义;
在所述报告定义中定位定义了具有域范围的数据容器的数据-绑定对象定义;
在所述报告定义中定位定义了在所述数据容器内被嵌套的内组的内组定义;
标识所述内组的至少两个实例,所述至少两个实例在至少一个数据值上不同;以及
基于数据容器域范围同步所述内组实例;以及
生成报告布局,其中可视地指示了基于数据容器域范围的同步。
17.如权利要求16的已配置介质,其特征在于,所述同步步骤包括动态地将来自数据容器域范围的数据值插入所述内组实例,以填充所述实例中缺少的数据值。
18.如权利要求16的已配置介质,其特征在于,所述方法包括跨已同步组计算合计函数而不考虑由同步插入的组数据值。
19.如权利要求16的已配置介质,其特征在于,所述方法包括在XML报告定义中定位指令已跨外组域范围同步所述内组。
20.如权利要求16的已配置介质,其特征在于,所述方法包括通过使用在已生成报告中的以下之一,基于所述容器域范围可视地指示同步:
对齐空格条目;
跨多个图表的特定分类的色彩同步;
空数据点标记。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/687,944 | 2010-01-15 | ||
US12/687,944 US8381090B2 (en) | 2010-01-15 | 2010-01-15 | Dynamic expansion of data calculation scopes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102129449A true CN102129449A (zh) | 2011-07-20 |
CN102129449B CN102129449B (zh) | 2015-09-16 |
Family
ID=44267531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110026323.4A Active CN102129449B (zh) | 2010-01-15 | 2011-01-13 | 数据计算范围的动态扩展 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8381090B2 (zh) |
CN (1) | CN102129449B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294503A (zh) * | 2015-06-09 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 数据的动态存储方法、装置及计算设备 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10896388B2 (en) | 2011-07-25 | 2021-01-19 | Prevedere, Inc. | Systems and methods for business analytics management and modeling |
US10176533B2 (en) * | 2011-07-25 | 2019-01-08 | Prevedere Inc. | Interactive chart utilizing shifting control to render shifting of time domains of data series |
US10740772B2 (en) | 2011-07-25 | 2020-08-11 | Prevedere, Inc. | Systems and methods for forecasting based upon time series data |
US9087116B2 (en) * | 2011-12-16 | 2015-07-21 | International Business Machines Corporation | Data extraction and sparseness discovery from multidimensional databases |
US9910894B2 (en) | 2012-07-16 | 2018-03-06 | Microsoft Technology Licensing, Llc | Data scope origination within aggregation operations |
US11995667B2 (en) | 2012-07-25 | 2024-05-28 | Prevedere Inc. | Systems and methods for business analytics model scoring and selection |
CN104516879B (zh) * | 2013-09-26 | 2019-09-13 | Sap欧洲公司 | 用于管理含有具有缺失值的记录的数据库的方法和系统 |
US9645727B2 (en) | 2014-03-11 | 2017-05-09 | Sas Institute Inc. | Drag and drop of graph elements |
CN107660281B (zh) * | 2015-05-19 | 2021-06-08 | 华为技术有限公司 | 同步分布式计算运行时间的系统和方法 |
US11544669B2 (en) * | 2017-06-26 | 2023-01-03 | Oracle Financial Services Software Limited | Computing framework for compliance report generation |
US11113853B2 (en) * | 2019-05-29 | 2021-09-07 | Aqumin, Llc | Systems and methods for blending and aggregating multiple related datasets and rapidly generating a user-directed series of interactive 3D visualizations |
US11381640B2 (en) | 2020-05-15 | 2022-07-05 | Cisco Technology, Inc. | Detection of isolated changes in network metrics using smart-peering |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040194015A1 (en) * | 2003-03-27 | 2004-09-30 | Microsoft Corporation | Defining a report based on data regions and including custom data in a report definition |
CN101233505A (zh) * | 2005-07-29 | 2008-07-30 | 微软公司 | 从关系数据库中检索对象并将其保存到关系数据库 |
CN101673276A (zh) * | 2009-09-22 | 2010-03-17 | 山东中创软件工程股份有限公司 | 一种数据模板的动态生成方法和装置 |
CN101719120A (zh) * | 2010-01-28 | 2010-06-02 | 北京中南融海数据软件有限公司 | 报表数据动态生成处理方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845285A (en) | 1997-01-07 | 1998-12-01 | Klein; Laurence C. | Computer system and method of data analysis |
US7305621B2 (en) * | 2003-03-27 | 2007-12-04 | Microsoft Corporation | Defining a report based on data regions and including custom data in a report definition |
US20060294069A1 (en) | 2005-06-27 | 2006-12-28 | Microsoft Corporation | Sorting and filtering in an interactive report |
US20070226200A1 (en) | 2006-03-22 | 2007-09-27 | Microsoft Corporation | Grouping and regrouping using aggregation |
US7831617B2 (en) * | 2006-07-25 | 2010-11-09 | Microsoft Corporation | Re-categorization of aggregate data as detail data and automated re-categorization based on data usage context |
US8072467B2 (en) | 2007-01-31 | 2011-12-06 | Microsoft Corporation | Request-driven on-demand processing |
US8209340B2 (en) * | 2008-03-31 | 2012-06-26 | Microsoft Corporation | Efficient functional representation of result shaping |
US8874576B2 (en) * | 2009-02-27 | 2014-10-28 | Microsoft Corporation | Reporting including filling data gaps and handling uncategorized data |
-
2010
- 2010-01-15 US US12/687,944 patent/US8381090B2/en active Active
-
2011
- 2011-01-13 CN CN201110026323.4A patent/CN102129449B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040194015A1 (en) * | 2003-03-27 | 2004-09-30 | Microsoft Corporation | Defining a report based on data regions and including custom data in a report definition |
CN101233505A (zh) * | 2005-07-29 | 2008-07-30 | 微软公司 | 从关系数据库中检索对象并将其保存到关系数据库 |
CN101673276A (zh) * | 2009-09-22 | 2010-03-17 | 山东中创软件工程股份有限公司 | 一种数据模板的动态生成方法和装置 |
CN101719120A (zh) * | 2010-01-28 | 2010-06-02 | 北京中南融海数据软件有限公司 | 报表数据动态生成处理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294503A (zh) * | 2015-06-09 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 数据的动态存储方法、装置及计算设备 |
CN106294503B (zh) * | 2015-06-09 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 数据的动态存储方法、装置及计算设备 |
Also Published As
Publication number | Publication date |
---|---|
US8381090B2 (en) | 2013-02-19 |
CN102129449B (zh) | 2015-09-16 |
US20110179051A1 (en) | 2011-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102129449B (zh) | 数据计算范围的动态扩展 | |
Solihin et al. | A simplified relational database schema for transformation of BIM data into a query-efficient and spatially enabled database | |
Liu et al. | A survey of scholarly data visualization | |
Dadzie et al. | Approaches to visualising linked data: A survey | |
CN104750771B (zh) | 利用域信息进行上下文数据分析的方法和系统 | |
US20130110871A1 (en) | Distributed platform for network analysis | |
CN106104591A (zh) | 映射带键实体的属性 | |
CN105975465A (zh) | 中药资源地理国情监测方法 | |
Scott et al. | The natural history museum data portal | |
Peponakis | Conceptualizations of the cataloging object: A critique on current perceptions of FRBR group 1 entities | |
Neuville et al. | A formalized 3D geovisualization illustrated to selectivity purpose of virtual 3D city model | |
Jaillot et al. | Delivering time-evolving 3D city models for web visualization | |
Sveen | Efficient storage of heterogeneous geospatial data in spatial databases | |
Arroyo Ohori | azul: A fast and efficient 3D city model viewer for macOS | |
Eichert | Digital mapping of medieval cemeteries: Case studies from Austria and Czechia | |
CN101882147A (zh) | 一种曲线数据存储装置及其存储方法 | |
Montenegro et al. | An OWL2 land use ontology: LBCS | |
Counsell | Beyond level 2 BIM, web portals and collaboration tools | |
Caraceni et al. | I-media-cities, a searchable platform on moving images with automatic and manual annotations | |
Kuroczyński et al. | Virtual Museum of Destroyed Cultural Heritage-3D Documentation, Reconstruction and Visualisation in the Semantic Web | |
Chen et al. | Interactive visualization of geographic vector big data based on viewport generalization model | |
Shahidinejad et al. | 3D Cadastral Database Systems—A Systematic Literature Review | |
Zibion | Development of a BIM-enabled software tool for facility management using interactive floor plans, graph-based data management and granular information retrieval | |
Danthine et al. | The Integration of Semantic Networks in Virtual Exhibitions | |
Koch et al. | Representation of CityGML instance models in BaseX |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150728 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150728 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |