CN107111639A - 构建报表 - Google Patents
构建报表 Download PDFInfo
- Publication number
- CN107111639A CN107111639A CN201580069242.9A CN201580069242A CN107111639A CN 107111639 A CN107111639 A CN 107111639A CN 201580069242 A CN201580069242 A CN 201580069242A CN 107111639 A CN107111639 A CN 107111639A
- Authority
- CN
- China
- Prior art keywords
- data
- field
- data structure
- user interface
- relation
- 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
Classifications
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- 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/21—Design, administration or maintenance of databases
-
- 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/242—Query formulation
- G06F16/2423—Interactive query statement specification based on a database schema
-
- 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/242—Query formulation
- G06F16/243—Natural language query formulation
-
- 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/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2448—Query languages for particular applications; for extensibility, e.g. user defined types
-
- 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
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04842—Selection of displayed objects or displayed text elements
-
- 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
- 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
- G06Q10/10—Office automation; Time management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Computer Interaction (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种用于构建报表的方法、系统和设备,包括编码在计算机存储介质上的计算机程序。方法之一包括基于关系结构化数据来创建模型,所述结构化数据包括数据结构,各数据结构具有数据元素,各数据元素具有字段,各字段具有名称。所述方法包括生成模型中的对象的层级,其中,所述层级根据与所述对象有关的关系字段相对于起始对象来组织这些对象。所述方法包括生成包括所述层级中的一个或多个对象的元素的用户界面,其中,该用户界面使得用户能够使用新的名称来创建报表并对该报表进行过滤。所述方法包括接收从所述元素中对元素的用户选择。所述方法还包括生成报表。
Description
背景技术
本说明书涉及构建报表。
数据库可以存储大量信息。存储信息的方式不总是直观的。相反,基于诸如引用完整性的维护、访问速度以及冗余最小化等的因素来确定数据库的结构。可以在逻辑上分组在一起的数据可以存储在单独的实体中。可以通过添加没有物理对象的附加实体来解决复杂关系。
发明内容
一般来说,本说明中描述的主题的方面1可以体现在包括以下动作的方法中:基于结构化数据来创建模型,所述结构化数据包括数据结构,各数据结构具有数据元素,各数据元素具有字段,各字段具有名称,其中,创建所述模型包括:基于所述结构化数据中的数据结构来创建所述模型中的对象;将所述数据结构中的字段的名称转译为自然语言名称;为具有所述自然语言名称的对象创建字段;基于所述结构化数据中的数据结构之间的关系来为所述对象创建关系字段。所述方法还包括生成模型中的对象的层级,所述层级根据与所述对象有关的关系字段相对于起始对象来组织所述对象;生成包括所述层级中的一个或多个对象的元素的用户界面,其中,该用户界面使得用户能够使用所述自然语言名称来创建报表并对该报表进行过滤。所述方法还包括接收从所述元素中对元素的用户选择。所述方法还包括生成报表,生成报表包括:标识与所述元素相对应的数据结构;从数据源中所标识的数据结构中的至少一个字段获得数据;以及将该数据呈现给所述用户。
根据方面1的方面2,转译名称可以包括使用查找表来转译名称。
根据方面1或2中任一项的方面3,所述关系字段可以是表示所述数据结构中的一个数据元素到第二数据结构中的一个第二数据元素的关系的引用字段。
根据方面1、2或3中任一项的方面4,所述关系字段可以是表示所述数据结构中的一个数据元素到第二数据结构中的多个第二数据元素的关系的集合字段。
根据方面1、2、3或4中的任一项的方面5,所述用户界面可以包括对于所述集合字段能够使用的聚合函数。
根据方面1、2、3、4或5中任一项的方面6,所述关系字段可以是表示所述数据结构中的一个数据元素到该数据结构中的第二数据元素的关系的父子字段。
根据方面1、2、3、4、5或6中任一项的方面7,所述结构化数据可以是结构化数据库,并且所述数据结构可以是该结构化数据库中的表。
根据方面1、2、3、4、5、6或7中任一项的方面8,所述结构化数据可以是一个或多个文件。
根据方面1、2、3、4、5、6、7或8中任一项的方面9,可以响应于接收到所述用户选择而生成所述报表。
根据方面1、2、3、4、5、6、7、8或9中任一项的方面10,所述用户界面可以使得能够使用所见即所得界面来交互式地创建报表,以及所述用户界面在完成包括数据值的报表之前近实时地提供该报表的视觉反馈。
根据方面1、2、3、4、5、6、7、8、9或10中任一项的方面11,生成用户界面还可以包括从用户接收对所述起始对象的选择。
根据方面1、2、3、4、5、6、7、8、9、10或11中任一项的方面12,所述自然语言名称可以包括针对所述结构化数据的一组限制字符中的至少一个字符。
根据方面1、2、3、4、5、6、7、8、9、10、11或12中任一项的方面13,基于所述结构化数据中的数据结构之间的关系来为所述对象创建关系字段可以包括:创建表示所述结构化数据中的主键-外键关系的关系对象。
该方面的其它实施例包括相应的计算机系统、设备以及记录在一个或多个计算机存储装置上的计算机程序,其各自进行上述方法的动作。一个或多个计算机的系统可以被配置为通过在系统上安装操作中使系统进行特定动作的软件、固件、硬件或它们的组合,来进行这些特定动作。一个或多个计算机程序可以被配置为通过包括在由数据处理设备执行时使该数据处理设备进行特定动作的指令,来进行这些特定动作。
这些方面可以包括以下优点中的一个或多个。可以实时更新报表,允许用户立即看到该报表的影响。可以快速地创建报表。
根据以下描述和权利要求书,本发明的其它特征和优点将变得显而易见
附图说明
图1示出用于构建报表的环境的示例。
图2示出将关系数据库映射为元模型的示例。
图3示出用于构建报表的用户界面的示例。
图4-6示出用于构建报表的用户界面的示例。
图7是用于构建报表的典型处理的流程图。
图8是用于构建报表的典型处理的流程图。
具体实施方式
报表工具是计算机程序,其目的是从诸如数据库、XML流或电子表格等的来源获取数据,并使用该数据以满足特定人类读者的格式来产生文档。在传统的报表工具中,专家用户设置一个视图,该视图提供对特定的一个报表或一组报表的数据的访问。一般来说,视图由理解底层数据的结构(例如,数据库的关系模型)的技术用户来设置。这些视图由常规的报表构建者使用并操作,以生成报表。然而,由于设置视图是手工处理,因此这些视图通常反映出底层数据模式的一小部分,或者可以专门针对特定的业务问题。
另外,这些视图一般不呈现数据的用户友好表示。当以关系模型表示时,这些视图通常会精确地呈现字段,这对报表工具的端用户来说可能并不直观。
相比之下,此处呈现的方法涉及两个新颖的元素,这两个新颖的元素使得创建报表的处理对于端用户而言更加直观、交互和高效。
首先是创建一个以业务友好的方式来描述关系数据的元模型的概念。以这样的方式对关系进行建模,以创建直观的层级元模型。
其次,使用报表构建器应用在高交互式用户界面(UI)中呈现元模型,以使得用户能够快速且容易地创建自组织报表和正式报表。当用户创建报表时,报表构建器UI提供即时反馈。可以经由拖放界面向报表添加列,并且可以以简单直接的方式应用过滤器。这些特征使得用户能够快速地进行自组织查验动作、并创建更多的正式报表以供一组广泛的用户执行。
元模型可以由底层数据源直接生成,或者由描述底层数据的规范生成。元模型标识对象、对象的字段、对象之间的关系、以及元模型中的对象和底层数据之间的映射。
这些关系是对称的,并且可以在任一方向上导航。例如,如果关系使得能够基于客户来标识订单,则相应的关系使得能够基于订单来标识客户。
图1示出用于构建报表的环境100的示例。数据源102可例如是关系数据库、对象数据库、结构化数据文件(诸如SGML或XML文件)、层级数据库、数据仓库、或者任何其它数据存储系统。一般来说,数据源102可以是可以标识数据记录的任何数据存储,并且其数据记录包括与各个字段相关联的值。
如以下进一步描述,在生成报表之前,模型生成器104可以读取数据源102或描述数据源的规范,并生成元模型。一次性地生成元模型,并将其保存以供用户界面后续使用。一般来说,元模型允许用户界面呈现用户友好形式的数据源。例如,元模型可以反映数据源中建立的、与业务概念相对应的约束和关系,同时消除或简化由于技术原因而建立的约束和关系。
元模型中的对象可以包括不同种字段。普通字段是向报表提供诸如名称、出生日期、数量和描述等的数据的简单字段。引用字段是指向元模型中的其它对象的字段。引用字段可以由底层数据源中的外键得到。元模型还可以包括集合字段。集合字段是与一对象相关联的其它对象的集合的逻辑表示。该对象与集合中的其它对象的关系是一对多。一般来说,在对象与至多一个目标对象相关联的情况下使用引用字段,并且在对象可以与许多目标对象相关联的情况下使用集合字段。
用户界面模块106读取模型生成器104所生成的元模型,并生成用户界面110以呈现给用户112。用户界面模块106可以例如在客户端装置上所执行的web浏览器上生成呈现给用户112的网页或应用。
用户112与用户界面110进行交互以生成报表。例如,用户界面110可以向用户界面模型106提供用户选择的报表信息。用户界面模块106可以向报表模块108提供报表信息。报表模块108对数据源102执行报表。在一些实现中,报表模块106可以使用报表信息以及来自模型生成器104的信息(例如,元模型)来生成报表。报表模块108的输出可以经由用户界面模块116而被返回至用户界面110,以呈现给用户112。这向用户112提供了近实时(例如,延迟少于5秒)的结果。这种工作流使得用户112能够看到在构建报表时对该报表进行更改的影响。
图2示出基于关系数据库来生成元模型的示例。在该示例中,在实体关系模型200中反映数据源102的结构。一般来说,可以通过在一个表的一行数据中包括引用第二个表的一行数据中的主键的外键,来建立表中多行数据之间的关系。一般来说,外键存储在允许表中具有外键的多行与表中没有外键的单一行相关联的关系的一侧。数据库可以描述一个表与另一个表如何相关。数据库中的关系可以描述两个对象之间的关系中的许多元素,这些元素通常被称为关系的基数。“一对一”表示表A中的一行与表B中的一行相关。“一对多”表示表A中的一行与表B中的多行相关。“多对多”表示表A中的多行与表B中的多行相关。
在该示例中,客户表202中的行可以与订单表210中的多行相关,并且订单表210中的各行可以与客户表202中的仅一行相关。如上所述,通过在订单表中引入标识客户表202中的行的外键来创建该关系。类似地,订单表210中的行可以与行项目表212中的多行相关,而行项目表212中的行可以与订单表210中的仅一行相关。产品表214中的行可以与行项目表212中的多行相关,而行项目表212中的行可以与产品表中的仅一行相关。
客户表202中的行可以与客户地址表204中的多行相关,并且客户地址表204中的行可以与客户表202中的一行相关。客户地址表204中的行可以与地址表206中的一行相关,并且地址表206中的行可以与客户地址表204中的多行相关。地址表206中的行可以与国家表208中的一行相关,而国家表208中的行可以与地址表206中的多行相关。
物理数据库的创建可以包括仅仅是为了简化数据库的管理和维护而存在的数据库表和关系的引入。例如,数据库规范化是组织关系数据库的字段和表以使冗余最小化的处理。规范化通常涉及将大表划分为较小的表、并定义它们之间的关系。规范化的数据库将数据隔离,使得可以只在一个表中进行字段的添加、删除和修改,然后使用所定义的关系在数据库的剩余部分中传播该字段。数据库规范化可以引入不一定与业务用户容易理解的概念相对应的表。例如,规范化的数据库通常引入表来解决多对多关系。例如,客户可以具有许多地址,并且许多客户可以住在同一地址处;客户表202和地址表206之间的这种多对多关系已经通过引入客户地址表204而得到了解决。这些仅用于解决其它表之间的多对多关系的表可被称为链接表。一般来说,链接表可能对业务用户几乎没有意义。
元模型生成器生成元模型216。一般来说,元模型216以一种与业务更密切相关而与数据集的物理实现不那么密切相关的方式来描述数据元素之间的关系。元模型中的关系是双向的。例如,客户218具有一个或多个地址220,并且地址220具有一个或多个客户218。类似地,客户218具有一个或多个订单226,并且订单226具有一个客户218。
元模型中的关系可被描述为引用关系,其中,对象仅与一个另一对象相关联(例如,订单对象226和客户218之间的关系)。可选地,元模型中的关系可被描述为集合关系(例如,客户218和订单226之间的关系)。
模型生成器可以最初生成针对关系数据库中的表的对象。模型生成器可以为对象创建与底层表中的字段相对应的字段。模型生成器还可以通过分析底层数据结构来标识元模型中的对象之间的关系;例如,模型生成器可以标识客户表和订单表之间的主键-外键关系。基于订单表中存在客户表的外键,模型生成器创建订单对象和客户对象之间的引用关系、以及客户对象和订单对象之间的集合关系。
可以基于预定的命名约定来确定名称。例如,可以使用驼峰命名法分离单词(例如,“FirstName”)来标记数据库中的字段,或者可以使用下划线来命名数据库中的字段(例如,“first_name”)。模型生成器可以基于将约定转译为用户友好名称来创建元模型的字段“名字(Fisrt Name)”。可以使用启发式、正则表达式或显式转换程序来进行转译。在一些实现中,元模型中所使用的名称可以是自然语言名称。自然语言或普通语言是偶然出现在人类大脑中的任何语言。因此,通常这些语言是人类用来通过言语、手势、触摸或写作进行彼此通信的语言。它们能够区别于结构化语言和正式语言,诸如用于对计算机进行编程或者用于学习逻辑的结构化语言和正式语言。这些名称可以由包括保留字符的无限制字符集创建。保留字符是不能使用的字母或符号,因为其正在另一位置中被数据库或操作系统利用。例如,许多操作系统保留以下字符:"\、/、:、*、?、"、<、>以及|",并且不允许使用这些字符。一些数据库限制空白字符的使用。在一些实现中,限制字符的集合可以取决于底层数据库或数据存储。
在一些实现中,模型可以标识在报表中包括对象的情况下用作默认字段的一个或多个数据字段。例如,客户对象可以具有作为两个默认字段的“名字”和“姓氏”。在一些实现中,默认字段可以是应用到一个或多个字段的公式;例如,客户对象的默认字段可以是名字和姓氏的串联。订单对象226的默认字段可以是订单号。产品对象228的默认字段可以是产品名称。模型中的每个其它对象还可以具有与对象相关联的默认字段。
元模型218还可以包括与字段有关的信息,其包括数据类型以及对字段的任何约束。例如,客户对象218可以包括名称字段(字符串)和出生日期字段(日期)。
用户可以向元模型添加富集(enrichment)。例如,图2中的虚线所表示地,用户可以在客户对象218和产品对象230之间创建链接。模型生成器可以基于所选对象之间的导航路径来确定关系的基数。在该示例中,导航路径为客户对象218到订单对象226到行项目对象228到产品对象230。基于这些对象之间的关系,模型生成器可以判断两个所选对象之间的关系是一对一、是一对多、是多对一、还是多对多关系。
图3示出用于构建报表的用户界面的示例。在该示例中,用户界面的左侧302是被组织到层级中的所选对象的元素。用户选择起始对象作为报表的目标对象(在该示例中为图2中的客户对象218)。可以在显示用户界面之前选择目标对象,或者可以使用用户界面上所显示的用户界面元素(未示出)来选择目标对象。
用户界面示出使用目标对象作为起始点的层级。
在客户元素304的下方是地址元素306和订单元素310。在地址元素的下方是国家元素307。在订单元素的下方是行项目元素。在行项目元素312的下方是产品元素314。如上所述,在元模型中,各关系具有相应的反向关系,该反向关系允许元模型中的关系在两个方向上导航(例如,从客户对象218到订单对象226以及从订单对象226到客户对象218)。在一些实现中,用户界面不显示反向关系。例如,客户对象304具有嵌套地址元素306,然而,由于客户元素304在层级中紧挨在地址元素306之前,因此用户界面不在地址元素306下方显示客户元素。换句话说,用户界面不允许用户从客户导航到地址并再次返回客户。由于用户界面基于将元模型从客户导航到地址来显示地址元素,因此用户界面将不会导航从地址到客户的关系。在一些实现中,用户界面包括防止呈现循环引用的逻辑。
层级中的用户界面中的图标可以表示元模型中的两个对象之间的关系的基数。例如,参考图2,模型216表示一个客户对象218可以与许多订单226相关;即,客户对象218和订单对象226之间的关系的基数是一对多。类似地,各订单对象226与一个客户对象218相关联,因此订单对象226和客户对象218之间的关系的基数是多对一。再次参考图3,嵌套在客户数据元素304下方的订单数据元素310以复数形式呈现(例如,“多个订单”而不是“一个订单”)。以复数形式呈现对象名称反映出客户(较高级数据元素)与许多订单相关。此外,可以使用图标来提供视觉指示;例如,在订单元素310旁边呈现的图标显示为多个文件夹,表示客户可以具有多个订单。相比之下,使用单数名词来描述产品元素314,并且该产品元素314包括显示为单个文件夹的图标。这将表示,各行项目可以仅具有一个产品。
用户界面还可以基于模型中的富集关系来显示对象。例如,对象315元素嵌套在客户元素304下方。
除了对象之外,用户界面还可以显示对象的字段(例如,出生日期字段308)。字段名称允许用户为报表添加对象的附加字段。
在一些实现中,用户界面可以将整个元模型加载到存储器中。将元模型加载到存储器中更有效,并使得层级能够以其它报表构建器中不存在的方式进行导航。例如,用户界面300可以将图2的元模型216保持在存储器中。当用户展开客户元素304时,用户界面300参考元模型216以便确定如何填充层级。在该示例中,参考图2,客户对象218与订单对象226和地址对象220相关。结果,再次参考图3,用户界面向嵌套在客户元素下方的层级添加订单元素310和地址元素306。类似地,当用户展开订单元素310时,用户界面300可以参考图2中的元模型216。在该示例中,参考图2,订单对象226与行项目对象228相关。结果,再次参考图3,用户界面向嵌套在订单元素310下方的层级添加行项目元素312。
如以下进一步讨论的,用户界面还可以包括用户可以创建报表的右侧。参考图4,用户可以从用户界面的左侧302选择元素,并将其拖动到或以其它方式将该元素放置在用户界面的右侧。向用户界面300的右侧338添加元素基于所添加的元素在报表中生成列。该列可以包括标题和来自底层数据的数据。例如,将客户元素304拖动到用户界面300的右侧338生成显示客户名称的报表的列340。类似地,将订单元素310拖动到用户界面300的右手侧338使得订单号列342被添加到报表。
例如,如果用户将客户元素304拖动到用户界面300的右手侧的画布322上,则利用来自底层模型中的客户对象的默认字段来填充报表。在该示例中,默认字段是客户名称。可以利用与来自底层数据源(例如,图1中的数据源102)中的客户表的多行的客户名称默认字段相对应的一个字段或多个字段的值来实时或近实时地填充报表。在该示例中,用客户名称“John Smith”和“Steve Miller”来填充报表。
在一些实现中,可以基于报表的报表主题来向该报表添加初始字段。
例如,在一个实现中,将客户元素304拖动到画布322上可以导致SQL语句的生成和执行:
SELECT CUSTOMER_TABLE.CUSTOMER_NAME FROM CUSTOMER_TABLE;
当用户将订单元素310拖动到画布322上时,利用来自订单对象的默认字段来填充报表;在该示例中,订单对象的默认字段是订单号326。如上所述,一将订单元素添加到画布上,就可以为数据库生成并获得相应的关系和查询。一般来说,对象和字段可被放置在报表中的任何位置。例如,用户可以在现有列之前、之后或之间放置一个新对象。用户界面还可以使得用户能够对这些列进行重新排序。
用于填充报表的值取自底层数据源中的订单表的多行,这些值与报表中已经存在的客户相关。在这种情况下,客户表中针对John Smith的一行数据与两个订单相关:订单#12345和订单#54321。例如,订单表中具有订单#12345的行具有作为用于引用与客户表中针对John Smith的行相关联的主键的外键的字段。客户表中针对Steve Miller的一行数据与订单表中的两行相关联:订单#84053和订单#12331。
例如,在一个实现中,在客户元素304之后将订单元素310拖动到画布322上可以导致SQL语句的生成和执行:
SELECT CUSTOMER_TABLE.CUSTOMER_NAME,ORDER_TABLE.ORDER_NUMBER FROMCUSTOMER_TABLE,ORDER_TABLE
WHERE CUSTOMER_TABLE.CUSTOMER_ID=ORDER_TABLE.CUSTOMER_ID;
在该示例中,基于层级关系,WHERE子句中所描述的关系包括在客户元素304和订单元素310之间。
类似地,如果用户将产品元素308拖动到画布322上,则可以更新报表以显示产品数据对象的默认字段(在这种情况下为产品名称328)。在这种情况下,报表包括基于分层级地位于订单元素310下方的产品元素314的选择而包括产品表和订单表之间的关系。
在该示例中,订单#12345包括两个产品:高尔夫球和铁杆套。订单#54321包括产品:高尔夫球袋。订单#84053包括两个产品:高尔夫球和高尔夫球座。订单#12331包括产品:球棒和木头杆套。
用户界面提供要添加到报表的聚合函数。聚合函数自动地对字段的值进行操作。聚合函数的示例包括COUNT,其显示字段内的总行数(取决于您指定的属性)。特别地,COUNT返回字段中的非NULL值的数量;COUNTDISTINCT显示字段中的唯一值的数量;MIN显示字段内的最小值。MAX显示字段内的最大值。SUM提供字段的值的总计。AVG显示字段的平均值(算术平均);其对字段中的值进行求和、并将总和除以值的总数;以及EXISTS显示表示字段中是否存在任何非NULL值的布尔值(真或假)。
一些聚合函数仅可用于不同类型的字段。例如,MIN和MAX可以用于处理日期和数值字段。AVG和SUM可以仅用于处理数值字段。
一般而言,聚合函数对集合字段进行操作。集合字段由聚合函数可以操作的一组值组成。用户界面使聚合函数可用于集合字段,前提是字段作为聚合函数是有效的。
用户界面可以只能显示对于字段和类型合适的聚合函数。例如,用户界面将不会显示对于字符串字段的AVG聚合。判断聚合函数是否合适可以包括分析元模型以获得字段名称、类型和基数。例如,用户界面可以判断为对于合适的聚合,在给定对象(例如,客户)与正被聚合的对象和字段(订单、行项目)之间一定存在一对多关系。
用户界面300包括聚合函数部分316。聚合部分可以基于报表的所选报表主题进行填充。在该示例中,聚合函数316包括订单聚合函数318。在订单聚合函数318的下方是订单的计数函数320、以及订单的计数区别322(即,呈现唯一值的数量的聚合函数)。
可以基于元模型的其它导航来显示附加聚合函数。例如,在订单聚合函数318的下方是行项目聚合函数324。行项目聚合函数包括行项目的计数326和计数区别328。
用户界面还使得用户能够将列分组在一起,并且添加跨分组列的名称。
用户界面还可以使得用户能够(例如,通过选择用户界面上的保存图标330)保存报表。保存特征可以存储所选元素、(如以下进一步讨论的)过滤器、和/或持久数据存储(例如,平面文件系统)中的所选字段。保存报表可以包括提供可用于标识所保存的报表的名称和引用。
用户界面还可以使得用户能够(例如,通过选择用户界面上的加载图标332)加载所保存的报表。用户界面还可以使得用户能够(例如,通过选择刷新图标334)刷新或重新执行报表。虽然这些特征中的每一个特征以图标的方式进行描述,但可以使用包括但不限于色带上的区域、按钮、菜单选择项等的其它视觉表示。
图5示出创建示例报表。用户界面300可以显示与简单字段、引用字段或集合有关的附加信息。例如,将鼠标悬停在国家元素307上可以导致出现一个弹出框502。该弹出框可以显示与国家元素307有关的附加信息,包括底层数据集的名称、底层数据集中的相应字段的名称、以及字段的数据类型。
用户界面300还可以允许用户对报表中的字段或者与报表中所包括的对象相关的字段应用过滤器。例如,用户可以选择对客户元素304进行过滤。系统可以呈现过滤器用户界面区域504。过滤器用户界面可以包括对报表进行过滤可以依据的不同字段和对象的层级。例如,过滤器界面区域504包括地址集合506、名称字段508、以及订单集合。如果用户例如选择订单集合,则如上所述,该订单集合可以展开以呈现与订单对象相关联的简单字段、引用字段和集合字段。
用户可以选择一个元素(例如,名称元素508),并且以与选择报表中所包括的字段类似的方式将该元素拖动到用户界面300的右侧322上。用户界面可以显示过滤信息;这可以例如包括对报表进行过滤所要依据的字段的名称、使得用户能够选择过滤器的类型的选择框514、以及允许用户向过滤器中提供文本信息的值字段516。过滤器的类型包括但不限于判断字段是否以某个值开始、是否以某个值结束、是否包含某个值、是否正好为某个值、以及是否不是某个值。一些过滤器可以基于数据类型可用;例如,数值字段可以包括诸如判断该字段是大于某个值还是小于某个值的过滤器。
在该示例中,用户选择了名称字段508(“包含”过滤器514),并输入术语“SteveMiller”作为值516。响应于选择字段、过滤器操作和值,更新报表以反映过滤器。例如,画布322上的报表仅呈现John Smith所定购的或者与John Smith相关联的订单。在一些实现中,在选择了字段和值的情况下,可以立即发生过滤。在其它实现中,过滤可能需要用户的进一步动作。例如,用户可能需要选择用户界面上所呈现的过滤器图标(未示出)。
选择不同的最高级元素可能导致不同报表的呈现和创建。例如,参考图6,示出用于构建报表的用户界面600。如以上示例中,用户界面的左侧602是被组织到层级中的所选对象的元素。在该示例中,用户选择了产品对象,作为报表的目标对象。
在产品元素604的下方是行项目元素606和客户元素。在行项目元素606的下方是订单元素607。在订单元素607的下方是客户元素608。在客户元素608的下方是地址元素610。在客户元素612的下方是地址元素614。
用户可以从用户界面的左侧602选择元素,并将其拖动到或以其它方式将该元素放置在用户界面的右侧。向用户界面600的右侧638添加元素基于所添加的元素在报表中生成列。该列可以包括标题和来自底层数据的数据。例如,将产品元素604拖动到用户界面600的右侧668生成显示产品名称的报表的列640。类似地,将客户元素612拖动到用户界面600的右手侧638使得客户列642被添加到报表。可选地,将客户元素608拖动到用户界面600的右侧668上可以具有与将客户元素612拖动到右侧相同的效果。
将地址元素614拖动到用户界面600的右手侧668使得地址列646被添加到报表。图7是用于构建报表的典型处理700的流程图。处理700可以由进行该处理的计算机系统来进行。
获得模型(702)。该模型可以包括表示数据源中的数据结构的对象、和表示数据结构之间的关系的对象之间的链接,其中,模型中的各对象标识相应数据结构中的至少一个默认字段。数据源可以例如是关系数据库。可以由数据源中的数据结构生成模型。例如,在一个实现中,可以基于表以及关系数据库中的表间关系来生成模型。
对于模型中的各对象,模型还可以定义与对象相关联的默认字段。例如,客户对象可以具有“客户名称”,作为默认字段。该默认字段可以与数据源的数据结构中的一个或多个字段相对应。在一些实现中,默认字段可以是数据结构中所存储的数据的转换或以其它方式修改后的版本。例如,默认字段可以是两个或更多其它字段的串联,或者默认字段可以包括被转换为不同格式的数据。
生成用户界面(704)。用户界面包括被组织到层级中的元素。各元素可以与模型中的对象相对应。用户界面可以是定制的独立应用、或者被发送至客户端装置的网页。
接收元素的用户选择(706)。用户可以通过例如单击元素、双击、将元素从层级拖动到画布上、轻触基于触摸的用户界面、或者通过任何其它选择机机制来选择元素。
生成报表(708)。为了生成报表,处理可以标识与元素相对应的模型对象。例如,如果用户选择标记为“客户”的元素,则处理可以将客户对象标识为所请求的对象。处理可以标识与对象相对应的数据结构。例如,处理可以标识为CUSTOMER_TABLE与模型中的客户对象相关联。处理可以从数据源中所标识的数据结构中的至少一个默认字段获得数据。例如,如果客户名称是与客户对象相关联的默认字段,则处理可以从数据源中的客户数据结构获得客户名称数据。
向用户呈现数据。可以在无需来自客户端的后续或介入动作的情况下呈现数据。可以将数据呈现为表格式报表,或者可以以其它方式对数据进行转换或修改。例如,可以在呈现数据之前对该数据进行聚合、解析、制图、放桶或以其它方式进行修改。
图8是用于构建报表的典型处理800的流程图。处理800可以由进行该处理的计算机系统来进行。
创建模型(802)。可以基于结构化数据(例如,关系数据库的数据库模式)来创建模型。结构化数据可以包括具有数据元素的数据结构(例如,表)。各数据元素可以具有命名字段。
创建模型可以包括基于结构化数据中的数据结构之一来创建模型中的对象。将结构中的字段名称转译为自然语言名称。可以使用查找表、启发式、转换函数、或者通过任何其它转换机制来进行转译字段的名称。
为具有自然语言名称的对象创建字段。
创建模型还包括创建表示结构化数据中的两个数据结构之间的关系的关系字段。例如,可以基于关系数据库中的主键-外键关系来创建关系字段。关系字段可以是表示在一些关系中多个对象可以与单个对象相关联的集合。
生成模型中的对象的层级(804)。可以通过关于起始对象组织对象来生成层级。在一些情况下,可以通过使用户与用户界面进行交互来选择起始对象。
生成包括层级中的一个或多个对象的元素的用户界面(806)。用户界面可以包括表示模型中的对象的用户界面元素。根据层级来组织用户界面元素。用户界面可以使得用户能够使用自然语言名称来创建报表并对报表进行过滤。用户界面还可以包括聚合函数和过滤函数。聚合函数使得用户能够聚合与字段有关的信息。过滤器函数使得用户能够限制报表中所呈现的值。
可以接收用户对一个或多个元素的选择(808)。用户可以例如通过将元素从画面的一个部分拖放到画面的另一部分来选择元素。
生成报表(808)。为生成报表,系统可以标识与所选元素相对应的数据结构。从所标识的数据结构中的至少一个字段获得数据。并且将该数据呈现给用户。可以使用WYSIWYG界面来生成报表。例如,用户可以向报表添加字段,并且报表可以刷新并显示来自数据源的值。这使得用户能够得到与报表的质量有关的即时反馈,从而允许快速迭代。
上述的报表构建方法可以使用执行合适软件的计算系统来实现。例如,该软件可以包括在一个或多个编程或可编程计算系统(可以具有诸如分布式、客户端/服务器或网格式等的各种架构)上执行的一个或多个计算机程序中的过程,其中该一个或多个编程或可编程计算系统各自包括至少一个处理器、至少一个数据存储系统(包括易失性和/或非易失性存储器和/或存储元件)、以及至少一个用户接口(用于使用至少一个输入装置或端口来接收输入,并且用于使用至少一个输出装置或端口来提供输出)。该软件可以包括例如提供与数据流图的设计、配置和执行有关的服务的较大程序的一个或多个模块。可以将程序的模块(例如,数据流图的元素)实现为数据结构或符合数据存储库中所存储的数据模型的其它有组织数据。
可以将软件设置在诸如(利用通用或专用计算系统或装置可读取的)CD-ROM或其它计算机可读介质等的有形、非暂时性介质上、或者经由网络的通信介质(例如,以编码在传播信号中的形式)传递至执行该软件的计算系统的有形、非暂时性介质。可以在专用计算机上、或者使用专用硬件(诸如协处理器或现场可编程门阵列(FPGA)或专用特定用途集成电路(ASIC))来进行一些或所有处理。可以以利用不同的计算元件来进行软件所指定的计算的不同部分的分布式方式来实现该处理。优选将每一个这种计算机程序存储在通用或专用可编程计算机可读取的存储装置的计算机可读存储介质(例如,固态存储器或介质、或者磁性或光学介质)上或者下载至该存储介质,以在利用计算机读取存储装置介质以进行这里所述的处理的情况下配置计算机并使该计算机进行工作。本发明的系统还可被视为作为配置有计算机程序的有形、非暂时性介质来实现,其中如此配置成的介质使计算机以特定的且预定义的方式进行工作,以进行这里所述的处理步骤中的一个或多个。
已经描述了本发明的许多实施例。然而,应当理解,前述描述旨在示出而不是限制本发明的范围,该范围由所附权利要求书的范围限定。因此,其它实施例也在所附权利要求书的范围内。例如,可以在不偏离本发明的范围的情况下作出各种修改。另外,上述步骤中的一些可以是与顺序无关的,因此可以按照与所描述的顺序不同的顺序进行。
Claims (39)
1.一种计算机实现方法,包括:
基于结构化数据来创建模型,所述结构化数据包括数据结构,各数据结构具有数据元素,各数据元素具有字段,各字段具有名称,其中,创建所述模型包括:
基于所述结构化数据中的数据结构来创建所述模型中的对象;
将所述数据结构中的字段的名称转译为自然语言名称;
为具有所述自然语言名称的对象创建字段;
基于所述结构化数据中的数据结构之间的关系来为所述对象创建关系字段;
生成模型中的对象的层级,所述层级根据与所述对象有关的关系字段相对于起始对象来组织所述对象;
生成包括所述层级中的一个或多个对象的元素的用户界面,其中,该用户界面使得用户能够使用所述自然语言名称来创建报表并对该报表进行过滤;
接收从所述元素中对元素的用户选择;以及
生成报表,生成报表包括:
标识与所述元素相对应的数据结构;
从数据源中所标识的数据结构中的至少一个字段获得数据;以及
将该数据呈现给所述用户。
2.根据权利要求1所述的方法,其中,转译名称包括使用查找表来转译名称。
3.根据权利要求1所述的方法,其中,所述关系字段是表示所述数据结构中的一个数据元素到第二数据结构中的一个第二数据元素的关系的引用字段。
4.根据权利要求1所述的方法,其中,所述关系字段是表示所述数据结构中的一个数据元素到第二数据结构中的多个第二数据元素的关系的集合字段。
5.根据权利要求4所述的方法,其中,所述用户界面包括对于所述集合字段能够使用的聚合函数。
6.根据权利要求1所述的方法,其中,所述关系字段是表示所述数据结构中的一个数据元素到该数据结构中的第二数据元素的关系的父子字段。
7.根据权利要求1所述的方法,其中,所述结构化数据是结构化数据库,并且所述数据结构是该结构化数据库中的表。
8.根据权利要求1所述的方法,其中,所述结构化数据是一个或多个文件。
9.根据权利要求1所述的方法,其中,响应于接收到所述用户选择而生成所述报表。
10.根据权利要求1所述的方法,其中,所述用户界面使得能够使用所见即所得界面来交互式地创建报表,以及所述用户界面在完成包括数据值的报表之前近实时地提供该报表的视觉反馈。
11.根据权利要求1所述的方法,其中,生成用户界面还包括从用户接收对所述起始对象的选择。
12.根据权利要求1所述的方法,其中,所述自然语言名称包括针对所述结构化数据的一组限制字符中的至少一个字符。
13.根据权利要求1所述的方法,其中,基于所述结构化数据中的数据结构之间的关系来为所述对象创建关系字段包括:创建表示所述结构化数据中的主键-外键关系的关系对象。
14.一种非暂时性计算机存储介质,其编码有在由一个或多个计算机执行时使所述一个或多个计算机进行包括以下步骤的操作的计算机程序指令:
基于结构化数据来创建模型,所述结构化数据包括数据结构,各数据结构具有数据元素,各数据元素具有字段,各字段具有名称,其中,创建所述模型包括:
基于所述结构化数据中的数据结构来创建所述模型中的对象;
将所述数据结构中的字段的名称转译为自然语言名称;
为具有所述自然语言名称的对象创建字段;
基于所述结构化数据中的数据结构之间的关系来为所述对象创建关系字段;
生成模型中的对象的层级,所述层级根据与所述对象有关的关系字段相对于起始对象来组织所述对象;
生成包括所述层级中的一个或多个对象的元素的用户界面,其中,该用户界面使得用户能够使用所述自然语言名称来创建报表并对该报表进行过滤;
接收从所述元素中对元素的用户选择;以及
生成报表,生成报表包括:
标识与所述元素相对应的数据结构;
从数据源中所标识的数据结构中的至少一个字段获得数据;以及
将该数据呈现给所述用户。
15.根据权利要求14所述的非暂时性计算机可读介质,其中,转译名称包括使用查找表来转译名称。
16.根据权利要求14所述的非暂时性计算机可读介质,其中,所述关系字段是表示所述数据结构中的一个数据元素到第二数据结构中的一个第二数据元素的关系的引用字段。
17.根据权利要求14所述的非暂时性计算机可读介质,其中,所述关系字段是表示所述数据结构中的一个数据元素到第二数据结构中的多个第二数据元素的关系的集合字段。
18.根据权利要求17所述的非暂时性计算机可读介质,其中,所述用户界面包括对于所述集合字段能够使用的聚合函数。
19.根据权利要求14所述的非暂时性计算机可读介质,其中,所述关系字段是表示所述数据结构中的一个数据元素到该数据结构中的第二数据元素的关系的父子字段。
20.根据权利要求14所述的非暂时性计算机可读介质,其中,所述结构化数据是结构化数据库,并且所述数据结构是该结构化数据库中的表。
21.根据权利要求14所述的非暂时性计算机可读介质,其中,所述结构化数据是一个或多个文件。
22.根据权利要求14所述的非暂时性计算机可读介质,其中,响应于接收到所述用户选择而生成所述报表。
23.根据权利要求14所述的非暂时性计算机可读介质,其中,所述用户界面使得能够使用所见即所得界面来交互式地创建报表,以及所述用户界面在完成包括数据值的报表之前近实时地提供该报表的视觉反馈。
24.根据权利要求14所述的非暂时性计算机可读介质,其中,生成用户界面还包括从用户接收对所述起始对象的选择。
25.根据权利要求14所述的非暂时性计算机可读介质,其中,所述自然语言名称包括针对所述结构化数据的一组限制字符中的至少一个字符。
26.根据权利要求14所述的非暂时性计算机可读介质,其中,基于所述结构化数据中的数据结构之间的关系来为所述对象创建关系字段包括:创建表示所述结构化数据中的主键-外键关系的关系对象。
27.一种系统,包括:
一个或多个计算机以及用于存储指令的一个或多个存储装置,所述指令在由所述一个或多个计算机执行时能够操作以使所述一个或多个计算机进行包括以下步骤的操作:
基于结构化数据来创建模型,所述结构化数据包括数据结构,各数据结构具有数据元素,各数据元素具有字段,各字段具有名称,其中,创建所述模型包括:
基于所述结构化数据中的数据结构来创建所述模型中的对象;
将所述数据结构中的字段的名称转译为自然语言名称;
为具有所述自然语言名称的对象创建字段;
基于所述结构化数据中的数据结构之间的关系来为所述对象创建关系字段;
生成模型中的对象的层级,所述层级根据与所述对象有关的关系字段相对于起始对象来组织所述对象;
生成包括所述层级中的一个或多个对象的元素的用户界面,其中,该用户界面使得用户能够使用所述自然语言名称来创建报表并对该报表进行过滤;
接收从所述元素中对元素的用户选择;以及
生成报表,生成报表包括:
标识与所述元素相对应的数据结构;
从数据源中所标识的数据结构中的至少一个字段获得数据;以及
将该数据呈现给所述用户。
28.根据权利要求27所述的系统,其中,转译名称包括使用查找表来转译名称。
29.根据权利要求27所述的系统,其中,所述关系字段是表示所述数据结构中的一个数据元素到第二数据结构中的一个第二数据元素的关系的引用字段。
30.根据权利要求27所述的系统,其中,所述关系字段是表示所述数据结构中的一个数据元素到第二数据结构中的多个第二数据元素的关系的集合字段。
31.根据权利要求30所述的系统,其中,所述用户界面包括对于所述集合字段能够使用的聚合函数。
32.根据权利要求27所述的系统,其中,所述关系字段是表示所述数据结构中的一个数据元素到该数据结构中的第二数据元素的关系的父子字段。
33.根据权利要求27所述的系统,其中,所述结构化数据是结构化数据库,并且所述数据结构是该结构化数据库中的表。
34.根据权利要求27所述的系统,其中,所述结构化数据是一个或多个文件。
35.根据权利要求27所述的系统,其中,响应于接收到所述用户选择而生成所述报表。
36.根据权利要求27所述的系统,其中,所述用户界面使得能够使用所见即所得界面来交互式地创建报表,以及所述用户界面在完成包括数据值的报表之前近实时地提供该报表的视觉反馈。
37.根据权利要求27所述的系统,其中,生成用户界面还包括从用户接收对所述起始对象的选择。
38.根据权利要求27所述的系统,其中,所述自然语言名称包括针对所述结构化数据的一组限制字符中的至少一个字符。
39.根据权利要求27所述的系统,其中,基于所述结构化数据中的数据结构之间的关系来为所述对象创建关系字段包括:创建表示所述结构化数据中的主键-外键关系的关系对象。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462093666P | 2014-12-18 | 2014-12-18 | |
US62/093,666 | 2014-12-18 | ||
US14/717,633 | 2015-05-20 | ||
US14/717,633 US11288290B2 (en) | 2014-12-18 | 2015-05-20 | Building reports |
PCT/US2015/066335 WO2016100641A1 (en) | 2014-12-18 | 2015-12-17 | Building reports |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107111639A true CN107111639A (zh) | 2017-08-29 |
CN107111639B CN107111639B (zh) | 2021-07-27 |
Family
ID=55085922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580069242.9A Active CN107111639B (zh) | 2014-12-18 | 2015-12-17 | 构建报表 |
Country Status (9)
Country | Link |
---|---|
US (1) | US11288290B2 (zh) |
EP (1) | EP3234809B1 (zh) |
JP (1) | JP6518768B2 (zh) |
KR (1) | KR102330547B1 (zh) |
CN (1) | CN107111639B (zh) |
AU (2) | AU2015364608A1 (zh) |
CA (1) | CA2970040C (zh) |
SG (1) | SG11201704339SA (zh) |
WO (1) | WO2016100641A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522322A (zh) * | 2018-11-28 | 2019-03-26 | 成都四方伟业软件股份有限公司 | 报表层级构建方法及装置 |
CN110738037A (zh) * | 2019-10-15 | 2020-01-31 | 深圳逻辑汇科技有限公司 | 用于自动生成电子表格的方法、装置、设备及存储介质 |
CN112540760A (zh) * | 2020-12-08 | 2021-03-23 | 杭州讯酷科技有限公司 | 一种基于数据源字段的ui界面快速构建方法 |
CN112580317A (zh) * | 2020-12-29 | 2021-03-30 | 江苏金财信息技术有限公司 | 一种快速生成带层级汇总的动态交叉二维表的方法 |
CN113988004A (zh) * | 2021-10-18 | 2022-01-28 | 金蝶云科技有限公司 | 报表显示方法、装置、计算机设备和存储介质 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10156963B2 (en) * | 2015-07-06 | 2018-12-18 | Adp, Llc | Report management system |
US10162881B2 (en) * | 2017-01-17 | 2018-12-25 | Maana, Inc. | Machine-assisted key discovery and join generation |
US10657152B2 (en) * | 2017-05-31 | 2020-05-19 | Microsoft Technology Licensing, Llc | Synchronization of diagrams and associated structured data |
US10318524B2 (en) | 2017-11-15 | 2019-06-11 | Accenture Global Solutions Limited | Reporting and data governance management |
US10289620B1 (en) * | 2017-11-15 | 2019-05-14 | Accenture Global Solutions Limited | Reporting and data governance management |
US10546056B1 (en) * | 2018-06-01 | 2020-01-28 | Palantir Technologies Inc. | Transformation in tabular data cleaning tool |
US11074053B2 (en) * | 2018-09-07 | 2021-07-27 | Boyd Cannon Multerer | User interface generation system |
US11068138B2 (en) * | 2018-09-14 | 2021-07-20 | Adp, Llc | Report management system |
JP2022045416A (ja) * | 2020-09-09 | 2022-03-22 | 富士通株式会社 | データ処理プログラム、データ処理装置、及びデータ処理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060116859A1 (en) * | 2004-11-30 | 2006-06-01 | Thomas Legault | Reporting model generation within a multidimensional enterprise software system |
US20060195460A1 (en) * | 2005-02-28 | 2006-08-31 | Microsoft Corporation | Data model for object-relational data |
US8027997B2 (en) * | 2004-12-22 | 2011-09-27 | International Business Machines Corporation | System and article of manufacture for defining and generating a viewtype for a base model |
CN103020158A (zh) * | 2012-11-26 | 2013-04-03 | 中兴通讯股份有限公司 | 一种报表创建方法、装置和系统 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0789333B2 (ja) | 1986-01-27 | 1995-09-27 | 株式会社日立製作所 | データベースの制御方法 |
US5701453A (en) * | 1993-07-01 | 1997-12-23 | Informix Software, Inc. | Logical schema to allow access to a relational database without using knowledge of the database structure |
US5819086A (en) | 1995-06-07 | 1998-10-06 | Wall Data Incorporated | Computer system for creating semantic object models from existing relational database schemas |
US6134541A (en) | 1997-10-31 | 2000-10-17 | International Business Machines Corporation | Searching multidimensional indexes using associated clustering and dimension reduction information |
US6370537B1 (en) * | 1999-01-14 | 2002-04-09 | Altoweb, Inc. | System and method for the manipulation and display of structured data |
US7152228B2 (en) * | 1999-07-08 | 2006-12-19 | Science Applications International Corporation | Automatically generated objects within extensible object frameworks and links to enterprise resources |
US6418427B1 (en) | 1999-12-30 | 2002-07-09 | Decode Genetics Ehf | Online modifications of dimension structures in multidimensional processing |
US6768986B2 (en) | 2000-04-03 | 2004-07-27 | Business Objects, S.A. | Mapping of an RDBMS schema onto a multidimensional data model |
US9600842B2 (en) * | 2001-01-24 | 2017-03-21 | E-Numerate Solutions, Inc. | RDX enhancement of system and method for implementing reusable data markup language (RDL) |
US6778979B2 (en) * | 2001-08-13 | 2004-08-17 | Xerox Corporation | System for automatically generating queries |
US6714940B2 (en) | 2001-11-15 | 2004-03-30 | International Business Machines Corporation | Systems, methods, and computer program products to rank and explain dimensions associated with exceptions in multidimensional data |
US8868544B2 (en) | 2002-04-26 | 2014-10-21 | Oracle International Corporation | Using relational structures to create and support a cube within a relational database system |
US7313561B2 (en) * | 2003-03-12 | 2007-12-25 | Microsoft Corporation | Model definition schema |
US7610300B2 (en) * | 2004-11-30 | 2009-10-27 | International Business Machines Corporation | Automated relational schema generation within a multidimensional enterprise software system |
US20070005654A1 (en) * | 2005-05-20 | 2007-01-04 | Avichai Schachar | Systems and methods for analyzing relationships between entities |
US7647298B2 (en) * | 2006-03-23 | 2010-01-12 | Microsoft Corporation | Generation of query and update views for object relational mapping |
US7783862B2 (en) * | 2006-08-07 | 2010-08-24 | International Characters, Inc. | Method and apparatus for an inductive doubling architecture |
JP2009003549A (ja) | 2007-06-19 | 2009-01-08 | Japan Lucida Co Ltd | データ管理装置およびデータ管理方法、データ管理プログラム、データ管理プログラム記憶媒体 |
US8856182B2 (en) * | 2008-01-25 | 2014-10-07 | Avaya Inc. | Report database dependency tracing through business intelligence metadata |
US8656349B2 (en) * | 2008-03-07 | 2014-02-18 | Sap Ag | Systems and methods for template reverse engineering |
AU2011201360B2 (en) * | 2010-03-25 | 2016-10-27 | Rl Solutions | Systems and methods for creating a form for receiving data relating to a health care incident |
US9104754B2 (en) * | 2011-03-15 | 2015-08-11 | International Business Machines Corporation | Object selection based on natural language queries |
US9110883B2 (en) * | 2011-04-01 | 2015-08-18 | Rima Ghannam | System for natural language understanding |
US9342555B2 (en) * | 2013-08-30 | 2016-05-17 | International Business Machines Corporation | Reporting tools for object-relational databases |
-
2015
- 2015-05-20 US US14/717,633 patent/US11288290B2/en active Active
- 2015-12-17 CA CA2970040A patent/CA2970040C/en active Active
- 2015-12-17 JP JP2017532792A patent/JP6518768B2/ja active Active
- 2015-12-17 WO PCT/US2015/066335 patent/WO2016100641A1/en active Application Filing
- 2015-12-17 SG SG11201704339SA patent/SG11201704339SA/en unknown
- 2015-12-17 AU AU2015364608A patent/AU2015364608A1/en not_active Abandoned
- 2015-12-17 KR KR1020177018592A patent/KR102330547B1/ko active IP Right Grant
- 2015-12-17 EP EP15823457.5A patent/EP3234809B1/en active Active
- 2015-12-17 CN CN201580069242.9A patent/CN107111639B/zh active Active
-
2020
- 2020-10-26 AU AU2020260374A patent/AU2020260374B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060116859A1 (en) * | 2004-11-30 | 2006-06-01 | Thomas Legault | Reporting model generation within a multidimensional enterprise software system |
US8027997B2 (en) * | 2004-12-22 | 2011-09-27 | International Business Machines Corporation | System and article of manufacture for defining and generating a viewtype for a base model |
US20060195460A1 (en) * | 2005-02-28 | 2006-08-31 | Microsoft Corporation | Data model for object-relational data |
CN103020158A (zh) * | 2012-11-26 | 2013-04-03 | 中兴通讯股份有限公司 | 一种报表创建方法、装置和系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522322A (zh) * | 2018-11-28 | 2019-03-26 | 成都四方伟业软件股份有限公司 | 报表层级构建方法及装置 |
CN109522322B (zh) * | 2018-11-28 | 2020-11-10 | 成都四方伟业软件股份有限公司 | 报表层级构建方法及装置 |
CN110738037A (zh) * | 2019-10-15 | 2020-01-31 | 深圳逻辑汇科技有限公司 | 用于自动生成电子表格的方法、装置、设备及存储介质 |
CN110738037B (zh) * | 2019-10-15 | 2021-02-05 | 深圳逻辑汇科技有限公司 | 用于自动生成电子表格的方法、装置、设备及存储介质 |
WO2021073077A1 (zh) * | 2019-10-15 | 2021-04-22 | 深圳逻辑汇科技有限公司 | 用于自动生成电子表格的方法、装置、设备及存储介质 |
CN112540760A (zh) * | 2020-12-08 | 2021-03-23 | 杭州讯酷科技有限公司 | 一种基于数据源字段的ui界面快速构建方法 |
CN112540760B (zh) * | 2020-12-08 | 2024-05-28 | 杭州讯酷科技有限公司 | 一种基于数据源字段的ui界面快速构建方法 |
CN112580317A (zh) * | 2020-12-29 | 2021-03-30 | 江苏金财信息技术有限公司 | 一种快速生成带层级汇总的动态交叉二维表的方法 |
CN113988004A (zh) * | 2021-10-18 | 2022-01-28 | 金蝶云科技有限公司 | 报表显示方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3234809A1 (en) | 2017-10-25 |
AU2015364608A1 (en) | 2017-06-15 |
AU2020260374A1 (en) | 2020-11-26 |
SG11201704339SA (en) | 2017-06-29 |
EP3234809B1 (en) | 2024-02-28 |
US20160179930A1 (en) | 2016-06-23 |
KR20170098854A (ko) | 2017-08-30 |
AU2020260374B2 (en) | 2022-09-29 |
CA2970040C (en) | 2024-06-18 |
CN107111639B (zh) | 2021-07-27 |
KR102330547B1 (ko) | 2021-11-23 |
JP6518768B2 (ja) | 2019-05-22 |
US11288290B2 (en) | 2022-03-29 |
CA2970040A1 (en) | 2016-06-23 |
WO2016100641A1 (en) | 2016-06-23 |
JP2018500680A (ja) | 2018-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107111639A (zh) | 构建报表 | |
CN113272801B (zh) | 根据选择的数据源的对象模型生成数据可视化 | |
CN104036040B (zh) | 报表生成方法及装置 | |
CN111542813B (zh) | 使用异构数据的对象模型来便于建立数据可视化 | |
CN105849726B (zh) | 用于高效地支持通过分层标记数据的即席查询的通用索引 | |
US10379710B2 (en) | Modeling system for graphic user interface | |
EP2463790B1 (en) | Manipulation of elements and their attributes in graphical user interfaces | |
CN110673848B (zh) | 一种基于JavaWeb的企业信息管理系统配置装置 | |
CN102456067B (zh) | 用于传送二次选择反馈的方法和设备 | |
CN109947998A (zh) | 跨异构系统的网络的计算数据沿袭 | |
CN108352003A (zh) | 通过协同数据库服务的单选或多选数据呈现 | |
US20140317563A1 (en) | Generate field mapping | |
CN105404507A (zh) | 一种流程模板的构建方法及系统 | |
CN104699742A (zh) | 使能扩展大型数据集的极端可视化 | |
CN110249356B (zh) | 一种用户定义的erp功能的共享方法及系统 | |
US10552423B2 (en) | Semantic tagging of nodes | |
CN104685467A (zh) | 图形地表示编程属性 | |
US10338894B2 (en) | Generating applications based on data definition language (DDL) query view and application page template | |
US10650044B2 (en) | Method and apparatus for converting from a source database system to a destination database system | |
US20150293947A1 (en) | Validating relationships between entities in a data model | |
US20170161926A1 (en) | Rendering data visualizations in different analytical applications | |
US8078982B2 (en) | Automatic creation of data relationships | |
US20140130008A1 (en) | Generating information models | |
US20090300533A1 (en) | ETL tool utilizing dimension trees | |
US20140136257A1 (en) | In-memory analysis scenario builder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |