CN113260987A - 生成数据库查询以动态地聚合数据集的行 - Google Patents
生成数据库查询以动态地聚合数据集的行 Download PDFInfo
- Publication number
- CN113260987A CN113260987A CN201980075668.3A CN201980075668A CN113260987A CN 113260987 A CN113260987 A CN 113260987A CN 201980075668 A CN201980075668 A CN 201980075668A CN 113260987 A CN113260987 A CN 113260987A
- Authority
- CN
- China
- Prior art keywords
- column
- rows
- determining
- dataset
- database query
- 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.)
- Pending
Links
Images
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/24—Querying
- G06F16/242—Query formulation
- G06F16/2428—Query predicate definition using graphical user interfaces, including menus and forms
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- 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/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
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)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
生成数据库查询以动态聚合数据集的行包括:确定电子表格结构内的第一列和第二列之间的层次关系,其中,所述第一列和所述第二列包括所述数据集的行;接收所述电子表格结构内的第三列的计算;确定所述第三列与所述第一列处于相同的层次级别;以及响应于确定所述第三列与所述第一列处于相同的层次级别,基于所述第三列的所述计算以及所述第一列和所述第二列之间的层次关系,生成聚合所述数据集的多行的数据库查询。
Description
技术领域
本发明的领域是数据处理,或者更具体地说,是用于生成数据库查询以动态地聚合数据集的行的方法、装置和产品。
背景技术
现代企业可以在基于云的数据仓库内的远程数据库中存储大量数据。可以使用数据库查询语言,例如结构化查询语言(SQL)来访问该数据。然而,数据的不同呈现和配置可能需要构造复杂的查询,这对于大多数用户而言可能是困难的。
发明内容
在本说明书中公开了用于生成数据库查询以动态聚合数据集的行的方法、系统和装置。生成数据库查询以动态聚合数据集的行包括:确定电子表格结构内的第一列和第二列之间的层次关系,其中,所述第一列和所述第二列包括所述数据集的行;接收所述电子表格结构内的第三列的计算;确定所述第三列与所述第一列处于相同的层次级别;以及响应于确定所述第三列与所述第一列处于相同的层次级别,基于所述第三列的所述计算以及所述第一列和所述第二列之间的层次关系,生成聚合所述数据集的多行的数据库查询。
本发明的上述和其它目的、特征和优点将从下面对本发明的示例性的实施方案的更具体的描述中变得显而易见,如附图中所示,其中相同的附图标记通常表示本发明的示例性的实施方案的相同部分。
附图说明
图1示出了根据本发明的实施方案的示例性系统的框图,该示例性系统被配置为生成数据库查询以动态地聚合数据集的行。
图2示出了根据本发明的实施方案的示例性系统的框图,该示例性系统被配置为生成数据库查询以动态地聚合数据集的行。
图3示出了根据本发明的实施方案的示例性系统的框图,该示例性系统被配置为生成数据库查询以动态地聚合数据集的行。
图4示出了流程图,其说明了根据本发明的实施方案的用于生成数据库查询以动态地聚合数据集的行的示例性方法。
图5示出了流程图,其说明了根据本发明的实施方案的用于生成数据库查询以动态地聚合数据集的行的示例性方法。
图6示出了流程图,其说明了根据本发明的实施方案的用于生成数据库查询以动态地聚合数据集的行的示例性方法。
图7示出了流程图,其说明了根据本发明的实施方案的用于生成数据库查询以动态地聚合数据集的行的示例性方法。
图8示出了流程图,其说明了根据本发明的实施方案的用于生成数据库查询以动态地聚合数据集的行的示例性方法。
具体实施方式
参考附图,从图1开始,描述了用于在根据本发明的用于生成数据库查询以动态地聚合数据集的行的示例性方法、装置和产品。图1示出了根据本发明的实施方案的自动计算机器的框图,该自动计算机器包括被配置为用于生成数据库查询以动态地聚合数据集的行的示例性计算系统(152)。图1的计算系统(152)包括至少一个计算机处理器(156)或“CPU”,以及通过高速存储器总线(166)和总线适配器(158)连接到处理器(156)和计算系统(152)的其它部件的随机存取存储器(168)(“RAM”)。
存储在RAM(168)中的是操作系统(154)。根据本发明的实施方案的被配置成用于生成数据库查询以动态地聚合数据集的行的计算机中有用的操作系统包括UNIXTM,LinuxTM,Microsoft WindowsTM,AIXTM,IBM的iOSTM;以及本领域技术人员会想到的其它操作系统。图1的实施例中的操作系统(154)在RAM(168)中示出,但是这种软件的许多组件通常也存储在非易失性存储器中,例如,存储在数据存储器(170)上,例如磁盘驱动器上。数据库查询生成器(126)也被存储在RAM中,根据本发明的实施方案,该数据库查询生成器(126)是用于生成数据库查询以动态地聚合数据集的行的模块。
图1的计算系统(152)包括通过扩展总线(160)和总线适配器(158)耦合到处理器(156)和计算系统(152)的其它部件的盘驱动器适配器(172)。盘驱动器适配器(172)以数据存储器(170)的形式将非易失性数据存储器连接到计算系统(152)。根据本发明的实施方案,可用于配置成用于生成数据库查询以动态地聚合数据集的行的计算机中的盘驱动器适配器包括集成驱动器电子设备(“IDE”)适配器,小型计算机系统接口(‘SCSI’)适配器,以及本领域技术人员将想到的其它适配器。如本领域技术人员所想到的,非易失性计算机存储器也可以实现为光盘驱动器,电可擦除可编程只读存储器(所谓的“EEPROM”;或“闪存”存储器),RAM驱动器等。
图1的示例性计算系统(152)包括一个或多个输入/输出(‘I/O’)适配器(178)。I/O适配器通过例如软件驱动器和计算机硬件实现面向用户的输入/输出,用于控制对诸如计算机显示屏之类的显示设备的输出,以及来自诸如键盘和鼠标之类的用户输入设备(181)的用户输入。图1的示例性计算系统(152)包括视频适配器(209),该视频适配器是专门设计用于图形输出到诸如显示屏或计算机监视器之类的显示设备(180)的I/O适配器的示例。视频适配器(209)通过高速视频总线(164)、总线适配器(158)和也是高速总线的前侧总线(162)连接到处理器(156)。
图1的示例性计算系统(152)包括用于与其它计算机进行数据通信以及用于与数据通信网络进行数据通信的通信适配器(167)。这样的数据通信可以通过RS-232连接,通过诸如通用串行总线(USB)之类的外部总线,通过诸如IP数据通信网络之类的数据通信网络,以及以本领域技术人员想到的其它方式串行地执行。通信适配器实现数据通信的硬件级别,一台计算机通过该硬件级别直接或通过数据通信网络发送数据通信至另一台计算机。根据本发明的实施方案的被配置成用于生成数据库查询以动态地聚合数据集的行的计算机中有用的通信适配器的示例包括:用于有线拨号通信的调制解调器、用于有线数据通信的以太网(IEEE802.3)适配器、以及用于无线数据通信的802.11适配器。
通信适配器(167)通信地耦合到广域网(190),广域网(190)还包括基于云的数据仓库(192)和客户端系统(194)。基于云的数据仓库(192)是托管用于通过广域网(190)访问的数据库的计算系统或计算系统组。客户端系统(194)是使用计算系统(152)上的数据库查询生成器(126)访问数据库的计算系统。
图2示出了根据本发明的实施方案的用于使用维度层次结构生成数据库查询的示例性图形用户界面(GUI)。如图2所示,示例性GUI(200)包括电子表格结构(202)和列表结构(204)。电子表格结构(202)包括具有多列(列A(208A),列N(208N))的数据集(206)。列表结构(204)包括多个级别(级别A(210A),级别N(210N))。每个级别可以包括0,1或多于一个的关键字(关键字A(212A),关键字N(212N))。
GUI(200)是向用户呈现图形元素并从用户接收用户输入的用户界面。GUI(200)可以由数据库查询生成器呈现并显示在客户端系统上(例如,在系统显示器或移动触摸屏上)。GUI(200)可以是托管在服务器系统上的互联网应用,该服务器系统通信地耦合到客户端系统和基于云的数据仓库。
电子表格结构(202)是数据集(206)的图形元素和组织机制。电子表格结构(202)将数据集(206)内的数据显示为由列(列A(208A),列N(208N))组织的数据行。列(列A(208A),列N(208N))描绘数据集(206)的每行中的数据的不同类别。列(列A(208A),列N(208N))也可以是使用数据集(206)中的其它列(列A(208A),列N(208N))的计算。
数据集(206)是来自在电子表格结构(202)中呈现的基于云的数据仓库的数据的集合。数据集(206)可以是由数据库查询生成器发送到基于云的数据仓库中的数据库的数据库查询的结果。数据集(206)可以由数据库查询生成器接收并且被配置为在电子表格结构(202)中呈现。
列表结构(204)是用于定义和组织数据集(206)的列(列A(208A),列N(208N))之间的层次关系的图形元素。术语“层次关系“是指列的下级和上级分组(列A(208A),列N(208N))。例如,数据库可以包括地址簿的行,以及州、县、城市和街道的列。来自数据库的数据集可以首先按州分组,然后按县分组,然后按城市分组。因此,州列将处于层次关系中的最高级别,县列将处于层次关系中的第二级别,城市列将处于层次关系中的最低级别。
列表结构(204)向用户呈现维度层次结构。具体地,列表结构(204)呈现在至少一个维度上层级排列的层次。列表结构(204)内的每个级别(级别A(210A),级别N(210N))是被选择为关键字(关键字A(212A),关键字N(212N))的列(列A(208A),列N(208N))之间的层次关系内的位置。关键字(关键字A(212A),关键字N(212N))识别作为层次关系的参与者的一个或多个列(列A(208A),列N(208N))。每个级别(级别A(210A),级别N(210N))可以具有多于一个的关键字。
列表结构(204)中的级别(级别A(210A),级别N(210N))之一可以是基本级别。为基本级别选择的列提供最细粒度的数据。列表结构(204)中的级别(级别A(210A),级别N(210N))之一可以是总级别或根级别。为总级别选择的列提供最高粒度级别的数据。例如,总级别可以包括字段,该字段计算整个数据集的单个列内的每一行的总和(即,未被任何其他列划分)。
GUI(200)可以由数据库查询生成器管理。数据库查询生成器是硬件、软件或硬件和软件的聚合,其被配置为确定列的选择作为列表结构(204)中的关键字,并基于关键字的顺序生成数据库查询。
GUI(200)可以使用户能够将列(列A(208A),列N(208N))拖放到列表结构(204)中。列表结构(204)的顺序可以指定列(列A(208A),列N(208N))相对于彼此的层级。用户能够在任何时候拖放列表结构中的列(列A(208A),列N(208N)),以重新定义列之间的层次关系。使用在列表结构(204)中被选择为关键字(关键字A(212A),关键字N(212N))的列(列A(208A),列N(208N))定义的层次关系可以在图表中使用,以便向下钻取(例如,在条上双击条)使得新的图表能够基于层次结构中较低的级别来生成。
图3示出了根据本发明的实施方案的用于使用维度层次结构生成数据库查询的GUI的示例性实现方案。如图3所示,GUI(300)的示例性实现包括电子表格结构(302)和列表结构(304)。电子表格结构(302)包括具有六列(列A(308A),列B(308B),列C(308C),列D(308D),列E(308E),列F(308F))的数据集(示为空行)。列表结构(304)包括两个级别(级别A(310A),级别B(310B))。级别A(310A)包括关键字A(312A),级别B(310B)包括关键字B(312B))。列表结构(304)还包括基本级别和总级别。
为了进一步说明,图4示出了根据本发明的实施方案的说明用于生成数据库查询以动态地聚合数据集的行的示例性方法的流程图,该方法包括确定(402)在电子表格结构内的第一列和第二列之间的层次关系(其中,第一列和第二列包括数据集的行)。确定(402)在电子表格结构内的第一列和第二列之间的层次关系(其中,第一列和第二列包括数据集的行)可以由数据库查询生成器(126)接收到以下指示来执行:第一列已被选择用于列表结构中的第一级别,第二列已被选择用于列表结构中的第二级别。然后,数据库查询生成器(126)可以通过确定列表结构中的第一级别和第二级别的顺序(即,哪一个是下级以及哪一个是上级)来确定层次关系。可以选择第一列和第二列作为每个相应级别的关键字。此外,第一级别或第二级别可以是基本级别或总级别。
例如,基于云的数据仓库(192)可以包括酒店的数据库。如表1的示例性数据集所示,该数据集可以包括奥斯汀、休斯敦和达拉斯的城市、街道、以及市中心的房间数。
表1
<u>城市</u> | <u>街道名称</u> | <u>酒店名称</u> | <u>房间数</u> |
休斯敦 | Texas Ave. | Magnolia | 54 |
奥斯汀 | San Jacinto St. | Omni | 65 |
休斯敦 | Texas Ave. | Lancaster | 62 |
达拉斯 | Pacific Ave. | Hilton | 68 |
奥斯汀 | Brazos St. | Driskill | 58 |
奥斯汀 | San Jacinto St. | Hampton Inn | 49 |
达拉斯 | Commerce St. | Magnolia | 35 |
休斯敦 | Crawford St. | Hampton Inn | 72 |
达拉斯 | Main St. | Westin | 51 |
达拉斯 | Commerce St. | Hampton Inn | 60 |
休斯敦 | Texas Ave. | Westin | 44 |
奥斯汀 | Brazos St. | Firehouse Hostel | 18 |
使用表1中的示例,第一列可以是城市列,而第二列可以是街道名称列。可以选择城市列作为第一级别的关键字,可以选择街道名称列作为第二级别的关键字,并且第一级别可以在层次上高于第二级别。因此,在该示例中,确定电子表格结构内的第一列和第二列之间的层次关系将包括:确定第一列比第二列处于更高的层次级别。
第一列和第二列之间的层次关系可以创建隐式窗口。隐式窗口化是上级关键字列的每一下级列的行的分区。例如,如果城市列是最高级别的关键字,则每个下级列都按城市划分。
图4的方法还包括接收(404)电子表格结构内的第三列的计算。可以通过数据库查询生成器(126)接收聚合数据集的多行的公式来执行接收(404)电子表格结构内的第三列的计算。数据集的多行可以在数据集的另一列内,并且可以是或可以不是用于确定层次关系的第一列或第二列。使用表1的示例,第三列可以是房间数列中的行的总和。
该计算可以是聚合函数。聚合函数是使用来自一个或多个列的多行的数据来获取显示在单行中的结果的函数。聚合函数可以将一个或多个列中的许多行减少为不同列或相同列的单行。聚合函数的示例包括求和函数、平均函数和累积函数。
图4的方法还包括确定(406)第三列与第一列处于相同的层级级别。可以由数据库查询生成器(126)接收到以下指示来执行确定(406)第三列与第一列处于相同的层级级别:在列表结构中第三列绑定到与第一列相同级别的关键字。第一列可以是该级别的关键字,第三列可以绑定到第一列。例如,可以用公式创建第三列,然后用户可以将第三列拖放到在第一级别的关键字(例如,第一列)正下方的第一级别(但不选择作为第一级别的关键字)。这可以向数据库查询生成器(126)生成以下指示:第三列在第一级别上,其与第一列是相同的层次级别。
用户可以通过以下方式来将列绑定到级别中的关键字:将该列拖放到该级别中并且与该关键字相邻。替代地,用户可以通过以下方式来将列绑定到级别的关键字:选择该列并使用菜单将该列绑定到特定级别的特定关键字。将第三列绑定到级别中的关键字将计算应用于整个列组,而不是每个数据行。例如,如果第三列是基列,则计算行数的第三列将对于每行显示“1”。但是,如果第三列绑定到表1的城市列,则第三列将对于奥斯汀显示“4”,对于达拉斯显示“4”,并且对于休斯顿显示“4”。
图4的方法还包括:响应于确定第三列与第一列处于相同的层次级别,基于第三列的计算以及第一列和第二列之间的层次关系生成(406)聚合数据集的多行的数据库查询(420)。基于第三列的计算以及第一列和第二列之间的层次关系生成(406)聚合数据集的多行的数据库查询(420)可以通过数据库查询生成器(126)使用列表结构中第一关键字和第二关键字的顺序、列表结构中第三列的层次位置以及第三列的计算来执行,以选择数据库查询语句并使用参数填充该语句。响应于用户的各种选择(包括对第一列和第二列的选择),可以自动填充数据库查询。其他用户选择可以包括过滤器和列排序。一旦生成数据库查询,数据库查询生成器(126)就可以通过广域网将数据库查询发送到基于云的数据仓库(192)。
聚合数据集的多行的数据库查询可以包括结构查询语言(SQL)语句。这样的SQL语句可以包括按语句或聚合函数形成的组。可以参考第一列和包含要聚合的多行的一个或多个列自动填充一个或多个语句。多个语句组可以相互嵌套。
可以针对用户进行的每个选择生成数据库语句块。在进行每次选择之后,数据库语句块可以被组合以生成数据库查询。例如,第一列和第二列之间的层次关系的创建可以导致生成数据库语句的第一块,第三列与第一级别的关联可以导致第二数据库语句块的生成,并且所选择的过滤器可以导致第三数据库语句块的生成。在进行最后的选择之后,可以将三个数据库语句块组合成单个数据库查询。
上述限制通过基于用户友好的数据类别选择产生复杂的数据库查询来改进计算机系统的操作。上述限制描述了一种特定的、结构化的图形用户界面,该图形用户界面与直接与图形用户界面的结构有关的规定的功能配对,该图形用户界面的结构针对并解决了现有技术中特定识别的问题。具体而言,界面中两列之间的层次关系以及第三列与第一列的关系被用于生成数据库查询,该数据库查询对于大多数用户自身来说太复杂或太难描写。
为了进一步说明,图5示出了根据本发明的实施方案的说明用于生成数据库查询以动态地聚合数据集的行的又一示例性方法的流程图,该方法包括确定(402)在电子表格结构内的第一列和第二列之间的层次关系,其中,第一列和第二列包括数据集的行;接收(404)电子表格结构内的第三列的计算;确定(406)第三列与第一列处于相同的层次级别;并且响应于确定第三列与第一列处于相同的层次级别,基于第三列的计算以及第一列和第二列之间的层次关系生成(406)聚合数据集的多行的数据库查询(420)。
但是,图5的方法与图4的方法不同,图5的方法还包括:响应于数据库查询,接收(502)数据集的聚合的多行(422);并且在电子表格结构中显示(504)在电子表格结构的第三列中的数据集的聚合的多行(422)。
响应于数据库查询,接收(502)数据集的聚合的多行(422)可以通过以下方式执行:响应于数据库查询(420),数据库查询生成器(126)接收来自基于云的数据仓库(192)的数据集的聚合的多行(422)。
在电子表格结构中显示(504)在电子表格结构的第三列中的数据集的聚合的多行(422)可以通过以下方式来执行:数据库查询生成器(126)插入第三列,显示电子表格结构中聚合的多行(422)。第三列可以插入与第一列相同级别的成组的列中。
继续表1的示例,假定第一列是城市列,而第二列是街道名称列。进一步假定城市列的层次级别高于街道名称列,因为城市列被选为列表结构的第一(顶部)关键字。还假定街道名称列的层次级别低于城市列,因为街道名称列被选为列表结构第二(底部)级别的关键字。然后,假定将第三列创建为酒店房间总数列,该列用于计算酒店房间的总数,并将其放置在与城市列相同的第一级别中。然后生成数据库查询,该查询首先按城市然后按街道名称对数据行进行分组。数据库查询还请求第三列的城市列级别的酒店房间总数。数据库查询被发送到基于云的数据仓库(192),并且作为响应,数据库查询生成器(126)接收如表2所示的数据集的聚合的多行(422),。
表2
如表2所示,第三列(酒店房间总数)显示城市列级别的房间数列中的行的聚合。注意,接收到的第三列的计算可能仅涉及房间数列(要聚合的行),并且第三列与第一列(城市列)的关联会导致基于第一列(例如,按城市)的隐式窗口将多行进行聚合。
为了进一步说明,图6示出了根据本发明的实施方案的说明用于生成数据库查询以动态地聚合数据集的行的又一示例性方法的流程图,该方法包括确定(402)在电子表格结构内的第一列和第二列之间的层次关系,其中,第一列和第二列包括数据集的行;接收(404)电子表格结构内的第三列的计算;确定(406)第三列与第一列处于相同的层次级别;并且响应于确定第三列与第一列处于相同的层次级别,基于第三列的计算以及第一列和第二列之间的层次关系生成(406)聚合数据集的多行的数据库查询(420)。
但是,图6的方法与图4的方法不同,因为图6的方法还包括确定(602)第三列已移至与第二列相同的层次级别;并响应于确定第三列已移至与第二列相同的层次级别,基于第三列的计算以及第一列和第二列之间的层次关系生成(604)聚合数据集的多行的后续的数据库查询(424)。
确定(602)第三列已移至与第二列相同的层次级别可以由数据库查询生成器(126)接收到以下指示来执行:用户已将第三列绑定到与第二列相同级别的关键字(如果第二列是关键字,则将第三列绑定到第二列)。用户可能已经将第三列拖放到列表结构的第二级中,并且向数据库查询生成器(126)通知该动作。
基于第三列的计算以及第一列和第二列之间的层次关系生成(604)聚合数据集的多行的后续的数据库查询(424)可以通过以下方式来执行:数据库查询生成器(126)使用列表结构中第一列和第二列的顺序以及第三列和第二列之间的关联来选择数据库查询语句,并根据列表结构中第一列和第二列的顺序以及第三列和第二列之间的关联用参数填充该语句。
聚合数据集的多行的后续的数据库查询(424)可以是数据集的相同多行的重新聚合。具体而言,第三行的计算可以引用数据集的行的相同集。还应注意,可以在不对第三列的计算进行任何更改的情况下,重新生成后续的数据库查询。
一旦生成了后续的数据库查询,数据库查询生成器(126)就可以通过广域网将后续的数据库查询发送到基于云的数据仓库(192)。作为响应,数据库查询生成器(126)可以接收数据集的多行的聚合,并在GUI的电子表格结构中呈现后续重新配置的数据集。
继续表2的示例,表3显示了第三列(酒店房间总数)的结果已从与城市列相同的级别移至与街道列相同的级别。
表3
如表3所示,第三列(酒店房间总数)呈现街道名称列级别的房间数列中的行的聚合。注意,接收到的第三列的计算可能仅涉及房间数列(要聚合的行),并且第三列与第二列(街道名称列)的关联会导致基于第二列(例如,按街道名称)的隐式窗口将多行进行聚合。
为了进一步说明,图7示出了根据本发明的实施方案的说明用于生成数据库查询以动态地聚合数据集的行的又一示例性方法的流程图,该方法包括确定(402)在电子表格结构内的第一列和第二列之间的层次关系,其中,第一列和第二列包括数据集的行;接收(404)电子表格结构内的第三列的计算;确定(406)第三列与第一列处于相同的层次级别;并且响应于确定第三列与第一列处于相同的层次级别,基于第三列的计算以及第一列和第二列之间的层次关系生成(406)聚合数据集的多行的数据库查询(420)。
但是,图7的方法与图4的方法不同,因为图7的方法还包括确定(702)电子表格结构中的第一列和第二列之间的层次关系的变化;并且响应于确定电子表格结构中的第一列和第二列之间的层次关系的变化,基于第三列的计算以及第一列和第二列之间的层次关系的变化生成(704)聚合数据集的多行的后续的数据库查询。
确定(702)电子表格结构中的第一列和第二列之间的层次关系的变化可以通过数据库查询生成器(126)接收到以下指示来执行:第一列的级别和第二列的级别已颠倒。例如,可以选择第二列作为第一级别的关键字,并且可以选择第一列作为第一级别以下的第二级别的关键字。
基于第三列的计算以及第一列和第二列之间的层次关系的变化生成(704)聚合数据集的多行的后续的数据库查询可以通过以下方式来执行:数据库查询生成器(126)使用列表结构中第一列和第二列的顺序以及第三列和第一列之间的关联来选择数据库查询语句,并根据列表结构中第一列和第二列的顺序以及第三列和第一列之间的关联用参数填充该语句。可以响应于用户的各种选择来自动填充数据库查询。
聚合数据集的多行的后续的数据库查询(424)可以是数据集的相同多行的重新聚合。具体而言,第三行的计算可以引用数据集的行的相同集。还应注意,可以在不对第三列的计算进行任何更改的情况下,重新生成后续的数据库查询。
一旦生成了后续的数据库查询,数据库查询生成器(126)就可以通过广域网将后续的数据库查询发送到基于云的数据仓库(192)。作为响应,数据库查询生成器(126)可以接收数据集的多行的聚合,并在GUI的电子表格结构中呈现后续重新配置的数据集。
例如,表4显示与表1相同的数据集。但是,假定表4中的城市列为第一列(和级别关键字),而酒店名称为第二列(和级别关键字)。最初,城市列位于酒店名称列上方的层次结构中。在与城市列相同的级别上创建第三列(“酒店房间总数”)。
表4
进一步假设城市列与酒店名称列之间的层次关系被改变,以使得酒店名称列在层次上是在城市列之上。表5显示了响应后续的数据库查询而接收到的数据集,该后续的数据库查询基于酒店房间总数列的计算以及城市列和酒店名称列之间的层次关系的变化聚合数据集的多行。
表5
由于改变了层次关系,酒店房间总数列仅首先基于酒店名称列,然后基于城市列显示每个酒店的总数。再次注意,接收到的第三列的计算可能仅涉及房间数列(要聚合的行),并且第三列与第一列(城市列)的关联导致多行根据城市列的隐式窗口进行聚合,该列现在是酒店名称的下级。
为了进一步说明,图8示出了根据本发明的实施方案的说明用于生成数据库查询以动态地聚合数据集的行的又一示例性方法的流程图,该方法包括确定(402)在电子表格结构内的第一列和第二列之间的层次关系,其中,第一列和第二列包括数据集的行;接收(404)电子表格结构内的第三列的计算;确定(406)第三列与第一列处于相同的层次级别;并且响应于确定第三列与第一列处于相同的层次级别,基于第三列的计算以及第一列和第二列之间的层次关系生成(406)聚合数据集的多行的数据库查询(420)。
但是,图8的方法与图4的方法不同,因为图8的方法还包括基于电子表格结构中的第一列和第二列之间的层次关系确定(802)行窗口。基于电子表格结构中的第一列和第二列之间的层次关系确定(802)行窗口可以通过数据库查询生成器(126)确定第一列的隐式窗口来执行。例如,如果第一列是城市列,则下级列可以按城市进行分区(如表2、表3和表4所示)。
行窗口也可以通过第三列的函数来确定。第三列的函数可以是窗口函数(也称为分析函数)。窗口函数是在计算中使用行分区的函数。至少有三种类型的窗口函数,即累积窗口函数、移动(或滚动)窗口函数和等级窗口函数。
累积窗口函数计算分区内的运行结果,其中该分区内的每个连续行都合并到计算的结果中。例如,表6显示了第三列,该列计算基本级别并按城市划分的酒店房间总数的累计百分比。
表6
移动窗口函数使用相对于显示结果的第三列行的移动行组来计算结果。例如,表7显示了第三列,该第三列计算了在基本级别并按城市划分的最后三行房间数量的移动平均值。
表7
等级窗口函数计算行组的等级顺序。例如,表8显示了第三列,该三列计算在基本级别并按城市划分的最大房间数的等级。
表8
图8的方法也与图4的方法的不同之处在于,基于第三列的计算以及第一列和第二列之间的层次关系生成(406)聚合数据集的多行的数据库查询(420)还包括:其中,(804)基于行窗口生成聚合数据集的多行的数据库查询(420)。生成基于行窗口来聚合数据集的多行的数据库查询(420)可以通过以下方式来执行:数据库查询生成器(126)使用第三列计算中的层次关系的隐式窗口和/或窗口函数来选择数据库查询语句并用参数填充该语句。可以选择包含隐窗口和/或窗口函数的数据库查询语句。
鉴于上述阐述,读者应认识到,根据本发明的实施方案,生成数据库查询以动态聚合数据集的行的益处包括:
鉴于上述阐述,读者应认识到,根据本发明的实施方案,生成数据库查询以动态聚合数据集的行的益处包括:
·通过基于用户友好的数据类别选择生成复杂的数据库查询来改进计算系统的操作,从而增加了计算系统的可用性和功能性。
·通过在电子表格结构中呈现复杂的数据集来改进计算系统的操作,从而增加了计算系统的可用性和功能性。
本发明的示例性的实施方案主要在用于生成数据库查询以动态聚合数据集的行的全功能计算机系统的上下文中描述。然而,本领域的技术人员将认识到,本发明也可以体现在设置在计算机可读存储介质上的计算机程序产品中,以与任何合适的数据处理系统一起使用。这样的计算机可读存储介质可以是用于机器可读信息的任何存储介质,包括磁性介质、光学介质或其它合适的介质。这样的介质的示例包括硬盘驱动器中的磁盘或软盘,用于光驱的光盘,磁带,以及本领域技术人员所想到的其它介质。本领域技术人员将立即认识到,具有适当编程装置的任何计算机系统将能够执行体现在计算机程序产品中的本发明的方法的步骤。本领域的技术人员还将认识到,尽管本说明书中描述的一些示例性的实施方案是针对在计算机硬件上安装和执行的软件,然而,实现为固件或硬件的替代的实施方案也完全在本发明的范围之内。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或媒介)。
计算机可读存储介质可以是有形设备,其可以保留和存储由指令执行设备使用的指令。所述计算机可读存储介质可以是,例如,但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或前述设备的任何适当组合。计算机可读存储介质的更具体示例的非穷举列表包括以下项:便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字通用盘(DVD),存储棒、软盘、例如在其上记录有指令的打孔卡或凹槽中的凸起结构之类的机械编码设备、以及上述的任何适当组合。如本文所使用的,计算机可读存储介质,不应被解释为本身是瞬时信号,例如无线电波或其它自由传播的电磁波,通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆的光脉冲),或通过导线传输的电信号。
这里描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。该网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明操作的计算机可读程序指令可以是汇编器指令,指令集体系结构(ISA)指令,机器指令,机器相关指令,微码,固件指令,状态设置数据,或者用一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk,C++等)和常规过程编程语言(例如,“C”编程语言或类似编程语言)的任意组合来编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,作为独立的软件包,部分在用户的计算机上执行,部分在用户的计算机上部分在远程计算机上执行,或全部在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以进行到外部计算机的连接(例如,通过使用互联网服务的互联网)提供商)。在一些实施方案中,电子电路包括:例如,可编程逻辑电路,现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令,以使电子电路个性化,从而执行本发明的各个方面。
参考根据本发明的实施方案的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。可以理解,流程图图示和/或框图的每个框,以及流程图图示和/或框图中的框的组合,可以通过计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机的处理器,专用计算机或其它可编程数据处理装置,以产生机器,使得经由计算机或其它可编程数据处理设装置的处理器执行的指令创建用于实现流程图和/或框图框中指定的功能/动作的装置。这些计算机可读程序指令也可以被存储在能够引导计算机、可编程数据处理设备和/或以特定方式工作的其它设备的计算机可读存储介质,使得其中存储有指令的计算机可读存储介质包括制造的产品,该制造的产品包括实现流程图和/或框图块中指定的功能/动作的方面的指令。
计算机可读程序指令也可以加载到计算机,其它可编程数据处理装置,或使一系列操作步骤在计算机上执行的其它设备,用于产生计算机实现的过程的其它可编程设备或其它装置上,使得在计算机、其它可编程装置或其它设备上执行的指令实现流程图和/或框图的一或多个框中指定的功能/动作。
图中的流程图和框图示出了根据本发明的各种的实施方案的系统、方法和计算机程序产品的可能实现方式的体系结构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些替代的实现方式中,框中指出的功能可以不按照图中指出的顺序发生。例如,实际上根据所涉及的功能,连续示出的两个框可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意到,框图和/或流程图图示的每个框,以及框图和/或流程图图示中的框的组合,可以由执行指定功能或动作或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
从前面的描述中可以理解,在不偏离本发明的真实精神的情况下,可以在本发明的各种实施方案中进行修改和改变。本说明书中的描述仅是为了说明的目的,而不应被解释为限制性的。本发明的范围仅由所附权利要求的语言限定。
Claims (20)
1.一种用于生成数据库查询以动态聚合数据集的行的方法,所述方法包括:
确定电子表格结构内的第一列和第二列之间的层次关系,其中,所述第一列和所述第二列包括所述数据集的行;
接收所述电子表格结构内的第三列的计算;
确定所述第三列与所述第一列处于相同的层次级别;以及
响应于确定所述第三列与所述第一列处于相同的层次级别,基于所述第三列的所述计算以及所述第一列和所述第二列之间的层次关系,生成聚合所述数据集的多行的数据库查询。
2.根据权利要求1所述的方法,其还包括:
响应于所述数据库查询,接收所聚合的所述数据集的所述多行;以及
在所述电子表格结构中显示在所述电子表格结构的所述第三列中的所聚合的所述数据集的所述多行。
3.根据权利要求1所述的方法,其还包括:
确定所述第三列已移至与所述第二列相同的层次级别;以及
响应于确定所述第三列已移至与所述第二列相同的层次级别,基于所述第三列的所述计算以及所述第一列和所述第二列之间的所述层次关系,生成聚合所述数据集的所述多行的后续的数据库查询。
4.根据权利要求1所述的方法,其还包括:
确定所述电子表格结构内所述第一列和所述第二列之间的所述层次关系的变化;以及
响应于确定所述电子表格结构中的所述第一列和所述第二列之间的所述层次关系的变化,基于所述第三列的所述计算以及所述第一列和所述第二列之间的所述层次关系的所述变化,生成聚合所述数据集的所述多行的后续的数据库查询。
5.根据权利要求1所述的方法,其还包括:
基于所述电子表格结构中所述第一列和所述第二列之间的所述层次关系确定行窗口,以及
其中生成聚合所述数据集的所述多行的所述数据库查询还基于所述行窗口。
6.根据权利要求1所述的方法,其中,确定所述第三列与所述第一列处于相同的层次级别包括:确定所述第三列已经被添加到列表结构中的第一级别,其中,所述第一列被选择为所述第一级别的关键字。
7.根据权利要求1所述的方法,其中聚合所述数据集的多行的所述数据库查询包括结构查询语言语句。
8.一种用于生成数据库查询以动态聚合数据集的行的装置,所述装置包括计算机处理器、能操作地耦合至所述计算机处理器的计算机存储器,所述计算机存储器在其内放置有计算机程序指令,所述计算机程序指令在由所述计算机处理器执行时使所述装置执行以下步骤:
确定电子表格结构内的第一列和第二列之间的层次关系,其中,所述第一列和所述第二列包括所述数据集的行;
接收所述电子表格结构内的第三列的计算;
确定所述第三列与所述第一列处于相同的层次级别;以及
响应于确定所述第三列与所述第一列处于相同的层次级别,基于所述第三列的所述计算以及所述第一列和所述第二列之间的层次关系,生成聚合所述数据集的多行的数据库查询。
9.根据权利要求8所述的装置,其中,所述计算机程序指令还使所述装置执行以下步骤:
响应于所述数据库查询,接收所聚合的所述数据集的所述多行;以及
在所述电子表格结构中显示在所述电子表格结构的所述第三列中的所聚合的所述数据集的所述多行。
10.根据权利要求8所述的装置,其中,所述计算机程序指令还使所述装置执行以下步骤:
确定所述第三列已移至与所述第二列相同的层次级别;以及
响应于确定所述第三列已移至与所述第二列相同的层次级别,基于所述第三列的所述计算以及所述第一列和所述第二列之间的所述层次关系,生成聚合所述数据集的所述多行的后续的数据库查询。
11.根据权利要求8所述的装置,其中,所述计算机程序指令还使所述装置执行以下步骤:
确定所述电子表格结构内所述第一列和所述第二列之间的所述层次关系的变化;以及
响应于确定所述电子表格结构中的所述第一列和所述第二列之间的所述层次关系的变化,基于所述第三列的所述计算以及所述第一列和所述第二列之间的所述层次关系的所述变化,生成聚合所述数据集的所述多行的后续的数据库查询。
12.根据权利要求8所述的装置,其中,所述计算机程序指令还使所述装置执行以下步骤:
基于所述电子表格结构中所述第一列和所述第二列之间的所述层次关系确定行窗口,以及
其中生成聚合所述数据集的所述多行的所述数据库查询还基于所述行窗口。
13.根据权利要求8所述的装置,其中,确定所述第三列与所述第一列处于相同的层次级别包括:确定所述第三列已经被添加到列表结构中的第一级别,其中,所述第一列被选择为所述第一级别的关键字。
14.根据权利要求8所述的方法,其中聚合所述数据集的多行的所述数据库查询包括结构查询语言语句。
15.一种用于生成数据库查询以动态地聚合数据集的行的计算机程序产品,所述计算机程序产品设置在计算机可读介质上,所述计算机程序产品包括计算机程序指令,所述计算机程序指令在被执行时使计算机执行以下步骤:
确定电子表格结构内的第一列和第二列之间的层次关系,其中,所述第一列和所述第二列包括所述数据集的行;
接收所述电子表格结构内的第三列的计算;
确定所述第三列与所述第一列处于相同的层次级别;以及
响应于确定所述第三列与所述第一列处于相同的层次级别,基于所述第三列的所述计算以及所述第一列和所述第二列之间的层次关系,生成聚合所述数据集的多行的数据库查询。
16.根据权利要求15所述的计算机程序产品,其中,所述计算机程序指令还使所述计算机执行以下步骤:
响应于所述数据库查询,接收所聚合的所述数据集的所述多行;以及
在所述电子表格结构中显示在所述电子表格结构的所述第三列中的所聚合的所述数据集的所述多行。
17.根据权利要求15所述的计算机程序产品,其中,所述计算机程序指令还使所述计算机执行以下步骤:
确定所述第三列已移至与所述第二列相同的层次级别;以及
响应于确定所述第三列已移至与所述第二列相同的层次级别,基于所述第三列的所述计算以及所述第一列和所述第二列之间的所述层次关系,生成聚合所述数据集的所述多行的后续的数据库查询。
18.根据权利要求15所述的计算机程序产品,其中,所述计算机程序指令还使所述计算机执行以下步骤:
确定所述电子表格结构内所述第一列和所述第二列之间的所述层次关系的变化;以及
响应于确定所述电子表格结构中的所述第一列和所述第二列之间的所述层次关系的变化,基于所述第三列的所述计算以及所述第一列和所述第二列之间的所述层次关系的所述变化,生成聚合所述数据集的所述多行的后续的数据库查询。
19.根据权利要求15所述的计算机程序产品,其中,所述计算机程序指令还使所述计算机执行以下步骤:
基于所述电子表格结构中所述第一列和所述第二列之间的所述层次关系确定行窗口,以及
其中生成聚合所述数据集的所述多行的所述数据库查询还基于所述行窗口。
20.根据权利要求15所述的计算机程序产品,其中,确定所述第三列与所述第一列处于相同的层次级别包括:确定所述第三列已经被添加到列表结构中的第一级别,其中,所述第一列被选择为所述第一级别的关键字。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/133,888 | 2018-09-18 | ||
US16/133,888 US10810192B2 (en) | 2018-09-18 | 2018-09-18 | Generating a database query to dynamically aggregate rows of a data set |
PCT/US2019/051596 WO2020061107A1 (en) | 2018-09-18 | 2019-09-17 | Generating a database query to dynamically aggregate rows of a data set |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113260987A true CN113260987A (zh) | 2021-08-13 |
Family
ID=68073259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980075668.3A Pending CN113260987A (zh) | 2018-09-18 | 2019-09-17 | 生成数据库查询以动态地聚合数据集的行 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10810192B2 (zh) |
EP (1) | EP3844640A1 (zh) |
CN (1) | CN113260987A (zh) |
WO (1) | WO2020061107A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10977246B2 (en) * | 2018-09-13 | 2021-04-13 | Sigma Computing, Inc. | Generating a database query using a dimensional hierarchy within a graphical user interface |
CA3154337A1 (en) * | 2019-09-13 | 2021-03-18 | Goldman Sachs & Co. LLC | Spreadsheet with dynamic database queries |
US11663203B2 (en) | 2020-10-01 | 2023-05-30 | Sigma Computing, Inc. | Optimizing database statements using a query compiler |
US20220222269A1 (en) * | 2021-01-14 | 2022-07-14 | Advanced Techvision, LLC | Data transfer system and method |
WO2022221585A1 (en) * | 2021-04-15 | 2022-10-20 | Sigma Computing, Inc. | Data visualization with derived dimensional hierarchy |
US20240176793A1 (en) * | 2021-11-18 | 2024-05-30 | Sigma Computing, Inc. | Fetching ideal data sets based on usage patterns |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713181A (zh) * | 2004-06-23 | 2005-12-28 | 微软公司 | 包括表、矩阵和混合设计的灵活报告设计的系统和方法 |
US20060195424A1 (en) * | 2005-02-28 | 2006-08-31 | Wiest Lorenz E | Generating business warehouse reports |
CN101241497A (zh) * | 2007-02-08 | 2008-08-13 | 国际商业机器公司 | 以图形表示电子表格中的数据的方法和系统 |
CN107003868A (zh) * | 2014-11-14 | 2017-08-01 | 起元技术有限责任公司 | 处理包含联合类型操作的查询 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4989141A (en) * | 1987-06-01 | 1991-01-29 | Corporate Class Software | Computer system for financial analyses and reporting |
US5713020A (en) | 1993-09-02 | 1998-01-27 | Microsoft Corporation | Method and system for generating database queries containing multiple levels of aggregation |
US9268748B2 (en) * | 1999-05-21 | 2016-02-23 | E-Numerate Solutions, Inc. | System, method, and computer program product for outputting markup language documents |
US9262384B2 (en) * | 1999-05-21 | 2016-02-16 | E-Numerate Solutions, Inc. | Markup language system, method, and computer program product |
US8589777B1 (en) * | 2000-01-21 | 2013-11-19 | International Business Machines Corporation | Method and system for calculating cost of a compilation of content |
US6611840B1 (en) * | 2000-01-21 | 2003-08-26 | International Business Machines Corporation | Method and system for removing content entity object in a hierarchically structured content object stored in a database |
US9535970B2 (en) * | 2013-06-28 | 2017-01-03 | Sap Se | Metric catalog system |
US9529892B2 (en) * | 2013-08-28 | 2016-12-27 | Anaplan, Inc. | Interactive navigation among visualizations |
US10402759B2 (en) * | 2015-01-22 | 2019-09-03 | Visier Solutions, Inc. | Systems and methods of adding and reconciling dimension members |
US10025565B2 (en) * | 2015-08-19 | 2018-07-17 | Integrator Software | Integrated software development environments, systems, methods, and memory models |
-
2018
- 2018-09-18 US US16/133,888 patent/US10810192B2/en active Active
-
2019
- 2019-09-17 EP EP19779335.9A patent/EP3844640A1/en active Pending
- 2019-09-17 WO PCT/US2019/051596 patent/WO2020061107A1/en unknown
- 2019-09-17 CN CN201980075668.3A patent/CN113260987A/zh active Pending
-
2020
- 2020-07-02 US US16/919,458 patent/US11249989B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713181A (zh) * | 2004-06-23 | 2005-12-28 | 微软公司 | 包括表、矩阵和混合设计的灵活报告设计的系统和方法 |
US20060195424A1 (en) * | 2005-02-28 | 2006-08-31 | Wiest Lorenz E | Generating business warehouse reports |
CN101241497A (zh) * | 2007-02-08 | 2008-08-13 | 国际商业机器公司 | 以图形表示电子表格中的数据的方法和系统 |
CN107003868A (zh) * | 2014-11-14 | 2017-08-01 | 起元技术有限责任公司 | 处理包含联合类型操作的查询 |
Also Published As
Publication number | Publication date |
---|---|
US20200334243A1 (en) | 2020-10-22 |
US11249989B2 (en) | 2022-02-15 |
US10810192B2 (en) | 2020-10-20 |
WO2020061107A1 (en) | 2020-03-26 |
EP3844640A1 (en) | 2021-07-07 |
US20200089796A1 (en) | 2020-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11249989B2 (en) | Generating a database query to dynamically aggregate rows of a data set | |
CN113228002B (zh) | 使用图形用户界面内的维度层次结构生成数据库查询 | |
US20200301938A1 (en) | Cross-organization worksheet sharing | |
WO2020223580A1 (en) | Dynamically normalizing intervals in a table | |
US20200372210A1 (en) | Using lightweight references to present a worksheet | |
US11281672B2 (en) | Join key propagation | |
US11886456B2 (en) | Creating a model data set using a spreadsheet interface | |
US20220179855A1 (en) | Maintaining cardinality of rows while joining worksheets from a database | |
US11561967B2 (en) | Exposing parameters in referencing worksheets | |
US11360981B2 (en) | Servicing database requests using canonicalized tables | |
US20230153301A1 (en) | Evaluating stored query results | |
US11556529B2 (en) | Top frequency worksheet filtering | |
US11663203B2 (en) | Optimizing database statements using a query compiler | |
CN115298678A (zh) | 跟踪数据集血缘关系中的错误 |
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 |