First/last aggregation operator on multiple keyfigures with a single table scan

US2017147636A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017147636-A1
Application numberUS-201514947627-A
CountryUS
Kind codeA1
Filing dateNov 20, 2015
Priority dateNov 20, 2015
Publication dateMay 25, 2017
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and apparatus, including computer program products, are provided for first and last aggregation. In one aspect, there is provided a method, which may include receiving, by a calculation engine, a query; detecting, by the calculation engine, whether the query includes a first aggregation and/or a last aggregation over at least one group and at least one keyfigure; optimizing the received query, when the detecting indicates the received query includes the first aggregation and/or the last aggregation, wherein the optimizing further comprises initiating execution of the received query by at least: performing a single read of a table, detecting, from the single table read, at least one group, and indicating, in the detected at least one group, the first aggregation in the at least one keyfigure and/or the last aggregation in the at least one keyfigure; and returning, for the at least one detected group, the indicated first aggregation and/or the indicated second aggregation. Related apparatus, systems, methods, and articles are also described.

First claim

Opening claim text (preview).

What is claimed: 1 . A method comprising: receiving, by a calculation engine, a query; detecting, by the calculation engine, whether the query includes a first aggregation and/or a last aggregation over at least one group and at least one keyfigure; optimizing the received query, when the detecting indicates the received query includes the first aggregation and/or the last aggregation and further includes the at least one group and the at least one keyfigure, wherein the optimizing further comprises initiating execution of the received query by at least: performing a single read of a table, detecting, from the single table read, at least one group, and indicating, in the detected at least one group, the first aggregation in the at least one keyfigure and/or the last aggregation in the at least one keyfigure; and returning, for the at least one detected group, the indicated first aggregation and/or the indicated second aggregation. 2 . The method of claim 1 , wherein the keyfigure represents a numerical value, and wherein the at least one group is defined by at least one group by command. 3 . The method of claim 1 , wherein the detecting further comprises: replacing group by attribute values by a hash determined for each of the group by attribute values. 4 . The method of claim 3 , wherein the detecting further comprises: detecting, from the single table read, the at least one group based on the hash value. 5 . The method of claim 3 , wherein the detecting further comprises: detecting, from the single table read, the at least one group, when a hash value in a row differs from another hash value in a prior row. 6 . The method of claim 5 , wherein the detecting further comprises: indicating, from the single table read, the at least one group, when a hash value in a row differs from another hash value in a prior row. 7 . The method of claim 5 , wherein the first aggregation represents a first aggregation command, and the last aggregation represents a last aggregation command. 8 . The method of claim 1 , wherein the query includes a plurality of first aggregations and a plurality of last aggregations over a plurality of groups and a plurality keyfigures. 9 . The method of claim 1 , wherein the optimizing is part of a query optimization. 10 . A system comprising: at least one processor and at least one memory including code which when executed causes operations comprising: receiving, by a calculation engine, a query; detecting, by the calculation engine, whether the query includes a first aggregation and/or a last aggregation over at least one group and at least one keyfigure; optimizing the received query, when the detecting indicates the received query includes the first aggregation and/or the last aggregation and further includes the at least one group and the at least one keyfigure, wherein the optimizing further comprises initiating execution of the received query by at least: performing a single read of a table, detecting, from the single table read, at least one group, and indicating, in the detected at least one group, the first aggregation in the at least one keyfigure and/or the last aggregation in the at least one keyfigure; and returning, for the at least one detected group, the indicated first aggregation and/or the indicated second aggregation. 11 . The system of claim 10 , wherein the keyfigure represents a numerical value, and wherein the at least one group is defined by at least one group by command. 12 . The system of claim 10 , wherein the detecting further comprises: replacing group by attribute values by a hash determined for each of the group by attribute values. 13 . The system of claim 12 , wherein the detecting further comprises: detecting, from the single table read, the at least one group based on the hash value. 14 . The system of claim 12 , wherein the detecting further comprises: detecting, from the single table read, the at least one group, when a hash value in a row differs from another hash value in a prior row. 15 . The system of claim 13 , wherein the detecting further comprises: indicating, from the single table read, the at least one group, when a hash value in a row differs from another hash value in a prior row. 16 . The system of claim 13 , wherein the first aggregation represents a first aggregation command, and the last aggregation represents a last aggregation command. 17 . The system of claim 10 , wherein the query includes a plurality of first aggregations and a plurality of last aggregations over a plurality of groups and a plurality keyfigures. 18 . The system of claim 10 , wherein the optimizing is part of a query optimization. 19 . A non-transitory computer-readable storage medium including program code which when executed causes operations comprising: receiving, by a calculation engine, a query; detecting, by the calculation engine, whether the query includes a first aggregation and/or a last aggregation over at least one group and at least one keyfigure; optimizing the received query, when the detecting indicates the received query includes the first aggregation and/or the last aggregation and further includes the at least one group and the at least one keyfigure, wherein the optimizing further comprises initiating execution of the received query by at least: performing a single read of a table, detecting, from the single table read, at least one group, and indicating, in the detected at least one group, the first aggregation in the at least one keyfigure and/or the last aggregation in the at least one keyfigure; and returning, for the at least one detected group, the indicated first aggregation and/or the indicated second aggregation.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2017147636A1 cover?
Methods and apparatus, including computer program products, are provided for first and last aggregation. In one aspect, there is provided a method, which may include receiving, by a calculation engine, a query; detecting, by the calculation engine, whether the query includes a first aggregation and/or a last aggregation over at least one group and at least one keyfigure; optimizing the received…
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F16/24554. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 25 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).