CN103970527B - 为报表生成提供辅助覆盖的方法和系统 - Google Patents

为报表生成提供辅助覆盖的方法和系统 Download PDF

Info

Publication number
CN103970527B
CN103970527B CN201410039854.0A CN201410039854A CN103970527B CN 103970527 B CN103970527 B CN 103970527B CN 201410039854 A CN201410039854 A CN 201410039854A CN 103970527 B CN103970527 B CN 103970527B
Authority
CN
China
Prior art keywords
data
input
user
gui
report
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
CN201410039854.0A
Other languages
English (en)
Other versions
CN103970527A (zh
Inventor
I·M·布里德维尔特-斯考滕
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103970527A publication Critical patent/CN103970527A/zh
Application granted granted Critical
Publication of CN103970527B publication Critical patent/CN103970527B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一般而言,描述了一种用于提供用户界面以创建报表规范的技术,并包含用于业务报表和分析的源定义。例如,计算机装置包括用户界面(UI)模块,用于显示图形用户界面(GUI),并接收在GUI的开始位置的数据元素的选择。UI模块可以显示覆盖元件,其具有形成从开始位置到多个结束位置的多条路径的边界,所述路径对应于与数据元素关联的多个报表选项。UI模块可以接收第二输入,其指示沿着选中路径对覆盖元素的遍历。计算装置可以包括定义模块,其可操作以至少部分基于与选中路径相对应的报表选项来创建报表规范。

Description

为报表生成提供辅助覆盖的方法和系统
技术领域
本公开涉及计算系统中的报表生成。
背景技术
企业软件系统典型地是复杂的大规模系统,其支持很多例如数百或数千个并发用户。企业软件系统的例子包括财务规划系统、预算规划系统、订单管理系统、库存管理系统、销售人员管理系统、商业智能工具、企业报表工具、项目和资源管理系统以及其他企业软件系统。
很多企业绩效管理和商业规划应用需要大量用户输入数据,软件然后可以将数据聚集为机构中的更高级的责任区域。通常这些复杂的系统利用多维数据源,其使用被称为数据立方体的数据结构来组织和操纵极大量的数据。数据立方体例如可以包括多个分层维度,其具有级别和用于存储多维数据的成员。一旦数据被输入,用户会希望通过生成报表以一致的方式来查看某些或所有数据。系统可以对数据执行数学计算,将很多用户提交的数据进行组合。使用这些计算的结果,系统可以生成报表以由高级管理人员来检查。
报表和分析终端用户产品(典型地被称为商业智能或BI工具)允许用户创建报表并对多种数据源例如多维数据结构、关系型数据库、平面文件、可扩展标记语言(“XML”)数据、数据流和未组织文本和数据进行数据探索和分析。商业智能工具可以通过对底层数据源执行查询来准备和聚集单独的报表和分析,并以用户可访问的格式来展示这些报表和分析。但是,底层数据源随时间定期改变,并且位于组织层级的不同级别。用户经常想要在报表中包含这样的改变,以执行最新的分析。商业智能工具通常需要用户使用复杂的查询语言或高级功能(例如选择模式)来创建报表规范,以定义在生成报表时要包含的数据源。
发明内容
描述的技术用于向用户提供清楚和容易的接口,其可用于创建报表规范并包含用于业务报表和分析的源定义。该技术例如可以提供覆盖(overlay)元素作为图形用户界面(GUI)的一部分,该图形用户界面引导用户选择与数据元素关联的一个或多个报表选项。当用户选择数据元素时,GUI可以显示覆盖元素,其具有可被用户遍历(traverse)的路径。在某些例子中,数据元素可被显示在GUI的源容器中。响应于遍历一条覆盖元素路径,选中的数据元素可以包含与路径关联的属性或者以其他方式被与路径关联的属性调整。在某些例子中,所述属性是可被用于数据元素的报表选项。
该技术然后可以创建报表规范,其具有基于选中报表选项的定义。在用户进行覆盖元素的一条路径的遍历时,用户可以将调整的数据元素置于特定的位置来创建报表规范的定义。在某些例子中,目标容器可以限定报表规范的部分,所述定义将在该部分中创建。
在一个例子中,本公开涉及一种用于为报表生成提供辅助覆盖的计算机实现的方法。该方法可以包括:从用户接收在GUI的开始位置的第一输入,其指示对数据源中定义的数据元素的选择。该方法可以包括,响应于接收到选择,用GUI来显示覆盖元素,该覆盖元素具有边界,该边界形成从开始位置到GUI中的多个结束位置的多条路径,其中,该多条路径对应于与数据元素关联的多个报表选项。该方法还可以包括从用户接收第二输入,其指示沿着多个路径中的选中路径、从开始位置到选中路径的结束位置对覆盖元素的遍历,以及至少部分基于与选中路径相对应的报表选项来创建报表规范的定义。
在另一例子中,本公开涉及一种用于为报表生成提供辅助覆盖的计算机实现的方法。该方法可以包括从用户接收对由图形用户界面(GUI)显示在开始位置的对象的图形表示的选择,以及响应于接收该选择,由GUI来显示覆盖元素,该覆盖元素具有边界,该边界形成从开始位置到多个结束位置的多条路径,其中该多条路径对应于与对象关联的多个可选择属性。该方法还可以包括从用户接收输入,其将选中的表示沿着多条路径中的选中路径从开始位置到选中路径的结束位置拖拽。
在一个例子中,本公开涉及一种用于为报表生成提供辅助覆盖的计算系统。计算系统可以包括一个或多个处理器以及一个或多个存储器。计算系统还可以包括一个或多个输入装置、一个或多个输出装置以及用户界面模块,其可以由一个或多个处理器中来操作,以在一个或多个输出装置上显示GUI,该GUI包括在数据源中定义的数据元素的至少一个表示。用户界面模块还可操作地通过一个或多个输入装置从用户接收第一输入,其指示在GUI的开始位置对所述表示的选择,以及响应于接收到选择,用GUI来显示覆盖元素,该覆盖元素具有边界,该边界形成从开始位置到GUI的多个结束位置的多条路径,其中,该多条路径对应于与数据元素关联的多个报表选项。用户界面模块还可操作以通过一个或多个输入装置从用户接收第二输入,其指示沿着多条路径中的选中路径、从开始位置到选中路径的结束位置对覆盖元素的遍历。计算装置还可以包括定义模块,其可以由一个或多个处理器来操作,以至少部分基于与选中路径对应的报表选项来创建用于报表规范的定义。
在一个例子中,本公开涉及一种用于为报表生成提供辅助覆盖的计算机程序产品。该计算机程序产品可以包括计算机可读存储介质,在其中实现了程序代码,该程序代码可被计算装置执行以实现一种方法,该方法包括通过计算装置并且从用户接收在GUI中的开始位置的第一输入,其指示对数据源中定义的数据元素的选择,以及响应于接收到选择,通过计算装置来显示覆盖元素作为GUI的一部分,该覆盖元素具有边界,该边界形成从开始位置到GUI中的多个结束位置的多条路径,其中,该多条路径对应于与数据元素关联的多个报表选项。该方法还可以包括通过计算装置从用户接收第二输入,其指示沿着多个路径中的选中路径、从开始位置到选中路径的结束位置对覆盖元素的遍历,以及至少部分基于与选中路径相对应的报表选项通过计算装置来创建用于报表规范的定义。
在附图和下列描述中阐述了本公开的一个或多个方面的细节。根据描述和附图并且根据权利要求,本公开的其他特征、目标和优势将变得明显。
附图说明
图1是示出根据本公开的一个或多个方面的示例性计算环境的框图,在环境中,多个用户与企业商业智能系统进行交互。
图2是示出根据本公开的一个或多个方面的用于和图1的企业商业智能系统进行交互的计算装置的一个例子的框图。
图3A和3B是示出根据本公开的一个或多个方面的用于提供细粒度用户交互的示例性计算装置和GUI的框图。
图4A和4B是示出根据本公开的一个或多个方面的用于提供细粒度用户交互的示例性GUI的框图。
图5是示出根据本公开的一个或多个方面的用于提供细粒度用户交互的示例性GUI的框图。
图6是示出根据本公开的一个或多个方面的可被用于提供细粒度用户交互的示例性过程的流程图。
具体实施方式
图1示出了示例性上下文,其中可以使用这里公开的技术。图1是示出根据本公开的一个或多个方面的示例性企业4的框图,其中,多个用户12A-12N(被共同称为“用户12”)可以与企业商业智能系统14交互。如图1的示例性系统所示,企业商业智能系统14可以通过企业网络18通信地耦合到多个计算装置16A-16N(被共同称为“计算装置16”)。用户12与其各自的计算装置交互以访问企业商业智能系统14并输入、修改和检查数据。在一个例子中,用户12可以使用计算装置16来访问企业商业智能系统14并创建一张或多张报表17。报表17可以包括商业智能报表例如销售报表、收入报表、薪酬报表等。企业商业智能系统14可以为用户提供功能以使用报表规范来创建或定义报表17的结构。在不同的例子中,用户12、计算装置16A-16N、企业网络18和企业商业智能系统14可以都在单个设施中或者可以广泛分散在世界上任意地方的两个或多个分离的位置。
为了示例性的目的,本公开的技术的不同例子可被容易地应用于不同装置执行的不同软件系统,包括企业商业智能系统、其他大规模企业软件系统以及单用户独立软件应用。企业软件系统的例子包括企业财务和预算规划系统、订单管理系统、库存管理系统、销售人员管理系统、商业智能工具、企业报表工具、计划和资源管理系统以及其他企业软件系统。其他示例性应用包括图形设计应用、电子邮件应用或者可以使用多个潜在对象属性之间的细粒度用户交互和/或选择的任意环境。例如,本公开的技术可以容易地被用户界面使用以填充表单或其他文档结构的一个或多个字段。即,辅助覆盖可以允许用户在将对象置于交互式表单的字段例如表单的地址字段以创建贺卡或者电子商务付款表单的支付类型字段之前定义该对象的一个或多个方面。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令也可被载入到计算机、其他可编程数据处理设备或其他装置,以使一系列操作步骤在计算机、其他可编程设备或其他装置上执行,以产生计算机实现的过程从而在计算机或其他可编程设备上执行的指令提供过程来实现流程图和/或框图或框中指定的功能/动作。
在图1的例子中,典型地,用户12可以通过其各自的计算装置16使用用户可配置的商业智能用户界面(UI)来查看和操纵数据(例如生成报表17)。这可以包括来自多种来源的数据,包括来自企业4中的多维数据结构和关系型数据库的数据,以及来自可以在公共网络上访问的多种外部来源的数据。多维数据结构是“多维”的,这在于每个多维数据元素由多种不同的对象类型来定义,其中,每个对象与不同的维度关联。用户12例如可以通过将销售人员的名称、商店标识符、日期、产品和产品销售价格输入到其各自的计算装置16来获取与商店销售相关的数据。
企业用户12可以使用多种不同类型的计算装置16来运行商业智能UI并生成商业智能报表17或者以其他方式通过企业网络18与企业商业智能系统14进行交互。例如,企业用户12可以运行商业智能UI并使用运行web浏览器例如来自华盛顿州Redmond的微软公司的Internet ExplorerTM的笔记本电脑、台式机等与企业商业智能系统14进行交互。或者,企业用户可以使用在web浏览器或专用移动应用中运行商业智能UI的智能电话或类似装置来与企业商业智能系统14进行交互。计算装置16的其他例子可以包括工作站计算机、上网本、平板电脑、电子阅读器或任意其他类似计算装置。在任一情形下,在用户的计算装置16上运行的商业智能UI可以访问企业商业智能系统14中的各个数据源,以及多个外部网络资源中的任一个以及多个外部数据源中的任一个。
企业网络18可以表示任意通信网络,例如基于分组的数字网络例如私有企业内部网或公共网络例如因特网。通过该方式,企业网络18可以容易地调整规模以适应大型企业。企业用户12可以通过局域网来直接访问企业商业智能系统14,或通过虚拟专用网络、远程拨号或类似的远程访问通信机制来访问企业商业智能系统14。
在用户的计算装置16上运行的商业智能UI可以使用获取的数据来生成一张或多张报表17。报表17可以包括数据的任何视觉表示或描述,例如表格、图表、图或传播信息的其他方法。例如,报表17可以包括纵轴为销售额且横轴为时间值的图、针对各个销售区域记录的收入值的图表、针对不同企业位置记录的薪酬数据值的表格、根据部门的企业开销的图等等。用户12可以与计算装置16进行交互以通过选择将在报表17中显示的不同的元素和/或维度来生成一张或多张报表17。企业数据的各个数据元素或维度可以组织为层次结构,可以被分为子元素或者具有其他可选择的属性。层次结构数据元素的例子包括世界上的销售区、业务区和企业内部的位置等。子元素的例子可以包括更具体的区域或位置,划分为各个值范围、静态或动态报表等。在某些例子中,可以通过报表选项在报表规范中可选地定义这些子元素或其他可选择的属性。通常,报表选项可以确定报表17的数据元素的类型、布局、数量、分类或其他特征。报表选项可以定义将在报表17中包含的特定数据元素或数据元素的范围。在其他例子中,报表选项可以包括可选择数据元素或维度的任意可调整的特征。用户12可以使得计算装置16基于计算装置16上存储的本地数据和/或通过企业网络18获取的数据来创建具有一个或多个定义的报表规范。报表规范可以被用于生成报表17。
通过提供具有覆盖元素的UI以选择各种数据元素的报表选项并创建报表规范的定义,本公开的技术可以提高报表生成以及可使用细粒度用户交互的其他领域(例如表单完成、图形设计或电子邮件应用)的用户效率。例如,该UI可以提供覆盖元素来选择与数据元素关联的报表选项。覆盖元素可以包括可被用户遍历的多条路径来定义报表选项。通过提供具有可遍历路径的覆盖元素,计算装置可以允许用户用简单的移动来定义将在报表中包含的数据元素。即,计算装置16A可以降低选择报表选项以及创建报表规范的定义所需的输入量(例如点击和/或移动)。
图2是示出根据本公开的一个或多个方面的用于和图1中的企业商业智能系统14进行交互的计算装置16A的一个例子的框图。计算装置16A包括一个或多个处理器20、一个或多个存储器21以及一个或多个存储装置22。此外,计算装置16A包括网络接口23、计算引擎25、用户界面(UI)模块26、定义模块28、一个或多个输出装置30、一个或多个输入装置32以及报表工具34。存储装置22可以包含数据立方体24和报表规范29,如图2所示。在其他例子中,存储装置22可以包含计算装置16A的其他组件。
在一个例子中,处理器20被配置为实现用于在计算装置16A中执行的功能和/或过程指令。例如,处理器20能够执行计算装置16A的各个组件例如计算引擎25的指令。处理器20的例子可以包括微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或等价的离散或集成逻辑电路中的一个或多个。
一个或多个存储器21可被配置为在运行期间存储计算装置16A中的信息。在某些例子中,存储器21是临时存储器,这意味着存储器21的主要目的不是长期存储。在某些例子中,存储器21被描述为易失性存储器,这意味着在计算机被关闭时存储器21不会保持存储的内容。易失性存储器的例子包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域已知的其他形式的易失性存储器。在某些例子中,存储器21被用于存储被处理器20执行的程序指令。在一个例子中,存储器21被在计算装置16A上运行的软件或应用(例如计算引擎25、模块26和28或报表工具34)用于在程序执行时临时存储信息。
在某些例子中,存储装置22包括一个或多个计算机可读的存储介质。存储装置22可被配置为存储比易失性存储器更大量的信息。存储装置22还可被配置为用于信息的长期存储。在某些例子中,存储装置22包括非易失性存储元件。这样的非易失性存储元件的例子包括磁性硬盘、光盘、软盘、闪存、或者电可编程存储器(EPROM)或电可擦除可编程存储器(EEPROM)的形式。在图2的例子中,存储装置22可以存储数据立方体24和报表规范29以在计算装置16A的运行期间使用。
在某些例子中,计算装置16A包括网络接口23。网络接口可以提供功能,以通过一个或多个网络(例如企业网络18)与外部装置例如企业商业智能系统14进行通信。网络接口23可以包括网络接口卡例如以太网卡、光收发器、射频收发器或者能够发送和接收信息的任何其他类型的装置。这样的网络接口的其他例子可以包括3G或WiFi无线组件以及通用串行总线(USB)。在某些例子中,在发送或接收多维数据例如在接收用于报表17的数据时,计算装置16A利用网络接口23来与企业商业智能系统14进行通信。
在图2的例子中,计算装置16A可以包括存储装置22中的一个或多个数据立方体24。数据立方体24可以存储经企业网络18来自用户12A和/或来自企业商业智能系统14的数据源的数据。在数据立方体24中存储的数据可以为计算装置16A提供基础数据来定义报表规范29并/或创建报表17。数据立方体24可以包括二维数据库和/或多维数据库例如立方体。数据立方体24可以用多种厂商平台来实现,并且可以通过网络接口23在整个企业中分布。作为一个例子,数据立方体24可以是针对在线分析处理(OLAP)来配置的多维数据库。作为另一个例子,数据立方体24可以是多维数据库,其被配置为接收并执行某任意级别复杂度的多维表达式(MDX)查询。作为又一个例子,数据立方体24可以是二维关系型数据库,其被配置为接收并执行也具有任何级别复杂度的SQL查询。在存储装置22中本地存储数据立方体24允许定义报表规范29和生成报表17时所需的某些或全部计算由计算装置16A本地执行。在其他例子中,计算装置16A可以不在本地存储数据立方体24,并且一个或多个装置例如企业商业智能系统14可以执行所需的计算。
在某些例子中,计算装置16A包括计算引擎25。计算引擎25可以包括指令,所述指令可以通过存储器被处理器20操作,以接收报表规范并执行计算来生成报表。例如,计算引擎25可以从定义模块28接收请求来确定与企业4的多维数据中的特定数据相关的一个或多个计算。在其他例子中,计算引擎25可以接收请求来对特定维度的数据进行聚集或求和,或者接收请求来确定维度内的项的当前值。计算引擎25可以通过网络接口23从数据立方体24和/或企业商业智能系统14获取相关企业数据并执行请求的计算。计算引擎25执行的计算的结果可被发送到与计算装置16A关联的其他组件,例如定义模块28或报表工具34。
如图2的例子所示,计算装置16A可以包括定义模块28。定义模块28可以包括指令,所述指令可以通过存储器21由处理器20来操作以从UI模块26接收输入并基于接收到的输入来创建一个或多个报表规范29的定义。报表规范29可以是在存储装置22上存储的一个或多个文档,其提供报表17的结构或所需的内容。在某些例子中,报表规范29可以由包含标记语言(例如XML)指令的文档或文件构成,所述指令定义了报表的不同需求。例如,报表规范可以定义将在报表中显示的各个图表和表格的布局。报表规范29可以包括一个或多个定义,其指定了在报表17的部分中要包含哪些数据元素。报表规范29中的定义可以用查询语言(例如SQL)来创建,并且可以被计算装置16A的组件执行以从底层的数据源获取定义的数据元素。作为一个例子,定义可以使得报表包含属于特定层次结构的所有数据元素。
定义模块28可以从报表工具34接收请求来为特定的一张报表17提供数据。定义模块28可以包括指令,所述指令可以通过存储器21被处理器20操作,以使用报表规范29的定义来向计算引擎25查询所需的数据。即,定义模块28可以接收输入来生成报表,创建报表规范29中的一个或多个定义,基于所述定义输出查询以(例如从数据立方体24)获取必要的数据,并向报表工具34提供获取的数据。
在某些例子中,计算装置16A可以包括报表工具134。报表工具34可以包括指令,所述指令可以通过存储器21被处理器操作,以从定义模块28接收和报表对应的数据。报表工具34可以基于接收的数据来生成一张或多张报表17。在图2的例子中,报表工具34在计算装置16A上本地输出报表17。在其他例子中,报表工具34可以通过网络接口23将报表17输出到企业商业智能系统14或其他计算装置16A。
如图2的例子所示,计算装置16A可以包括UI模块26。UI模块26可以包括指令,所述指令可以通过存储器21被处理器20操作,以和输出装置20和/或输入装置32交互以向用户12A提供界面,从而使得能够从多维企业数据选择各种数据元素并且/或者创建一张或多张报表17。即,UI模块26可以(例如在一个或多个输出装置30上)显示GUI,用户12A可以(例如通过使用一个或多个输入装置32)与之交互,以使计算装置16A创建报表规范29的定义并且/或者基于该报表规范29来生成报表17。
UI模块26可以通过操作地耦合到计算装置16A的一个或多个输出装置30向用户12A输出信息。在某些例子中,输出装置30被配置为使用触觉、音频或视频刺激来向用户提供输出。输出装置30可以包括存在敏感(presence-sensitive)显示器、声卡、视频图像适配卡或其他类型的装置,用于将信号转换为人类或机器可以理解的合适形式。输出装置30的其他例子包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LC)或能够向用户生成可理解的输出的任意其他类型的装置。UI模块26可以通过一个或多个输入装置32接收来自用户12A的输入。输入装置32可以是计算装置16A的一部分,或者可以与计算装置16A通信地耦合。输入装置32可以包括键盘、鼠标、触摸敏感或存在敏感显示器、触针(stylus)或任何可操作以提供机器输入的装置。
根据本公开的一个或多个方面,UI模块26可以向用户12A提供一种方式,通过在输出装置30上显示覆盖元素以引导用户12A选择与数据元素关联的一个或多个子元素或报表选项,来创建报表规范29的定义。例如,UI模块26可以在输出装置30上显示报表生成UI,其具有与要生成的报表关联的源容器以及一个或多个目标容器。源容器是可以用户可选择的,并且可以显示用户想要在特定报表中包含的数据元素。例如,针对收入报表选择的源容器可以包括各种收入组例如地理区域或产品分类或划分收入的其他方法。目标容器可以定义收入报表的结构和/或布局。
UI模块26可以从输入装置32接收用户12A对要包含在报表中的数据元素的选择的指示。响应于接收该指示,UI模块26可以显示具有树状结构的覆盖元素作为UI的一部分。覆盖元素的“树干”可位于或接近用户12A对数据元素的选择。覆盖元素的“树枝”可以与数据元素的报表选项关联。通过该方式,UI模块26可以创建从选中的数据元素到一个或多个报表选项的路径。当UI模块26从输入装置32接收指示路径遍历的输入时,选中的对象可被调整以包含关联的报表选项。
UI模块26可以从输入装置32接收调整的对象在目标容器中的布置。响应于接收到该布置,UI模块26可以使定义模块28基于调整的数据元素来创建报表规范中的定义。响应于后续的输入例如生成报表的请求,定义模块28可以使计算引擎25基于创建的定义来获取数据。定义模块28可以将获取的数据提供给报表工具来生成报表17。通过该方式,UI模块26可以允许用户12A通过沿着从与初始选择的数据元素关联的起始点到与数据元素的报表选项关联的结束点的路径来移动输入单元(例如手指、鼠标指针、触针等)来创建报表规范的定义。即,本公开的技术可以提供直观的用户界面,以使计算装置基于用户输入来创建报表规范的定义。下面针对图3A、3B、4A、4B、5和6的特定例子来进一步描述UI模块26。
图3A和3B是示出根据本公开的一个或多个方面的用于提供细粒度用户交互的计算装置和GUI的框图。仅为了说明的目的,在图1和图2所示的计算装置16A和企业商业智能系统14的上下文中描述图3A和3B所示的例子。尽管是在企业商业智能系统的报表生成UI的上下文中描述,本公开的技术可以容易地用于各种其他领域以提供细粒度的用户交互。如图3A和3B所示,计算装置16A包括组件例如UI模块26、定义模块28、报表工具34和数据立方体24。计算装置16A的组件可以包括与图1和2所述的这种组件类型的功能类似的功能。
在某些示例性技术中,在数据元素被选择时,UI模块26可以输出以显示图形覆盖元素。例如,UI模块26可以使具有树形结构的覆盖元素被输出以在报表生成UI上显示,其树干位于或靠近用户对数据元素的选择,并且数据元素的一个或多个报表选项在一个或多个目标容器的方向上从树干分支。在接收到指示遍历覆盖元素的输入时,UI模块26可以包含报表选项并停止显示覆盖元素或收起(collapse)该元素。在图3A和3B中进一步说明了这样的技术。
如图3A所示,UI模块26可以显示GUI40。在某些例子中,UI模块26可以在输出装置例如LCD上显示GUI40,并且UI模块26可以通过电子机械输入单元例如计算机鼠标或触针来接收输入。在其他例子中,GUI40可以被输出以在存在敏感显示器例如触摸屏上显示,并且UI模块26可以(例如从用户的手指)接收接触输入。GUI40可以是用于从企业商业智能系统14的企业数据生成收入报表的UI。GUI40可以包括单个源容器42和单个目标容器46。在图3A的例子中,企业可以具有多个销售区域例如美洲(即区域数据元素48A)和亚太区(即区域数据元素48C)。某些区域数据元素可以是分层的并包含子元素,例如具有子元素加拿大(即区域数据元素48B)的区域数据元素48A。区域数据元素48A、48B和48C(被共同称为“区域数据元素48”)中的每个可以是企业商业智能系统14中包含的数据的表示。即,区域数据元素48中的每个可以与企业商业智能系统14的多维数据中的一个或多个数据源关联。在某些例子中,相关数据源可被本地存储在数据立方体24中。在其他例子中,计算装置16A可以使用网络接口23来访问在别处存储的数据立方体。
一个或多个区域数据元素48可以包括多个子元素。例如,区域数据元素48B可以表示加拿大的销售数据,但可以包括加拿大的个别省的销售数据。反过来,加拿大的省的每个区域数据元素可以包括个别县、行政区或地区的销售数据元素。用户(例如用户12A)可能想要创建在收入报表中包含加拿大的销售数据的报表规范。结果,用户界面模块26可以接收指示选择区域数据元素48B的输入50。例如,输入50可以是通过计算机鼠标接收的点击并保持选择,或者通过触摸屏接收的触摸并保持选择。
在某些例子中,如果UI模块26随后(例如从用户12A释放鼠标按钮或从触摸屏移开手指)接收到释放选择的输入,UI模块26可以什么都不做,或者执行与本公开不相关的其他动作。但是,如果UI模块26接收到移向右侧的滑动输入51的指示,在接收到输入指示50之后,UI模块26可以显示覆盖元素54。在其他例子中,输入50可以对应于鼠标按钮的单次点击或者通过触摸屏接收的敲击手势,并且后续的输入(例如滑动输入51)可以不需要继续选择区域数据元素48B。在某些例子中,滑动输入51可以是向左、向上或向下移动,例如当目标容器46位于相对于源容器42的不同位置的时候。换句话说,当用户12A选择区域数据元素48B并将选择从源容器42朝着目标容器46拖拽时,UI模块26可以显示覆盖元素54。
UI模块26可以显示GUI52中所示的覆盖元素54。覆盖元素54可以是在报表生成GUI上覆盖显示的图形对象。在某些例子中,覆盖元素54可以具有如图3A所示的图形边界。在其他例子中,覆盖元素54可以以某种其他方式来与GUI52的其余部分区分。例如,与GUI52的其余部分相比,覆盖元素54可以被输出为以不同的颜色、不同的图案和不同的色调来显示。在各种例子中,覆盖元素54可以是不透明、半透明或完全透明的。覆盖元素54可以提供从区域数据元素的当前选择到一个或多个终点的一条或多条路径。终点可以对应于区域数据元素48B例如报表选项的可选择特征。在某些例子中,用户12A的输入单元(例如鼠标指针)可被限制为仅允许在覆盖元素54的边界内移动,从而除了通过显示的出口(例如到覆盖元素54的左侧和右侧),输入单元不能离开覆盖元素54的边界。在其他例子中,移动经过覆盖元素54的边界会导致UI模块26停止显示覆盖元素54。
在GUI52的例子中,覆盖元素54显示三条路径:路径56A、路径56B和路径56C(共同被称为“路径56”)。路径56可以与区域数据元素48B的报表选项关联,每个选项指定了要在报表中包含的数据源。标记为“仅加拿大”的路径56A可以与普通或默认报表选项关联,该选项将区域数据元素48B定义为仅作为一个整体的加拿大的收入数据。标记为“加拿大+省份”的路径56B可以与报表选项关联,该报表选项将区域数据元素48B定义为包含省份区域数据源以及作为整体的加拿大的区域数据。标记为“定义特殊…”的路径56C可以是特殊路径,其向用户提供选项来创建用于定义数据区域元素48B的自定义报表选项。换句话说,路径可以重新定义区域数据元素48B从而当用户12A用输入单元(例如手指或鼠标指针)遍历覆盖元素54的路径时,产生的区域数据元素可以具有与初始选择的区域数据元素48B不同的特征。在一个例子中,用户12A可能需要创建报表规范,该报表规范包含的定义指定包含仅加拿大的收入数据。于是,UI模块26可以接收输入,其指示鼠标指针到右侧的遍历(例如输入58)。
响应于接收到对应于靠近路径终点的鼠标指针的输入的指示,UI模块26可以将该指示输出到选中的报表选项的用户12A。在其他例子中,UI模块26可以不输出任何指示。
参考图3B,UI模块26可以显示具有源容器42和目标容器46的GUI60。UI模块26可以接收如GUI60的例子中所示的遍历路径56A的输入61的指示。响应于接收到输入61的指示,UI模块26可以以高亮的方式输出相应的标签62。即,UI模块26可以指示完成路径56A的遍历将导致选择“仅加拿大”报表选项。通过该方式,UI模块26可以避免用户12A错误地选择报表选项。
UI模块26可以接收进一步输入65的指示,从而完成路径56A。一旦接收到输入65的指示从而输入单元(例如鼠标指针、用户12A的手指等)已完成路径的遍历,UI模块26可以进入如图GUI64所示的插入模式。UI模块26可以改变覆盖元素54的显示。在某些例子中,UI模块26可以停止显示覆盖元素54。在其他例子中,UI模块26可以显示覆盖柄部(stem)66,其为覆盖元素54的一小部分,如GUI64中所示。柄部66可以为用户12A提供退回区域。即,如果UI模块26接收到对应于用户12A将调整的数据元素拖拽到柄部66所限定的位置的指令,UI模块26可以移除之前包含的报表选项并将选择退回到其前一状态。
在接收到输入65的指示以及路径56A的完整遍历时,UI模块26可以将选中的区域数据元素48B调整为包含与路径56A关联的报表选项。例如,在由输入65遍历路径56A之后,区域数据元素48B“加拿大”的选择可以导致对如GUI64中所示的调整的区域数据元素68“仅加拿大”的选择。在UI模块26进入插入模式后,调整的区域数据元素68然后可以被用户12A置于目标容器例如目标容器46中。
在某些例子中,用户12A可能使区域数据元素48B无意地遍历路径56A。在遍历已完成之后,UI模块26进入插入模式,用户12A会想要改变其选择或者以其他方式取消该调整。在该情形下,用户12A可以使用柄部66来这么做。
但是,如果用户12A对调整的区域数据元素68满意,该调整的区域数据元素68可被置于目标容器(例如目标容器46)中。在接收到对应于在目标容器中放置数据元素的输入指示时,UI模块26可以将数据发送到定义模块28以指示数据元素和目标容器。响应于从UI模块26接收到数据,定义模块28可以基于通过报表选项调整的数据元素(例如调整的区域数据元素68)来创建指定数据源的报表规范29的一个或多个定义。通过该方式,UI模块26可以向用户提供途径在企业商业智能系统14中选择具有各种可选择报表选项的数据元素并基于那些数据元素来创建报表规范的定义。本公开的技术允许用户用单个手势来指定想要的数据元素的报表选项并基于选中的数据元素来创建报表规范的定义。
图4A和4B是示出根据本公开的一个或多个方面的用于提供细粒度用户交互的示例性GUI的框图。仅为了说明的目的,下面在如图1和2所示的计算装置16A的上下文中描述图4A和4B的例子。图4A和4B中的GUI70和90分别可以被例如计算装置16A输出来显示。
在某些例子中,本公开的技术可以使用户12A能够将包含一个或多个报表选项的数据元素置于报表结构中的不同目标容器中,以创建与报表区域对应的报表选项中的定义。例如,用户12A可以选择如上关于图3A和3B所述的数据元素的报表选项。UI模块26可以输出以显示能够接收调整的数据元素的若干目标容器。响应于从用户12A接收到调整的数据元素在一个目标容器中放置,UI模块26可以将显示的目标容器调整为反映要生成的报表规范的当前部分结构。在其他例子中,本公开的技术可以使用户能够选择电子邮件应用中的联系人的属性,选择要包含在图形设计中的图形元素,选择项目来填充表单,或执行其他任务,包括选择具有各种可选择属性的元素。
在图4A的例子中,GUI70可以显示用于生成收入报表的UI。GUI70可以包括源容器42和目标容器72A、72B和72C(共同被称为“目标容器72”)。根据本公开的技术,用户12A可以从源容器42选择收入数据元素,并遍历显示的覆盖元素以用选中的报表选项来调整选中的元素。例如,用户12A可能想要在收入报表中包含加拿大的省份的收入数据以及加拿大作为一个整体的收入数据。于是,用户12A可以选择“加拿大”收入数据元素,并遍历与“加拿大+省份”报表选项关联的路径以将其选择转换为调整的区域数据元素74。
一旦用户满意其对具有选中报表选项的数据元素的选择,用户可以将调整的数据元素置于目标容器中。在如图4A的例子中,用户12可能想要在报表规范中创建收入报表的定义,其中,加拿大作为一个整体和加拿大的每个省份的数据源被显示在单独的列中(例如在电子表中)。结果,UI模块26可以接收对应于调整的区域数据元素74在目标容器72A中的放置的输入的指示。响应于接收到该输入,UI模块26可以将数据发送到定义模块28,该数据包含调整的区域数据元素74以及目标容器72A的指示。
定义模块28可以从UI模块26接收数据,并基于接收到的数据来定义或调整报表规范的定义。例如,定义模块28可以在报表规范的合适位置生成一个或多个查询,所述查询在被执行时,定位并从相关的数据源例如数据立方体24获取指定的数据。在某些例子中,定义模块28可以将一个或多个查询发送到计算引擎25以确定哪些数据元素应被包含在报表规范定义中。响应于从计算引擎25接收到数据元素,定义模块28可以创建报表规范的定义,其包含识别的数据元素。例如,选中的报表选项可以对应于静态数据源(例如,当用户不希望在每次生成报表时包含最新的数据)。定义模块28可以查询计算引擎25来确定那些数据源当前落在选中的报表选项所指定的分类中。在图4A和4B的例子中,定义模块28可以接收调整的区域数据元素74的指示。为了确定哪些元素必须被包含在报表规范中,定义模块28可以查询计算引擎25。计算引擎25可以接收所述查询并发送指示加拿大的每个省的数据源的位置和/或维度的数据。在其他例子中,定义模块28可以不查询计算引擎25。即,定义模块28可以使计算引擎25确定数据元素的位置和/或维度,或可以自己这么做。
在创建报表规范中的定义之后,定义模块28可以将该定义所指定的那些数据元素的指示发送到UI模块26。UI模块26可以输出从定义模块28接收的指定数据元素的一个或多个指示作为报表生成UI的一部分。例如,响应于从UI模块26接收到数据,定义模块28可以创建报表规范以便创建具有列定义的报表,所述列对应于加拿大数据元素以及用于加拿大的每个单独省份的数据元素。定义模块28可以将要包含在报表中的指定数据元素的指示发送到UI模块26。
如图4B所示,UI模块26可以输出所述指示作为收入报表生成UI即GUI90的一部分。GUI90可以包括目标容器72以及列标题92A、92B、92C和92D(共同被称为“列标题92”)。响应于从定义模块28接收到数据,列标题92可以被输出以由UI模块26显示。列标题92A可以对应于加拿大安大略省的数据元素。列标题92B和92C可以分别对应于加拿大魁北克省和加拿大新布伦维克省的数据元素。列标题92D可以对应于加拿大作为一个整体的数据元素。根据本公开的一个或多个方面,响应于基于接收到的用户输入确定报表规范,定义模块28可以使UI模块26显示列标题92。换句话说,当UI模块26接收到与用户12A将数据元素置于目标容器中相对应的用户输入的指示时,UI模块26可以与定义模块28通信来创建报表规范中的一个或多个定义,并输出以显示那些报表规范的视觉表示。
在创建报表规范时,用户会想要在各个目标容器中包含多个数据元素。例如,尽管GUI90包含加拿大及其省份的列标题92,计算装置16A可以允许用户12A将其他数据元素添加到目标容器72A,包括报表规范中的更多列。在某些例子中,用户12A可以将其他区域数据元素添加到目标容器72B和/或72C以创建报表规范的其他区域中的更多定义。在其他例子中,GUI90可以包含具有其他类型数据元素(例如收入、销售、支出、雇员、预算或多维数据中的其他元素)的其他源容器。通过该方式,UI模块26可以使用户能够创建报表的报表规范中的多个定义,而不需要过多的查询语言专业知识或低效的选择方法。本公开的技术为用户提供了覆盖元素作为GUI的一部分,其可用于选择用于想要的数据元素的报表选项并基于选中的数据元素和报表选项来创建或调整报表规范。
图5是示出根据本公开的一个或多个方面的用于提供细粒度用户交互的示例性GUI的框图。仅为了说明的目的,在如图1和2所示的计算装置16A的上下文中描述图5的例子。图5中的GUI100可以被输出以例如由计算装置16A来显示。根据本公开的技术来显示的覆盖元素可以为用户提供不同的报表选项,这取决于其中显示覆盖元素的报表生成UI。在图5的例子中,GUI100例如可以是能用于生成显示企业的各个部分的薪酬成本的薪酬报表的UI。GUI100可以包括源容器42和目标容器104。如图所示,用户12A可以从源容器42选择标题为“加拿大”的销售区域,并将该数据元素朝着目标容器104拖拽。作为响应,UI模块26可以显示覆盖元素106。被创建的报表的类型(例如薪酬报表)可以确定报表选项和作为覆盖元素106的一部分显示的相关路径。
此外,覆盖元素可以使用户能选择用于特定数据元素的连续报表选项。即,覆盖元素可以显示遍历多个级别的报表选项的路径。用户12A可以将选择拖拽通过多于一个级别以选择多个级别的报表选项且由此创建要被包含在报表规范中的更复杂的定义。在图5的例子中,GUI100显示了多级别覆盖元素106,其具有两个可用的路径来选择第一报表选项(即标记为“品牌”的路径和标记为“收入”的路径)。GUI100的覆盖元素106还包括从“收入”路径延伸的三条子路径,其与选择各个收入范围的报表选项相关联。如上关于图3A、3B所述,用户可以用选择遍历覆盖元素的路径,以调整选中的数据属性。在完成遍历覆盖元素的所有级别之后,用户可以将调整的数据元素置于目标容器中,由此创建报表规范中的一个或多个定义。覆盖元素的每个遍历的级别可以增加定义中的查询的复杂度,以从合适的数据源获取相关数据。
图6是示出根据本公开的一个或多个方面的用于提供细粒度用户交互的示例性过程的流程图。仅为了说明的目的,下面在如图1和2所示的计算装置16A的上下文中描述该示例性过程。
在图6的例子中,计算装置16A开始可以显示GUI,以基于企业商业智能系统14中的数据来生成报表。在过程步骤110,计算装置16A可以显示GUI的源容器中的一个或多个数据元素。在过程步骤112,计算装置16A可以接收在GUI的开始位置的数据元素的选择,该数据元素与多个报表选项关联。在过程步骤114,计算装置16A可以显示与报表选项相对应的覆盖元素,该覆盖元素具有的边界形成多条路径。在过程步骤116,计算装置16A可以接收指示沿着选中的路径遍历覆盖元素的输入。在过程步骤118,计算装置16A可以接收数据元素在目标容器中的放置。在过程步骤120,计算装置16A可以至少部分基于与选中路径相对应的报表选项来创建报表规范的定义。
在某些例子中,图6中的过程可以包括:响应于接收到第二输入,至少部分基于与选中路径相对应的报表选项来调整对象。在某些例子中,该过程可以包括在接收到输入时用GUI来显示数据元素的视觉表示,并将该视觉表示限制在覆盖元素的边界内。在某些例子中,目标容器可以定义报表的结构。
在某些例子中,图6中的过程可以包括:从用户接收第三输入,其指示移动到GUI的返回位置,并且响应于接收到该第三输入,计算装置16A可以忽略与选中路径相对应的报表选项。在某些例子中,标表选项包括数据元素的子集。在某些例子中,该过程可以包括至少部分基于创建的定义来生成报表,并用GUI来显示该报表。在某些例子中,第一和第二输入包括触摸输入。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本公开中描述的技术至少可以部分在硬件、软件、固件或其组合中实现。例如,所述技术的各个方面可以在一个或多个处理器中实现,所述处理器包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他等价的集成或离散逻辑电路,以及这样的组件的任意组合。术语“处理器”或“处理电路”可以一般地表示单独的或与其他逻辑电路相组合的上述逻辑电路中的任一个,或者任意其他等价电路。包含硬件的控制单元也可以执行本公开的一种或多种技术。
这样的硬件、软件和固件可以在相同的装置中或分离的装置中实现,以支持本公开中描述的各种技术。此外,所述单元、模块或组件中的任一个可以一起实现或分离地实现为离散但可互操作的逻辑装置。将不同特征描述为模块或单元旨在强调不同的功能方面,而不一定表示这样的模块或单元必须用单独的硬件、固件或软件组件来实现。相反,与一个或多个模块或单元关联的功能可以通过单独的硬件、固件或软件组件来实现,或被集成在公共或单独的硬件、固件或软件组件中。
在本公开中描述的技术还可以在包含用指令编码的计算机可读存储介质的制品中实现或编码。在包含编码的计算机可读存储介质的制品中嵌入或编码的指令可以使一个或多个可编程处理器或其他处理器实现这里描述的一种或多种技术,例如在计算机可读介质中包含或编码的指令被一个或多个处理器执行时。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、闪存、硬盘、致密盘ROM(CD-ROM)、软盘、磁带、磁性介质、光介质或其他计算机可读介质。在某些例子中,制品可以包括一种或多种计算机可读存储介质。
在某些例子中,计算机可读存储介质可以包括非临时介质。术语“非临时”可以表示该存储介质不是在载波或传播的信号中实现的。在特定的例子中,非临时存储介质可以存储能随时间改变的数据(例如在RAM或高速缓存中)。
已经描述了本公开的各个方面。这些和其他方面在下列权利要求的范围内。

Claims (21)

1.一种用于为报表生成提供辅助覆盖的计算机实现的方法,该方法包括:
从用户接收在图形用户界面GUI中的开始位置的第一输入,其指示对数据源中定义的数据元素的选择;
响应于接收到该选择,显示覆盖元素作为GUI的一部分,该覆盖元素具有边界,其形成从开始位置到GUI中的多个结束位置的多条路径,其中,该多条路径对应于与数据元素关联的多个报表选项;
从用户接收第二输入,其指示沿着多个路径中的选中路径、从开始位置到选中路径的结束位置对覆盖元素的遍历;
响应于接收到第二输入,至少部分基于与选中的路径相对应的报表选项来调整数据元素;以及
至少部分基于与选中路径相对应的报表选项来创建用于报表规范的定义。
2.如权利要求1所述的方法,还包括显示数据元素的视觉表示作为GUI的一部分,并且在接收第一和第二输入时将该视觉表示限制在覆盖元素的边界内。
3.如权利要求1所述的方法,还包括显示源容器作为GUI的一部分,其中,所述开始位置位于源容器中。
4.如权利要求1所述的方法,还包括显示一个或多个目标容器作为GUI的一部分,其中,该一个或多个目标容器定义报表的结构。
5.如权利要求1所述的方法,其中,所述多个报表选项包括数据元素的子集。
6.如权利要求1所述的方法,还包括:
从用户接收第三输入,其指示移动到GUI中的返回位置;以及
响应于接收到第三输入,忽略与选中路径相对应的报表选项。
7.如权利要求1所述的方法,还包括至少部分基于创建的定义来生成报表,并且显示该报表作为GUI的一部分。
8.如权利要求1所述的方法,其中,所述第一和第二输入包括触摸输入。
9.一种用于为报表生成提供辅助覆盖的计算机实现的方法,该方法包括:
从用户接收对由图形用户界面GUI显示在开始位置的对象的图形表示的选择;
响应于接收该选择,由GUI显示覆盖元素,该覆盖元素具有边界,其形成从开始位置到多个结束位置的多条路径,其中该多条路径对应于与对象关联的多个可选择属性;
从用户接收输入,其将选中的表示沿着多条路径中的选中路径从开始位置到选中路径的结束位置拖拽;以及
至少部分基于与选中路径关联的可选择属性来调整对象。
10.如权利要求9所述的计算机实现的方法,
其中,将选中的表示沿着选中路径拖拽的所述输入包括第一输入,并且
其中,所述方法还包括:
用GUI显示一个或多个目标容器,其中,该一个或多个目标容器定义报表的结构;
从用户接收第二输入,其将选中的表示置于所述一个或多个目标容器中的特定目标容器中;以及
至少部分基于所述调整的对象和特定的目标容器来生成报表定义。
11.如权利要求9所述的计算机实现的方法,
其中,将选中的表示沿着选中路径拖拽的输入包括第一输入,并且
其中,所述方法还包括:
用GUI显示一个或多个目标容器,其中,该一个或多个目标容器是表单的字段;
从用户接收第二输入,其将选中的表示置于一个或多个目标容器中的特定目标容器中;以及
至少部分基于调整的对象来填充该特定目标容器的字段。
12.一种用于为报表生成提供辅助覆盖的计算装置,该计算装置包括:
一个或多个处理器;
一个或多个计算机可读存储器;
一个或多个输入装置;
一个或多个输出装置;
用户界面模块,其可以通过所述一个或多个存储器中的至少一个由所述一个或多个处理器中的一个操作,以:
在一个或多个输出装置上显示图形用户界面GUI,该GUI包括在数据源中定义的数据元素的至少一个表示;
通过一个或多个输入装置从用户接收第一输入,其指示在GUI的开始位置对所述表示的选择;
在一个或多个输出装置上并且响应于接收到所述选择,用GUI来显示覆盖元素,该覆盖元素具有边界,其形成从所述开始位置到GUI的多个结束位置的多条路径,其中,该多条路径对应于与数据元素关联的多个报表选项;以及
通过一个或多个输入装置从用户接收第二输入,其指示沿着多条路径中的选中路径、从开始位置到选中路径的结束位置对覆盖元素的遍历;以及
定义模块,可以通过所述一个或多个存储器中的至少一个由所述一个或多个处理器中的一个来操作,以响应于接收到第二输入,至少部分基于与选中的路径相对应的报表选项来调整数据元素;以及至少部分基于与选中路径相对应的报表选项来创建用于报表规范的定义。
13.如权利要求12所述的计算装置,其中,所述用户界面模块还可以通过所述一个或多个存储器中的至少一个由所述一个或多个处理器中的一个来操作,以响应于接收到第二输入而在一个或多个输出装置上输出以显示数据元素的调整表示,该调整表示包含与选中路径相对应的报表选项。
14.如权利要求13所述的计算装置,其中,所述用户界面模块还可以通过所述一个或多个存储器中的至少一个由所述一个或多个处理器中的一个来操作,以在接收所述输入时将所述表示限制在覆盖元素的边界内。
15.如权利要求12所述的计算装置,还包括报表工具,其可以通过所述一个或多个存储器中的至少一个由所述一个或多个处理器中的一个来操作,以:
处理报表规范以确定报表的结构;
访问数据源以获取由创建的定义所限定的至少一个数据元素;以及
至少部分基于获取的至少一个数据元素和确定的结构来生成报表。
16.如权利要求15所述的计算装置,还包括网络接口,其可以通过所述一个或多个存储器中的至少一个由所述一个或多个处理器中的一个来操作,以通过企业网络通信并访问企业商业智能系统,其中,访问数据源包括与网络接口通信以从企业商业智能系统获取数据。
17.如权利要求15所述的计算装置,还包括一个或多个计算机可读、有形的存储装置以及在一个或多个存储装置中的至少一个上存储的用于存储多个数据元素的数据立方体,该数据元素被包含在所述多个数据元素中,其中,访问数据源包括访问所述一个或多个数据立方体以从所述一个或多个数据立方体获取数据。
18.如权利要求15所述的计算装置,还包括计算引擎,其可以通过所述一个或多个存储器中的至少一个由所述一个或多个处理器中的一个来操作,以接收报表规范并执行报表定义所指示的计算,其中,访问数据源以获取至少一个数据元素包括将报表定义发送到计算引擎并从计算引擎接收至少一个数据元素。
19.如权利要求12所述的计算装置,其中,所述用户界面还可以通过所述一个或多个存储器中的至少一个由所述一个或多个处理器中的一个来操作,以通过一个或多个输入装置从用户接收第三输入,其指示移动到GUI的返回位置,并且响应于接收到第三输入,忽略与选中路径相对应的报表选项。
20.如权利要求12所述的计算装置,其中,所述一个或多个输入装置中的至少一个包括存在敏感显示器,并且其中,所述第一或第二输入包括触摸输入。
21.一种用于为报表生成提供辅助覆盖的计算机系统,该系统包括用于实现如权利要求1-11中的任何一个方法的任意步骤的装置。
CN201410039854.0A 2013-01-28 2014-01-27 为报表生成提供辅助覆盖的方法和系统 Active CN103970527B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/752,172 2013-01-28
US13/752,172 US9372596B2 (en) 2013-01-28 2013-01-28 Assistive overlay for report generation

Publications (2)

Publication Number Publication Date
CN103970527A CN103970527A (zh) 2014-08-06
CN103970527B true CN103970527B (zh) 2017-05-31

Family

ID=51224428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410039854.0A Active CN103970527B (zh) 2013-01-28 2014-01-27 为报表生成提供辅助覆盖的方法和系统

Country Status (2)

Country Link
US (2) US9372596B2 (zh)
CN (1) CN103970527B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9372596B2 (en) 2013-01-28 2016-06-21 International Business Machines Corporation Assistive overlay for report generation
US20150082140A1 (en) * 2013-09-13 2015-03-19 Leroy Babalola System and method for electronic form management
WO2015047398A1 (en) * 2013-09-30 2015-04-02 Hewlett-Packard Development Company, L.P. Overlays to modify data objects of source data
US20150120604A1 (en) * 2013-10-31 2015-04-30 International Business Machines Corporation Virtual data write-back for business intelligence reporting
US10282905B2 (en) * 2014-02-28 2019-05-07 International Business Machines Corporation Assistive overlay for report generation
US20150324646A1 (en) * 2014-05-08 2015-11-12 Brown University Navigation methods and apparatus for the visually impaired
CN105989082B (zh) * 2015-02-10 2019-06-25 腾讯科技(深圳)有限公司 报表视图生成方法和装置
CN105630759A (zh) * 2015-12-28 2016-06-01 北京致远协创软件有限公司 一种数据引用的装置及方法
CN106446279B (zh) * 2016-10-31 2019-09-27 南京南瑞继保电气有限公司 基于分析服务池和动态虚拟数据集的并发数据分析方法
US10203855B2 (en) * 2016-12-09 2019-02-12 Snap Inc. Customized user-controlled media overlays
CN107908657A (zh) * 2017-10-17 2018-04-13 平安科技(深圳)有限公司 业务报表的查询方法、装置、计算机设备及存储介质
US11194845B2 (en) 2019-04-19 2021-12-07 Tableau Software, LLC Interactive lineage analyzer for data assets
US11651003B2 (en) * 2019-09-27 2023-05-16 Tableau Software, LLC Interactive data visualization interface for data and graph models
US11423217B2 (en) 2019-11-07 2022-08-23 Tableau Software, LLC Flexible table based visualizations
US11829421B2 (en) 2019-11-08 2023-11-28 Tableau Software, LLC Dynamic graph generation for interactive data analysis
US11188558B2 (en) 2019-12-06 2021-11-30 Tableau Software, LLC Parenting computed fields with data objects
US11422985B2 (en) 2020-07-30 2022-08-23 Tableau Software, LLC Interactive data modeling
US12105742B2 (en) 2021-08-31 2024-10-01 Tableau Software, LLC Providing data flow directions for data objects
CN117252180B (zh) * 2023-11-16 2024-02-23 太平金融科技服务(上海)有限公司 一种报表生成方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339568A (zh) * 2008-08-21 2009-01-07 金蝶软件(中国)有限公司 一种构建数据树的方法和装置
CN102841938A (zh) * 2012-08-14 2012-12-26 北京久其软件股份有限公司 一种参数化报表的生成方法及系统

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742286A (en) * 1995-11-20 1998-04-21 International Business Machines Corporation Graphical user interface system and method for multiple simultaneous targets
US6144962A (en) 1996-10-15 2000-11-07 Mercury Interactive Corporation Visualization of web sites and hierarchical data structures
US5999178A (en) 1997-01-21 1999-12-07 Netiq Corporation Selection, type matching and manipulation of resource objects by a computer program
JP3511462B2 (ja) 1998-01-29 2004-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 操作画像表示装置およびその方法
US6910179B1 (en) 1998-11-10 2005-06-21 Clarita Corporation Method and apparatus for automatic form filling
WO2000070531A2 (en) 1999-05-17 2000-11-23 The Foxboro Company Methods and apparatus for control configuration
US7324983B1 (en) 2001-11-08 2008-01-29 I2 Technologies Us, Inc. Reproducible selection of members in a hierarchy
US7107285B2 (en) 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
US20040095390A1 (en) 2002-11-19 2004-05-20 International Business Machines Corporaton Method of performing a drag-drop operation
US7650575B2 (en) * 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
US8555352B2 (en) 2003-06-20 2013-10-08 Juniper Networks, Inc. Controlling access nodes with network transport devices within wireless mobile networks
US7925658B2 (en) 2004-09-17 2011-04-12 Actuate Corporation Methods and apparatus for mapping a hierarchical data structure to a flat data structure for use in generating a report
US7418438B2 (en) * 2004-11-30 2008-08-26 International Business Machines Corporation Automated default dimension selection within a multidimensional enterprise software system
US20060136833A1 (en) * 2004-12-15 2006-06-22 International Business Machines Corporation Apparatus and method for chaining objects in a pointer drag path
US7752566B1 (en) 2005-10-28 2010-07-06 Adobe Systems Incorporated Transparent overlays for predictive interface drag and drop
US7546545B2 (en) * 2006-09-27 2009-06-09 International Business Machines Corporation Emphasizing drop destinations for a selected entity based upon prior drop destinations
US20080172636A1 (en) 2007-01-12 2008-07-17 Microsoft Corporation User interface for selecting members from a dimension
US8972898B2 (en) 2007-02-06 2015-03-03 Novell Intellectual Properties, Inc. Techniques for representing and navigating information in three dimensions
US8479093B2 (en) * 2007-03-01 2013-07-02 Microsoft Corporation Metamodel-based automatic report generation
US7958460B2 (en) * 2007-10-30 2011-06-07 International Business Machines Corporation Method for predictive drag and drop operation to improve accessibility
US20090187842A1 (en) * 2008-01-22 2009-07-23 3Dlabs Inc., Ltd. Drag and Drop User Interface for Portable Electronic Devices with Touch Sensitive Screens
US20090276701A1 (en) 2008-04-30 2009-11-05 Nokia Corporation Apparatus, method and computer program product for facilitating drag-and-drop of an object
US8296670B2 (en) 2008-05-19 2012-10-23 Microsoft Corporation Accessing a menu utilizing a drag-operation
EP2131271A1 (en) 2008-06-04 2009-12-09 NEC Corporation Method for enabling a mobile user equipment to drag and drop data objects between distributed applications
US9165333B2 (en) 2008-12-15 2015-10-20 Sap Se Systems and methods for supply chain event visualization
US8788975B1 (en) 2009-08-19 2014-07-22 Google Inc. System and method of displaying geographic entities
US9547840B2 (en) 2009-12-28 2017-01-17 Google Technology Holdings LLC Methods for associating objects on a touch screen using input gestures
US20110202469A1 (en) 2010-02-18 2011-08-18 Frontline Consulting Services Private Limited Fcs smart touch for c level executives
US8335991B2 (en) 2010-06-11 2012-12-18 Microsoft Corporation Secure application interoperation via user interface gestures
US20120030566A1 (en) 2010-07-28 2012-02-02 Victor B Michael System with touch-based selection of data items
US8767019B2 (en) 2010-08-31 2014-07-01 Sovanta Ag Computer-implemented method for specifying a processing operation
US9032314B2 (en) 2010-12-01 2015-05-12 Microsoft Technology Licensing, Llc Proposing visual display components for processing data
US8863040B2 (en) 2011-01-04 2014-10-14 Google Inc. Gesture-based selection
US9218683B2 (en) 2011-05-27 2015-12-22 Microsoft Technology Licensing, Llc Collection rearrangement animation
US8762870B2 (en) 2011-07-19 2014-06-24 Salesforce.Com, Inc. Multifunction drag-and-drop selection tool for selection of data objects in a social network application
US9658733B2 (en) * 2012-08-03 2017-05-23 Stickshift, LLC User interface with selection patterns
US9684886B2 (en) 2012-08-10 2017-06-20 Sap Se Cross-domain business mashup integration
US9372596B2 (en) 2013-01-28 2016-06-21 International Business Machines Corporation Assistive overlay for report generation
US9003333B2 (en) 2013-03-04 2015-04-07 Zynga Inc. Sequential selection of multiple objects
US9792014B2 (en) 2013-03-15 2017-10-17 Microsoft Technology Licensing, Llc In-place contextual menu for handling actions for a listing of items
US10282905B2 (en) 2014-02-28 2019-05-07 International Business Machines Corporation Assistive overlay for report generation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339568A (zh) * 2008-08-21 2009-01-07 金蝶软件(中国)有限公司 一种构建数据树的方法和装置
CN102841938A (zh) * 2012-08-14 2012-12-26 北京久其软件股份有限公司 一种参数化报表的生成方法及系统

Also Published As

Publication number Publication date
US20140215405A1 (en) 2014-07-31
CN103970527A (zh) 2014-08-06
US9372596B2 (en) 2016-06-21
US20140215331A1 (en) 2014-07-31
US9619110B2 (en) 2017-04-11

Similar Documents

Publication Publication Date Title
CN103970527B (zh) 为报表生成提供辅助覆盖的方法和系统
EP3451154B1 (en) Embedded analytics for applications and interfaces across multiple platforms
US10388044B2 (en) Dimension reducing visual representation method
US20180189990A1 (en) Methods, apparatus and systems for data visualization and related applications
US10073907B2 (en) System and method of analyzing and graphically representing transaction items
US10783677B2 (en) System and method of identifying and visually representing adjustable data
US9058695B2 (en) Method of graphically representing a tree structure
US20110179066A1 (en) Methods, apparatus and systems for data visualization and related applications
CN104715003B (zh) 使用数据传播功能输入数据的方法和系统
CN104750771B (zh) 利用域信息进行上下文数据分析的方法和系统
US20120102074A1 (en) Applying analytic patterns to data
CN102567840A (zh) 基于混合任务板和关键路径方法的项目管理应用界面
CN102915237A (zh) 根据用户应用程序要求改写数据质量规则的方法和系统
CN110249356B (zh) 一种用户定义的erp功能的共享方法及系统
CN104102670A (zh) 绩效指标分析框架
US20120173522A1 (en) Field extensibility for analytical reports
US20110184995A1 (en) method of optimizing a tree structure for graphical representation
CN104598216B (zh) 用于实现业务智能报告的虚拟数据写回的方法和系统
US20200250871A1 (en) Enhancement layers for data visualization
WO2016131014A1 (en) User interface and platform for data visualization and analysis
KR20180072889A (ko) 사용자 정의 erp 펑션 생성 방법 및 이를 수행하는 컴퓨팅 시스템
Galliano The importance of data visualization tools in modern enterprises. Cost-effective solutions and empowering of an open source project.
US20140278698A1 (en) Integrated project planning

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant