JP2018519578A - ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを選択的に取得するための方法およびシステム - Google Patents

ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを選択的に取得するための方法およびシステム Download PDF

Info

Publication number
JP2018519578A
JP2018519578A JP2017560679A JP2017560679A JP2018519578A JP 2018519578 A JP2018519578 A JP 2018519578A JP 2017560679 A JP2017560679 A JP 2017560679A JP 2017560679 A JP2017560679 A JP 2017560679A JP 2018519578 A JP2018519578 A JP 2018519578A
Authority
JP
Japan
Prior art keywords
value
data set
partition
grouping
row
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
Application number
JP2017560679A
Other languages
English (en)
Other versions
JP6710224B2 (ja
JP2018519578A5 (ja
Inventor
ダニエル マルコッテ
ダニエル マルコッテ
ロイド タブ
ロイド タブ
Original Assignee
ルッカー データ サイエンシズ インコーポレイテッド
ルッカー データ サイエンシズ インコーポレイテッド
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 ルッカー データ サイエンシズ インコーポレイテッド, ルッカー データ サイエンシズ インコーポレイテッド filed Critical ルッカー データ サイエンシズ インコーポレイテッド
Publication of JP2018519578A publication Critical patent/JP2018519578A/ja
Publication of JP2018519578A5 publication Critical patent/JP2018519578A5/ja
Application granted granted Critical
Publication of JP6710224B2 publication Critical patent/JP6710224B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本開示は、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するためのコンピュータ実装方法を含む、包含的手法および排他的手法を提供する。また、関連するシステムおよび非一時的なコンピュータ可読記録媒体も提供する。

Description

緒言
ピボットを用いると、問合せの結果を、元は列において繰り返し値であった値によってグループ化されたものとして理解することが可能になる。ピボッティングは、通常、あるデータセットを取り込み、それをメモリにロードし、次いでそのデータセットを操作して、ピボットされるべき列内の離散値に基づいて行から列に値を移動させることによって行われる。アプリケーションに割り振られるあらゆるサイズのメモリについて、そのメモリにロードすることができないデータベース結果が作成される可能性がある。したがって、標準的なピボッティングの技法は、多くの現実的なシナリオのために失敗する。本開示は、この問題に対処する方法および関連システムを提供する。
概要
一局面において、本開示は、包含的な手法の一部として、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するためのコンピュータ実装方法を提供する。本方法は、1つまたは複数のコンピュータプロセッサによって行われる以下のステップを含む:初期データセットにおけるグループ化列を指定する、かつ/または指定を受け取るステップであって、グループ化列がグループ化値の1つまたは複数のグループを含む、前記グループ化列を指定する、かつ/または指定を受け取るステップ;初期データセットにおけるパーティション列を指定する、かつ/または指定を受け取るステップであって、パーティション列が1つまたは複数のパーティション値を含む、前記パーティション列を指定する、かつ/または指定を受け取るステップ;初期データセットにおける順序付け列を指定する、かつ/または指定を受け取るステップであって、順序付け列が1つまたは複数の順序付け値を含み、初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、前記順序付け列を指定する、かつ/または指定を受け取るステップ;特定のパーティション値を指定する、かつ/または指定を受け取るステップ;初期データセットにおける、特定のパーティション値を含む行を識別するステップ;特定のパーティション値を含む行を選択し、限定された行セットを提供するために各選択行の対応する順序付け値の順位に基づいて選択行を限定するステップ;ならびに限定されたデータセットを提供するために、限定された行セットのグループ化値と共通のグループ化値を共有するすべての行を含むように限定行セットを拡張するステップ。
別の局面において、本開示は、包含的な手法の一部として、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するための非一時的なコンピュータ可読記録媒体を提供する。本非一時的なコンピュータ可読記録媒体は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに以下を行わせる命令を含む:(a)初期データセットにおけるグループ化列の指定、および/または指定の受け取りであって、グループ化列が、グループ化値の1つまたは複数のグループを含む、前記グループ化列の指定、および/または指定の受け取り;(b)初期データセットにおけるパーティション列の指定、および/または指定の受け取りであって、パーティション列が、1つまたは複数のパーティション値を含む、前記パーティション列の指定、および/または指定の受け取り;(c)初期データセットにおける順序付け列の指定、および/または指定の受け取りであって、順序付け列が1つまたは複数の順序付け値を含み、初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、前記順序付け列の指定、および/または指定の受け取り;(d)特定のパーティション値の指定、および/または指定の受け取り;(e)初期データセットにおける、特定のパーティション値を含む行の識別;(f)特定のパーティション値を含む行の選択、および限定された行セットを提供するための、各選択行の対応する順序付け値の順位に基づく選択行の限定;ならびに(g)限定されたデータセットを提供するための、限定された行セットのグループ化値と共通のグループ化値を共有するすべての行を含むようにする限定された行セットの拡張。
別の局面において、本開示は、包含的な手法の一部として、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するためのシステムを提供する。本システムは、関係データベースとアプリケーションプログラムとを含み、アプリケーションプログラムは:(a)初期データセットにおける、グループ化値の1つまたは複数のグループを含むグループ化列を指定し、かつ/または指定を受け取り;(b)初期データセットにおける、1つまたは複数のパーティション値を含むパーティション列を指定し、かつ/または指定を受け取り;(c)対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む1つまたは複数の行を含む初期データセットにおける、1つまたは複数の順序付け値を含む順序付け列を指定し、かつ/または指定を受け取り;(d)特定のパーティション値を指定し、かつ/または指定を受け取り;(e)初期データセットにおける、特定のパーティション値を含む行を識別し;(f)特定のパーティション値を含む行を選択し、限定された行セットを提供するために各選択行の対応する順序付け値の順位に基づいて選択行を限定し;(g)限定されたデータセットを提供するために、限定された行セットのグループ化値と共通のグループ化値を共有するすべての行を含むように限定行セットを拡張する。
別の局面において、本開示は、排他的な手法の一部として、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するためのコンピュータ実装方法を提供する。本方法は、1つまたは複数のコンピュータプロセッサによって行われる以下のステップを含む:(a)初期データセットにおけるグループ化列を指定する、かつ/または指定を受け取るステップであって、グループ化列がグループ化値の1つまたは複数のグループを含む、前記グループ化列を指定する、かつ/または指定を受け取るステップ;(b)初期データセットにおけるパーティション列を指定する、かつ/または指定を受け取るステップであって、パーティション列が1つまたは複数のパーティション値を含む、前記パーティション列を指定する、かつ/または指定を受け取るステップ;(c)初期データセットにおける順序付け列を指定する、かつ/または指定を受け取るステップであって、順序付け列が1つまたは複数の順序付け値を含み、初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、前記順序付け列を指定する、かつ/または指定を受け取るステップ;(d)1つまたは複数の行のうちの、共通パーティション値を共有する行を、共有される共通パーティション値に従って別個のパーティションにパーティショニングするステップ;(e)各行の対応する順序付け値に従って各別個のパーティション内の行の各々の順位値を確立するステップ;(f)各グループ内の、最低の順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値を計算するステップ;ならびに(g)最小順位値限界を満たさないグループ化値グループを除外するために別個のグループ化値グループの各々に最小順位値限界を適用するステップであって、最小順位値限界によって除外されないグループ化値グループが、限定されたデータセットを提供する、前記最小順位値限界を適用するステップ。
別の局面において、本開示は、排他的な手法の一部として、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するための非一時的なコンピュータ可読記録媒体を提供する。本非一時的なコンピュータ可読記録媒体は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに以下を行わる命令を含む:(a)初期データセットにおけるグループ化列の指定、および/または指定の受け取りであって、グループ化列が、グループ化値の1つまたは複数のグループを含む、前記グループ化列の指定、および/または指定の受け取り;(b)初期データセットにおけるパーティション列の指定、および/または指定の受け取りであって、パーティション列が、1つまたは複数のパーティション値を含む、前記パーティション列の指定、および/または指定の受け取り;(c)初期データセットにおける順序付け列の指定、および/または指定の受け取りであって、順序付け列が1つまたは複数の順序付け値を含み、初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、前記順序付け列の指定、および/または指定の受け取り;(d)1つまたは複数の行のうちの、共通パーティション値を共有する行の、共有される共通パーティション値に従った別個のパーティションへのパーティショニング;(e)各行の対応する順序付け値に従った各別個のパーティション内の行の各々の順位値の確立;(f)各グループ内の、最低の順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値の計算;ならびに(g)最小順位値限界を満たさないグループ化値グループを除外するための、別個のグループ化値グループの各々への最小順位値限界の適用であって、最小順位値限界によって除外されないグループ化値グループが、限定されたデータセットを提供する、前記最小順位値限界の適用。
別の局面において、本開示は、排他的な手法の一部として、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するためのシステムを提供する。本システムは、関係データベースとアプリケーションプログラムとを含み、アプリケーションプログラムは:(a)初期データセットにおける、グループ化値の1つまたは複数のグループを含むグループ化列を指定し、かつ/または指定を受け取り;(b)初期データセットにおける、1つまたは複数のパーティション値を含むパーティション列を指定し、かつ/または指定を受け取り;(c)対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む1つまたは複数の行を含む初期データセットにおける、1つまたは複数の順序付け値を含む順序付け列を指定し、かつ/または指定を受け取り;(d)1つまたは複数の行のうちの、共通パーティション値を共有する行を、共有される共通パーティション値に従って別個のパーティションにパーティショニングし;(e)各行の対応する順序付け値に従って各別個のパーティション内の行の各々の順位値を確立し;(f)各グループ内の、最低の順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値を計算し;(g)最小順位値限界を満たさないグループ化値グループを除外するために別個のグループ化値グループの各々に最小順位値限界を適用し、最小順位値限界によって除外されないグループ化値グループは、限定されたデータセットを提供する。
ピボットテーブル内にありかつ限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異なパーティション値が形成する、限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供すること、ならびに、各特異なグループ化値-パーティション値の対によって定義される各セルに、限定されたデータセット内の各特異な行から対応する順序付け値を読み込むことによって、上記局面はいずれもピボットテーブルを提供することもできる。
本明細書に記載する本開示の主題の、各態様を含む各局面は、単独でも、他の局面または態様との組み合わせでも有益となりうる。以上の説明も後続の説明も限定することのない本開示のいくつかの非限定的な局面を以下に示す。本開示を読めば当業者には明らかになるように、個別に付番された局面の各々は、先行する、または後続の個別に付番された局面のいずれかと共に用いられ、または組み合わされてもよい。これは、各局面のすべてのそうした組み合わせをサポートしていることを示すためのものであり、以下に明示されている局面の組み合わせだけに限定されない。
1.ある局面において、本開示は、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するためのコンピュータ実装方法であって、1つまたは複数のコンピュータプロセッサによって行われる以下のステップを含む、前記方法を提供する:
a.前記初期データセットにおけるグループ化列の指定を受け取るステップであって、前記グループ化列がグループ化値の1つまたは複数のグループを含む、グループ化列の指定を受け取る前記ステップ;
b.前記初期データセットにおけるパーティション列の指定を受け取るステップであって、前記パーティション列が1つまたは複数のパーティション値を含む、パーティション列の指定を受け取る前記ステップ;
c.前記初期データセットにおける順序付け列の指定を受け取るステップであって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、順序付け列の指定を受け取る前記ステップ;
d.特定のパーティション値の指定を受け取るステップ;
e.前記初期データセットにおける、前記特定のパーティション値を含む行を識別するステップ;
f.前記特定のパーティション値を含む前記行を選択し、限定された行セットを提供するために各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定するステップ;ならびに
g.前記限定されたデータセットを提供するために、前記限定された行セットの前記グループ化値と共通のグループ化値を共有するすべての行を含むように前記限定行セットを拡張するステップ。
2.前記限定されたデータセットを組み入れたピボットテーブルを提供するステップを含む方法であって、前記ピボットテーブルを提供する前記ステップが以下を含む、局面1の方法:
a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
3.各選択行の前記対応する順序付け値の前記順位が、昇順または降順のどちらかに基づくものである、局面1の方法。
4.前記初期データセットにおけるグループ化列、パーティション列、および順序付け列の指定を受け取る前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、局面1の方法。
5.前記1つまたは複数のコンピュータプロセッサによって行われる前記ステップのうちの1つまたは複数を行うためにJOIN SQL式が実行される、局面1の方法。
6.前記パーティション列に含まれる他のパーティション値の選別を行うためOFFSET SQL式を実行することを含む、局面1の方法。
7.前記パーティション列に含まれる前記パーティション値を限定するためLIMIT SQL式を実行することを含む、局面1の方法。
8.前記限定されたデータセットをクライアントデバイス上に含まれるアプリケーションプログラムに送ることをさらに含む、局面1の方法。
9.前記限定されたデータセットのための行制限の指定を受け取ることを含む、局面1の方法。
10.各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定する前記ステップが、
前記限定されたデータセットを提供するために、前記特定のパーティション値を含まない追加行を選択的に取得するためRIGHT JOIN SQL式を実行すること
を含む、局面9の方法。
11.各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定する前記ステップが、
前記限定されたデータセットを提供するために、前記特定のパーティション値を含まない追加行を選択的に取得するためLEFT JOIN SQL式を実行すること
を含む、局面9の方法。
12.別の局面において、本開示は、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するためのコンピュータ実装方法であって、1つまたは複数のコンピュータプロセッサによって行われる以下のステップを含む、前記方法を提供する:
a.前記初期データセットにおけるグループ化列を指定するステップであって、前記グループ化列がグループ化値の1つまたは複数のグループを含む、グループ化列を指定する前記ステップ;
b.前記初期データセットにおけるパーティション列を指定するステップであって、前記パーティション列が1つまたは複数のパーティション値を含む、パーティション列を指定する前記ステップ;
c.前記初期データセットにおける順序付け列を指定するステップであって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、順序付け列を指定する前記ステップ;
d.特定のパーティション値を指定するステップ;
e.前記初期データセットにおける、前記特定のパーティション値を含む行を識別するステップ;
f.前記特定のパーティション値を含む前記行を選択し、限定された行セットを提供するために各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定するステップ;ならびに
g.前記限定されたデータセットを提供するために、前記限定された行セットの前記グループ化値と共通のグループ化値を共有するすべての行を含むように前記限定行セットを拡張するステップ。
13.前記限定されたデータセットを組み入れたピボットテーブルを提供するステップを含む方法であって、前記ピボットテーブルを提供する前記ステップが以下を含む、局面12の方法:
a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
14.各選択行の前記対応する順序付け値の前記順位が、昇順または降順のどちらかに基づくものである、局面12の方法。
15.前記初期データセットにおけるグループ化列、パーティション列、および順序付け列を指定する前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、局面12の方法。
16.前記1つまたは複数のコンピュータプロセッサによって行われる前記ステップのうちの1つまたは複数を行うためにJOIN SQL式が実行される、局面12の方法。
17.前記パーティション列に含まれる他のパーティション値の選別を行うためOFFSET SQL式を実行することを含む、局面12の方法。
18.前記パーティション列に含まれる前記パーティション値を限定するためLIMIT SQL式を実行することを含む、局面12の方法。
19.前記限定されたデータセットをクライアントデバイス上に含まれるアプリケーションプログラムに送ることをさらに含む、局面12の方法。
20.前記限定されたデータセットのための行制限の指定を受け取ることを含む、局面12の方法。
21.各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定する前記ステップが、
前記限定されたデータセットを提供するために、前記特定のパーティション値を含まない追加行を選択的に取得するためRIGHT JOIN SQL式を実行すること
を含む、局面20の方法。
22.各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定する前記ステップが、
前記限定されたデータセットを提供するために、前記特定のパーティション値を含まない追加行を選択的に取得するためLEFT JOIN SQL式を実行すること
を含む、局面20の方法。
23.別の局面において、本開示は、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するための非一時的なコンピュータ可読記録媒体であって、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに以下を行わせる命令を含む、前記非一時的なコンピュータ可読記録媒体を提供する:
a.前記初期データセットにおけるグループ化列の指定の受け取りであって、前記グループ化列が、1つまたは複数のグループ化値の1つまたは複数のグループを含む、前記グループ化列の指定の受け取り;
b.前記初期データセットにおけるパーティション列の指定の受け取りであって、前記パーティション列が、1つまたは複数のパーティション値を含む、前記パーティション列の指定の受け取り;
c.前記初期データセットにおける順序付け列の指定の受け取りであって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、前記順序付け列の指定の受け取り;
d.特定のパーティション値の指定の受け取り;
e.前記初期データセットにおける、前記特定のパーティション値を含む行の識別;
f.前記特定のパーティション値を含む前記行の選択、および限定された行セットを提供するための、各選択行の前記対応する順序付け値の順位に基づく前記選択行の限定;ならびに
g.前記限定されたデータセットを提供するための、前記限定された行セットの前記グループ化値と共通のグループ化値を共有するすべての行を含むようにする前記限定された行セットの拡張。
24.前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットを組み入れたピボットテーブルを提供させる命令を含む、非一時的なコンピュータ可読記録媒体であって、前記ピボットテーブルを提供する前記ステップが以下を含む、局面23の非一時的なコンピュータ可読記録媒体:
a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
25.各選択行の前記対応する順序付け値の前記順位が、昇順または降順のどちらかに基づくものである、局面23の非一時的なコンピュータ可読記録媒体。
26.前記初期データセットにおけるグループ化列、パーティション列、および順序付け列の指定を受け取る前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、局面23の非一時的なコンピュータ可読記録媒体。
27.局面23の前記ステップのうちの1つまたは複数を行うために実行されるJOIN SQL式を含む命令を含む、局面23の非一時的なコンピュータ可読記録媒体。
28.前記パーティション列に含まれる他のパーティション値の選別を行うためのOFFSET SQL式を含む命令を含む、局面23の非一時的なコンピュータ可読記録媒体。
29.前記パーティション列に含まれる前記パーティション値を限定するためのLIMIT SQL式を含む命令を含む、局面23の非一時的なコンピュータ可読記録媒体。
30.前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットをクライアントデバイス上に含まれるアプリケーションプログラムに送らせる命令を含む、局面23の非一時的なコンピュータ可読記録媒体。
31.前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットの行制限の指定を受け取らせる命令を含む、局面23の非一時的なコンピュータ可読記録媒体。
32.各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定するために、前記非一時的な記録媒体が、前記限定されたデータセットを提供するために前記特定のパーティション値を含まない追加行を選択的に取得するためのRIGHT JOIN SQL式を含む命令を含む、局面31の非一時的なコンピュータ可読記録媒体。
33.各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定するために、前記非一時的な記録媒体が、前記限定されたデータセットを提供するために前記特定のパーティション値を含まない追加行を選択的に取得するためのLEFT JOIN SQL式を含む命令を含む、局面31の非一時的なコンピュータ可読記録媒体。
34.別の局面において、本開示は、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するための非一時的なコンピュータ可読記録媒体であって、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに以下を行わせる命令を含む、前記非一時的なコンピュータ可読記録媒体を提供する:
a.前記初期データセットにおけるグループ化列の指定であって、前記グループ化列が、1つまたは複数のグループ化値の1つまたは複数のグループを含む、前記グループ化列の指定;
b.前記初期データセットにおけるパーティション列の指定であって、前記パーティション列が、1つまたは複数のパーティション値を含む、前記パーティション列の指定;
c.前記初期データセットにおける順序付け列の指定であって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、前記順序付け列の指定;
d.特定のパーティション値の指定;
e.前記初期データセットにおける、前記特定のパーティション値を含む行の識別;
f.前記特定のパーティション値を含む前記行の選択、および限定された行セットを提供するための、各選択行の前記対応する順序付け値の順位に基づく前記選択行の限定;ならびに
g.前記限定されたデータセットを提供するための、前記限定された行セットの前記グループ化値と共通のグループ化値を共有するすべての行を含むようにする前記限定された行セットの拡張。
35.前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットを組み入れたピボットテーブルを提供させる命令を含む、非一時的なコンピュータ可読記録媒体であって、前記ピボットテーブルを提供する前記ステップが以下を含む、局面34の非一時的なコンピュータ可読記録媒体:
a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
36.各選択行の前記対応する順序付け値の前記順位が、昇順または降順のどちらかに基づくものである、局面34の非一時的なコンピュータ可読記録媒体。
37.前記初期データセットにおけるグループ化列、パーティション列、および順序付け列を指定する前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、局面34の非一時的なコンピュータ可読記録媒体。
38.局面23の前記ステップのうちの1つまたは複数を行うために実行されるJOIN SQL式を含む命令を含む、局面34の非一時的なコンピュータ可読記録媒体。
39.前記パーティション列に含まれる他のパーティション値の選別を行うためのOFFSET SQL式を含む命令を含む、局面34の非一時的なコンピュータ可読記録媒体。
40.前記パーティション列に含まれる前記パーティション値を限定するためのLIMIT SQL式を含む命令を含む、局面34の非一時的なコンピュータ可読記録媒体。
41.前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットをクライアントデバイス上に含まれるアプリケーションプログラムに送らせる命令を含む、局面34の非一時的なコンピュータ可読記録媒体。
42.前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットの行制限を指定させる命令を含む、局面34の非一時的なコンピュータ可読記録媒体。
43.各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定するために、前記非一時的な記録媒体が、前記限定されたデータセットを提供するために前記特定のパーティション値を含まない追加行を選択的に取得するためのRIGHT JOIN SQL式を含む命令を含む、局面42の非一時的なコンピュータ可読記録媒体。
44.各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定するために、前記非一時的な記録媒体が、前記限定されたデータセットを提供するために前記特定のパーティション値を含まない追加行を選択的に取得するためのLEFT JOIN SQL式を含む命令を含む、局面42の非一時的なコンピュータ可読記録媒体。
45.別の局面において、本開示は、
a.初期データセットにおける、グループ化値の1つまたは複数のグループを含むグループ化列を指定し;
b.前記初期データセットにおける、1つまたは複数のパーティション値を含むパーティション列を指定し;
c.対応するグループ化値、対応するパーティション値、および対応する順序付け値を各行が含む1つまたは複数の行を含む前記初期データセットにおける、1つまたは複数の順序付け値を含む順序付け列を指定する
アプリケーションプログラムと、
d.特定のパーティション値を指定し;
e.前記初期データセットにおける、前記特定のパーティション値を含む行を識別し;
f.前記特定のパーティション値を含む前記行を選択し、限定された行セットを提供するために各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定し;および
g.限定されたデータセットを提供するために、前記限定された行セットの前記グループ化値と共通のグループ化値を共有するすべての行を含むように前記限定行セットを拡張する
関係データベースと、
を含む、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベースが含む初期データセットから選択的に取得するためのシステムを提供する。
46.前記アプリケーションプログラムが前記限定されたデータセットを組み入れたピボットテーブルを提供し、前記ピボットテーブルを提供する前記ステップが以下を含む、局面45のシステム:
a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
47.各選択行の前記対応する順序付け値の前記順位が、昇順または降順のどちらかに基づくものである、局面45のシステム。
48.前記初期データセットにおけるグループ化列、パーティション列、および順序付け列を指定する前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、局面45のシステム。
49.前記1つまたは複数のコンピュータプロセッサによって行われる前記ステップのうちの1つまたは複数を行うためにJOIN SQL式が実行される、局面45のシステム。
50.前記パーティション列に含まれる他のパーティション値の選別を行うためOFFSET SQL式を実行することを含む、局面45のシステム。
51.前記パーティション列に含まれる前記パーティション値を限定するためLIMIT SQL式を実行することを含む、局面45のシステム。
52.前記アプリケーションプログラムが前記限定されたデータセットの行制限を指定する、局面45のシステム。
53.各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定する前記ステップが、
前記限定されたデータセットを提供するために、前記特定のパーティション値を含まない追加行を選択的に取得するためRIGHT JOIN SQL式を実行すること
を含む、局面52のシステム。
54.各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定する前記ステップが、
前記限定されたデータセットを提供するために、前記特定のパーティション値を含まない追加行を選択的に取得するためLEFT JOIN SQL式を実行すること
を含む、局面52のシステム。
55.別の局面において、本開示は、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するためのコンピュータ実装方法であって、1つまたは複数のコンピュータプロセッサによって行われる以下のステップを含む、前記方法を提供する:
a.前記初期データセットにおけるグループ化列の指定を受け取るステップであって、前記グループ化列がグループ化値の1つまたは複数のグループを含む、グループ化列の指定を受け取る前記ステップ;
b.前記初期データセットにおけるパーティション列の指定を受け取るステップであって、前記パーティション列が1つまたは複数のパーティション値を含む複数のパーティション値を含む、パーティション列の指定を受け取る前記ステップ;
c.前記初期データセットにおける順序付け列の指定を受け取るステップであって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、順序付け列の指定を受け取る前記ステップ;
d.前記1つまたは複数の行のうちの、共通パーティション値を共有する行を、前記共有される共通パーティション値に従って別個のパーティションにパーティショニングするステップ;
e.各行の前記対応する順序付け値に従って各別個のパーティション内の前記行の各々の順位値を確立するステップ;
f.各グループ内の、最低の前記順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値を計算するステップ;ならびに
g.最小順位値限界を満たさないグループ化値グループを除外するために前記別個のグループ化値グループの各々に前記最小順位値限界を適用するステップであって、前記最小順位値限界によって除外されない前記グループ化値グループが、前記限定されたデータセットを提供する、前記最小順位値限界を適用する前記ステップ。
56.前記限定されたデータセットを組み入れたピボットテーブルを提供するステップを含む方法であって、前記ピボットテーブルを提供する前記ステップが以下を含む、局面55の方法:
a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
57.前記初期データセットにおけるグループ化列、パーティション列、および順序付け列の指定を受け取る前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、局面55の方法。
58.前記パーティション列に含まれる関心対象の前記値を限定するためにLIMIT SQL式を用いることをさらに含む、局面55の方法。
59.前記限定されたデータセットを前記関係データベースからクライアントデバイス上に含まれるアプリケーションプログラムに送ることをさらに含む、局面55の方法。
60.別の局面において、本開示は、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するためのコンピュータ実装方法であって、1つまたは複数のコンピュータプロセッサによって行われる以下のステップを含む、前記方法を提供する:
a.前記初期データセットにおけるグループ化列を指定するステップであって、前記グループ化列がグループ化値の1つまたは複数のグループを含む、グループ化列を指定する前記ステップ;
b.前記初期データセットにおけるパーティション列を指定するステップであって、前記パーティション列が1つまたは複数のパーティション値を含む、パーティション列を指定する前記ステップ;
c.前記初期データセットにおける順序付け列を指定するステップであって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、順序付け列を指定する前記ステップ;
d.前記1つまたは複数の行のうちの、共通パーティション値を共有する行を、前記共有される共通パーティション値に従って別個のパーティションにパーティショニングするステップ;
e.各行の前記対応する順序付け値に従って各別個のパーティション内の前記行の各々の順位値を確立するステップ;
f.各グループ内の、最低の前記順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値を計算するステップ;ならびに
g.最小順位値限界を満たさないグループ化値グループを除外するために前記別個のグループ化値グループの各々に前記最小順位値限界を適用するステップであって、前記最小順位値限界によって除外されない前記グループ化値グループが、前記限定されたデータセットを提供する、前記最小順位値限界を適用する前記ステップ。
61.前記限定されたデータセットを組み入れたピボットテーブルを提供するステップを含む方法であって、前記ピボットテーブルを提供する前記ステップが以下を含む、局面60の方法:
a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
62.前記初期データセットにおけるグループ化列、パーティション列、および順序付け列を指定する前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、局面60の方法。
63.前記パーティション列に含まれる関心対象の前記値を限定するためにLIMIT SQL式を用いることをさらに含む、局面60の方法。
64.前記限定されたデータセットを前記関係データベースからクライアントデバイス上に含まれるアプリケーションプログラムに送ることをさらに含む、局面60の方法。
65.別の局面において、本開示は、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するための非一時的なコンピュータ可読記録媒体であって、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに以下を行わせる命令を含む、前記非一時的なコンピュータ可読記録媒体を提供する:
a.前記初期データセットにおけるグループ化列の指定の受け取りであって、前記グループ化列が、グループ化値の1つまたは複数のグループを含む、前記グループ化列の指定の受け取り;
b.前記初期データセットにおけるパーティション列の指定の受け取りであって、前記パーティション列が、1つまたは複数のパーティション値を含む、前記パーティション列の指定の受け取り;
c.前記初期データセットにおける順序付け列の指定の受け取りであって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、前記順序付け列の指定の受け取り;
d.前記1つまたは複数の行のうちの、共通パーティション値を共有する行の、前記共有される共通パーティション値に従った別個のパーティションへのパーティショニング;
e.各行の前記対応する順序付け値に従った各別個のパーティション内の前記行の各々の順位値の確立;
f.各グループ内の、最低の前記順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値の計算;ならびに
g.最小順位値限界を満たさないグループ化値グループを除外するための、前記別個のグループ化値グループの各々への前記最小順位値限界の適用であって、前記最小順位値限界によって除外されない前記グループ化値グループが、前記限定されたデータセットを提供する、前記最小順位値限界の適用。
66.前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットを組み入れたピボットテーブルを提供させる命令を含む、非一時的なコンピュータ可読記録媒体であって、前記ピボットテーブルを提供する前記ステップが以下を含む、局面65の非一時的なコンピュータ可読記録媒体:
a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
67.前記初期データセットにおけるグループ化列、パーティション列、および順序付け列の指定を受け取る前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、局面65の非一時的なコンピュータ可読記録媒体。
68.前記パーティション列に含まれる関心対象の前記値を限定するために実行されるLIMIT SQL式を含む命令をさらに含む、局面65の非一時的なコンピュータ可読記録媒体。
69.別の局面において、本開示は、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するための非一時的なコンピュータ可読記録媒体であって、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに以下を行わせる命令を含む、前記非一時的なコンピュータ可読記録媒体を提供する:
a.前記初期データセットにおけるグループ化列の指定であって、前記グループ化列が、グループ化値の1つまたは複数のグループを含む、前記グループ化列の指定;
b.前記初期データセットにおけるパーティション列の指定であって、前記パーティション列が、1つまたは複数のパーティション値を含む、前記パーティション列の指定;
c.前記初期データセットにおける順序付け列の指定であって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、前記順序付け列の指定;
d.前記1つまたは複数の行のうちの、共通パーティション値を共有する行の、前記共有される共通パーティション値に従った別個のパーティションへのパーティショニング;
e.各行の前記対応する順序付け値に従った各別個のパーティション内の前記行の各々の順位値の確立;
f.各グループ内の、最低の前記順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値の計算;ならびに
g.最小順位値限界を満たさないグループ化値グループを除外するための、前記別個のグループ化値グループの各々への前記最小順位値限界の適用であって、前記最小順位値限界によって除外されない前記グループ化値グループが、前記限定されたデータセットを提供する、前記最小順位値限界の適用。
70.前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットを組み入れたピボットテーブルを提供させる命令を含む、非一時的なコンピュータ可読記録媒体であって、前記ピボットテーブルを提供する前記ステップが以下を含む、局面69の非一時的なコンピュータ可読記録媒体:
a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
71.前記初期データセットにおけるグループ化列、パーティション列、および順序付け列を指定する前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、局面69の非一時的なコンピュータ可読記録媒体。
72.前記パーティション列に含まれる関心対象の前記値を限定するために実行されるLIMIT SQL式を含む命令をさらに含む、局面69の非一時的なコンピュータ可読記録媒体。
73.別の局面において、本開示は、
a.前記初期データセットにおける、グループ化値の1つまたは複数のグループを含むグループ化列を指定し;
b.前記初期データセットにおける、1つまたは複数のパーティション値を含むパーティション列を指定し;
c.対応するグループ化値、対応するパーティション値、および対応する順序付け値を各行が含む1つまたは複数の行を含む前記初期データセットにおける、1つまたは複数の順序付け値を含む順序付け列を指定する
アプリケーションプログラムと、
d.前記1つまたは複数の行のうちの、共通パーティション値を共有する行を、前記共有される共通パーティション値に従って別個のパーティションにパーティショニングし;
e.各行の前記対応する順序付け値に従って各別個のパーティション内の前記行の各々の順位値を確立し;
f.各グループ内の、最低の前記順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値を計算し;
g.最小順位値限界を満たさないグループ化値グループを除外するために前記別個のグループ化値グループの各々に前記最小順位値限界を適用し、前記最小順位値限界によって除外されない前記グループ化値グループが、前記限定されたデータセットを提供する
関係データベースと、
を含む、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベースが含む初期データセットから選択的に取得するためのシステムを提供する。
74.前記アプリケーションプログラムが前記限定されたデータセットを組み入れたピボットテーブルを提供し、前記ピボットテーブルを提供する前記ステップが以下を含む、局面73のシステム:
a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
75.前記初期データセットにおけるグループ化列、パーティション列、および順序付け列を指定する前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、局面73のシステム。
76.前記パーティション列に含まれる関心対象の前記値を限定するためにLIMIT SQL式が実行される、局面73のシステム。
ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するためのシステムのブロック図である。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するためのシステムのブロック図である。 ある例示的態様による、初期データセットの一例である。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法の流れ図である。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法の流れ図である。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法の流れ図である。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法の流れ図である。 ある例示的態様による、限定されたデータセットをピボットするための方法の流れ図である。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法のデータセットの例である。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法のデータセットの例である。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法のデータセットの例である。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法のデータセットの例である。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法のデータセットの例である。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法のデータセットの例である。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法のデータセットの例である。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法のデータセットの例である。 ある例示的態様による、ピボットテーブルを提供するように限定されたデータセットをピボットするための方法のデータセットである。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するSQL式の一例である。 ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するSQL式の一例である。
詳細な説明
上述のように、ピボッティングは、通常、あるデータセットを取り込み、それをメモリにロードし、次いでそのデータセットを操作して、ピボットされるべき列内の離散値に基づいて行から列に値を移動させることによって行われる。しかし、メモリの物理的限界により、メモリにロードされるデータセットのサイズが制限される可能性がある。さらに、特定のデータセットが、ユーザに関連性のないデータを含む可能性もある。本開示は、ユーザに関連性のあるデータのみを選択的に取得するための方法を提供する。
本明細書で「排他的手法」と呼ぶ一手法は、ピボットテーブルに読み込むのに使用できる限定されたデータセットを提供するように初期データセットをフィルタリングして特定のピボットテーブルに寄与しない行を除去するように機能する。本明細書で「包含的手法」と呼ぶ別の手法は、特定のピボットテーブルを埋めるのに必要な行を正確に計算するように機能し、ピボットテーブルに読み込むのに使用できる限定されたデータセット内の行のみを含める。いくつかの態様では、上記の手法は構造化照会言語(SQL)を用いて実現される。本明細書に記載する手法は、当技術分野において現在用いられている手段と比べて、ユーザが関係データベースから所望の情報を獲得するためのより効率のよい手段を表すものである。
本発明を詳細に説明する前に、本発明は、記載する特定の態様だけに限定されず、本発明の態様は様々でありうることを理解されたい。また、本発明の範囲は添付の特許請求の範囲によってのみ限定されるものであり、本明細書で用いる用語は特定の態様を説明するためのものすぎず、限定することは意図されていないことも理解されたい。
特に定義しない限り、本明細書で用いるすべての科学技術用語は、本発明が属する技術分野の当業者が一般に理解するものと同義である。
本明細書で言及されるあらゆる文献は、それらの文献が関連して引用されている方法および/または材料を開示し、説明するために、参照により本開示に組み入れられる。本開示は、矛盾がある場合、組み入れられた文献のいかなる開示にも取って代わるものであることを理解されたい。さらに、提供するそうした文献の日付は実際の公開日と異なる場合があり、これについては個別に確認されたい。
本明細書および添付の特許請求の範囲で用いる場合、単数形「ある、1つの(a)/(an)、および「その(the)」は、文脈上明らかに他の意味に解すべきでない限り、複数への言及を含むものであることに留意されたい。よって、例えば、「あるデータベース(a database)」と言う場合、これは複数のそうしたデータベースを含み、以下同様である。
特許請求の範囲は任意の要素、例えば任意選択の要素を除外するように書かれている場合があることにさらに留意されたい。よって、この記述は、特許請求の要素の記載と関連した「もっぱら(solely)」、「〜のみ(only)」などの排他的用語の使用、または「消極的」限定の使用の先行基礎の役割を果たすものである。
本開示を読めば当業者には明らかになるように、本明細書に記載され、例示されている個別態様の各々は、本発明の範囲または趣旨を逸脱することなくその他のいくつかの態様のいずれかの特徴から容易に分離し、またはそれらの特徴と組み合わせることができる個別の構成要素および特徴を有する。記載の方法はいずれも、記載されるイベントの順序で、または論理的に可能な任意の他の順序で実行することができる。
本発明の実施に際しては本明細書に記載する方法および材料と類似した、またはそれらと均等な任意の方法および材料を用いることができるが、いくつかの潜在的、例示的な方法および材料について次に説明する。
本明細書に記載する方法およびシステムによって対処されうる非能率点の一例は、アプリケーションプログラムが、データベースからのデータをアプリケーションプログラムのメモリの物理的限界内で処理することができるよりも多く処理しようとする状況である。さらに、たとえデータをメモリの物理的限界内で処理できる場合でさえも、関連性がないデータが、ユーザに関連性のあるデータと共にデータセットにおいて集約される。したがって、データセット内の集約データは支離滅裂な形で提示されることもある。本明細書に記載する方法およびシステムの局面によれば、非関連データから関連データがパースされるように、ユーザに関連性があるデータを初期データセットから選択的に取得することができる。
本明細書に記載する、ピボットテーブルに組み入れるための限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法は、上述の非能率点のない改善された手法を表すものである。データを選択的に取得することは、ユーザに関連性のないデータを除外することおよび/またはユーザに関連性のあるデータを含めることを含む。クライアントデバイス上のアプリケーションプログラムにより、ユーザは、ユーザに関連性のあるデータを指定するだけでなく、後で集約され、限定されたデータセットに出力される初期データセット内のデータを制限することができる。
説明するように、「データセット」とは概してデータの集合体を指す。ある例では、データセットは、1つまたは複数のデータ行と1つまたは複数のデータ列とを含む。データセット内では、各データ行および/または各データ列は、各行および/または各列内に含まれる値の種類をユーザに表示するために、行識別子および/または列識別子で表される。
いくつかの態様では、データセットは初期データセットを指す。本明細書に記載する場合、「初期データセット」という用語は、概して、関係データベース内の1つまたは複数のテーブルからのデータの集合体を指す。ある例では、初期データセットは、クライアントデバイスのデータ記憶領域および/またはメモリに格納されている。別の例では、初期データセットは、データベースのデータ記憶領域および/またはメモリに格納されている。
一態様によれば、初期データセットは、グループ化列、パーティション列、および順序付け列を含むことができる。グループ化列、パーティション列、および順序付け列は、ユーザによって事前に指定されたデータ列とすることができる。ある例では、データ列の指定は任意に指定される。
別の例では、アプリケーションプログラムを用いて、例えば、以前のユーザ履歴に基づいて、初期データセット内のどの特異なデータ列が、グループ化列、パーティション列、および順序付け列として指定されるかが決定される。次に、以下の表1を参照して、グループ化列、パーティション列、および順序付け列の指定について詳細に説明する。
(表1)
Figure 2018519578
上記のテーブルでは、データは、3ヶ月間にわたって電子商取引サイトから注文を出した男性/女性の人数を表している。ここで、ユーザは、例えば、クライアントデバイス上に設けられたアプリケーションプログラムを介して、例えば、「月」列をグループ化列として、「性別」列をパーティション列として、「注文数」列を順序付け列として指定する。
ある例では、ユーザが以前のインスタンスにおいて月列をグループ化列として、性別列をパーティション列として頻繁に指定したことがある場合には、アプリケーションプログラムは、性別をパーティション列として選択する反復および頻度は、今後の列入力の指定についてのユーザの好みを示していると判断する。したがって、アプリケーションプログラムは、最小限の入力で、かつ/またはユーザからの入力なしで、グループ化列、パーティション列、および順序付け列を自動的に指定するようにプログラムされる。例えば、アプリケーションプログラムが、最小限の入力で、かつ/またはユーザからの入力なしで、グループ化列、パーティション列、および順序付け列を自動的に指定することができる利点は、ユーザが特異な列を指定するのを待つ必要を回避することによってユーザ入力をほとんどもしくはまったく必要とせず、データ処理の遅延を防ぐシームレスなプロセスによって、初期データセット内の処理されるべきデータがり迅速に処理されることである。これは、例えば、長期間に、大規模な初期データセットサンプル全体にわたって含まれる大量のデータを処理する必要がある場合に有益となりうる。
本明細書に記載する場合、「グループ化列」とは、概して、1つまたは複数の本明細書に記載するグループ化値を含む、データセット内の、例えば初期データセット内の列を指す。グループ化列の各特異なグループ化値は、グループ化値グループの階層全体の一部であってよい。いくつかの態様では、特異なグループ化値のうちの少なくとも1つは繰り返し値、例えば、グループ化列の2つ以上の行に出現する値であり、「繰り返しグループ化値」として知られている。
本明細書に記載する場合、「パーティション列」とは、概して、1つまたは複数の本明細書に記載するパーティション値を含む、データセット内の、例えば初期データセット内の列を指す。パーティション列の各特異なパーティション値は、パーティション値のパーティションの階層全体の一部であってよい。いくつかの態様では、特異なパーティション値のうちの少なくとも1つは繰り返し値、例えば、パーティション列の2つ以上の行に出現する値である。ある例では、アプリケーションプログラムは、「繰り返しパーティション値」を指定する。この用語は、概して、パーティション列の2つ以上の行で繰り返されるパーティション値を指す。
本明細書に記載する場合、「順序付け列」とは、概して、1つまたは複数の本明細書に記載する順序付け値を含む、データセット内の、例えば初期データセット内の列を指す。各順序付け値は、概して、グループ化値とパーティション値とに対応する。例えば、初期データセットの特定の行は、グループ化列のグループ化値、パーティション列の対応するパーティション値、および順序付け列の対応する順序付け値を含む。いくつかの態様では、データセットの各行の対応する順序付け値を用いて、各別個のパーティション内の各行の順位値を決定することができる。
本明細書で用いる「値」という用語は、概して、数値を指す。態様によっては、「値」は数を含まない。例えば、いくつかの態様では、順序付け値は、記号、テキスト、または言葉である。そうした例では、適切なアプリケーションプログラム、例えば、データベース・アプリケーション・プログラムは、論理を用いて非数値、例えばテキストや記号を順位付けする組み込みアルゴリズムを有する。これに関しては当技術分野において公知の任意の適切な順位付けアルゴリズムが用いられうる。これらの値は、グループ化値、パーティション値、および順序付け値に適用できる。
本明細書に記載する場合、「順位付け」という用語は、概して、いくつかの態様による、各別個のパーティション内に含まれる行ごとの順位値を確立するプロセスおよび/またはグループ化値グループの最小順位値限界を確立するプロセスを指す。いくつかの態様では、「順位値」という用語は、概して、各行の順序付け値に従って各別個のパーティション内の行の各々について確立された順位値を指す。いくつかの態様では、別個のパーティション内の各行の順位付けは、各パーティションに含まれる他の行の順序付け値に対する各行の順序付け値に従って決定される。
いくつかの態様では、各別個のパーティション内の行の順位付けは、昇順の順位付け(例えば、1が最低順位であり、10が最高順位である)または降順の順位付け(例えば、1が最高順位であり、10が最低順位である)によって行われてよい。
「最小順位値」という用語は、概して、特異なグループ化値グループごとに確立された最小順位値を指す。いくつかの態様では、最小順位値は、各特異なグループ化値グループ内に含まれるすべての行を調べ、最低の順位値を有する行を識別することによって決定することができる。
いくつかの態様では、最小順位は、SQL式:min_rankを用いて決定され、「min_rank」は、「MIN」コマンドを「RANK」コマンドの結果に適用した値を表す。例えば、データセット内の列(g-p)の最小順位を決定するのに、適切なSQL式は、min_rank(g-p)である。本明細書の例には特定のSQL方言が利用されているが、任意の適切なSQL方言またはデータベース問合せ言語を本明細書に記載する方法およびシステムと関連付けて利用できることに留意されたい。
「最小順位値限界」という用語は、概して、別個のグループ化値グループの各々に最小順位値限界を適用することを指すのに用いられる。適切なアプリケーションプログラムは、最小順位値限界を満たさないグループを識別し、その後、そうしたグループ(すなわち、各特異なグループ内に含まれるすべての行およびそれらの行に対応する縦の列のデータ)を、限定されたデータセットで提供されないよう除外することができる。
いくつかの態様では、最小順位値限界は、SQL式:min(_r)>LIMITを用いて決定され、式中、(_r)は順位値限界を表す。例えば、min_rank≦2が指定される場合、アプリケーションソフトウェアは、min_rankが2以下であるグループ化値グループを除外する。
いくつかの態様では、最小順位値限界は、限定されたデータセットで提供されるべき初期データセットからのデータを制限し、それによって、関係データベースの利用可能なメモリで処理される必要のあるデータの量を制限するのに利用することができる。
SQL式:min(_r)>LIMITは、どんな選別値がピボットされるかに関係なく、この行が、限定されたデータセットには存在しえないことを意味している。なぜならば、この行が、順位限界に従って除外されているであろうからである。例えば、以下を参照されたい。
Figure 2018519578
初期データセット、限定されたデータセット、およびピボットテーブルは、概して、値の集合体を含む。本明細書に記載する場合、「値」は、整数、分数、および、記号、文字、もしくは言葉、またはそれらの組み合わせといった非数値を指す。記号値の一例が、♂(男性)および♀(女性)である。言葉値の一例が、「男性」および「女性」である。
限定されるデータが整数ではない場合には、SQL式で符号化されるようにデータを整数に変換し、次いで、計算後に逆変換する必要が生じる場合があり、これには、それらの値で必要とされる値の範囲および精度に関する追加情報が必要となりうる。
いくつかの態様では、データセットは限定されたデータセットを指す。本明細書に記載する場合、「限定されたデータセット」という用語は、概して、例えば、ある特定の基準に従って初期データセットと比べて限定され、本明細書に記載するピボットテーブルに読み込むのに用いられうるデータの集合体を指す。
いくつかの態様では、1つまたは複数の限定されたデータセットを提供するために1つまたは複数の初期データセットが選択される。
いくつかの態様では、限定されたデータセットを提供するステップの後に、限定されたデータセットをピボットテーブルに組み入れるステップが続く。本明細書に記載する場合、「ピボットテーブル」とは、概して、元のデータ構造を変更せずに、各データ列および各データ行が関係データベースの1つまたは複数のテーブルに格納されている方法に対して、ユーザに提示するために選択されたデータ列およびデータ行を再編成して集計するデータ集計ツールを指す。ピボットするステップにおいて、ユーザは、データテーブル内のデータフィールドの構造を実質的または図式的に変更することによって、データの提示のし方を変更することができる。いくつかの態様では、データテーブルのピボッティングは、スプレッドシートアプリケーション上でフィールドをドラッグ・アンド・ドロップすることによって実行される。ユーザは、ドラッグ・アンド・セレクトのジェスチャを用いて、実質的または図式的に変更されるべきデータフィールドを選択してもよい。データテーブルの「ピボッティング」は、データテーブルの「回転」としても知られている。
本明細書に記載する場合、「限定された行セット」という用語は、概して、適切なアプリケーションプログラム、例えばデータベース・アプリケーション・プログラムによって実行される規則または命令によって1つまたは複数の初期データセット内の行値の集合体を限定することにより生じる行セットを指す。いくつかの態様では、繰り返すパーティション値を含む初期データセット内の行は、限定された行セットを提供するために各選択行の対応する順序付け値に順位付けすることによってさらに限定される。
いくつかの態様では、ピボットテーブルには、限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルから組み入れることができる。各特異なグループ化値および各特異なパーティション値は、ピボットテーブル内の一意のセルを定義する特異なグループ化値-パーティション値の対を形成する。ピボットテーブル内の一意のセルは、限定されたデータセットの特異な行に対応する。ピボットテーブル内の一意のセルには、各特異なグループ化値-パーティション値の対によって、限定されたデータセット内の各特異な行からの対応する順序付け値が読み込まれる。
いくつかの態様では、グループ化列、パーティション列、および順序付け列の指定は、限定されたデータセットを提供するための初期データセットからのデータの選択的取得を円滑化するのみならず、ピボットテーブルに組み入れるべき限定されたデータセットのピボッティングも円滑化する。
上述の用語は、以上に明記した局面の組み合わせだけに限定することを意図したものではない。例えば、初期データセットおよび限定されたデータセットは、データセットに概して適用されるものとして上述の用語を組み入れることもできる。
いくつかの態様では、グループ化列およびパーティション列は、初期データセットにおいていかなる繰り返しグループ化値も共有される共通パーティション値も含まない。それにもかかわらず、アプリケーションプログラムは、なお、繰り返しグループ化値がない特異なグループ化値グループを指定するステップと、限定されたデータセットを提供するようにたとえ初期データセットに共有される共通パーティション値がない場合でさえも、パーティション値の特異なパーティションを作成するステップとを効果的に実行するようにプログラムされる。
いくつかの態様では、適切なアプリケーションプログラム、例えばデータベース・アプリケーション・プログラムは、例えば、複数のデータテーブルに由来するデータおよび/または複数のデータベースに由来するテーブルからのデータを用いて、複数の初期データセットから単一の限定されたデータセットを提供するように構成されている。他の態様では、アプリケーションプログラムは、複数の初期データセットから複数の限定されたデータセットを提供するように構成されている。他の態様では、アプリケーションプログラムは、単一の初期データセットから複数の限定されたデータセットを提供するように構成されている。
いくつかの態様では、複数の初期データセットからデータを選択的に取得するための方法は、単一のクライアントデバイスから開始することができる。いくつかの態様では、複数の初期データセットからデータを選択的に取得するための方法は、複数のクライアントデバイスから開始することができる。いくつかの態様では、複数のクライアントデバイスは、協調して(または協働して)初期データセットから選択的に取得すべきデータを決定する。いくつかの態様では、複数のクライアントデバイスが協働して選択的に取得すべきデータを決定する方法は、当技術分野において共同編集として知られているプロセスによってリアルタイムで行われる。そうした例では、異なるコンピュータを使用している複数のユーザは、どのデータを初期データセットから選択的に取得すべきか決定することができる。リアルタイムの共同編集では、複数のユーザは同時にデータを選択的に取得する同じプロセスを編集することができる。別の例では、複数のユーザは、異なるユーザに、同時ではないが、同じファイルを編集するためのアクセスまたは権限を与える非リアルタイムの共同編集としてデータを選択的に取得する同じプロセスを編集することができる。例えば、下位のユーザに、方法を指定するための1つまたは複数のコマンドを指定するタスクが与えられる。しかし、関係データベースのアプリケーションプログラムは、管理ユーザが下位ユーザのコマンドを承認するまでデータ取得のステップを実行しない。
本明細書に記載する場合、「データネットワーク」とは、インターネットワーク(例えば、広域ネットワーク(WAN))やローカル・エリア・ネットワーク(LAN)、有線または無線ネットワーク、Zig-Bee、または、BluetoothやIEEE 802.15.1などのパーソナル・エリア・ネットワーク(PAN)、またはWi-Fi IEEE 802.11やセルラ・データ・ネットワークやグローバル・データ・ネットワークを含む、あらゆる種類の通信ネットワークを指す。いくつかの態様では、データネットワークはクラウドベースとすることができる。
本明細書に記載する場合、「クライアントデバイス」とは、ラップトップなどのパーソナルコンピュータを指し、またはモバイル機器を指し、またはコンピュータタブレットを指す。概して、クライアントデバイスは、プロセッサまたは中央処理装置(「CPU」)とメモリと命令を送受信する手段とを含む任意のハードウェア構成要素を指す。いくつかの態様では、クライアントデバイスのコンピュータプロセッサは、データパケットを送り、かつ/または受け取るようにプログラムされる。いくつかの態様では、クライアントデバイスは、データ記憶ユニットをさらに含む。いくつかの態様では、クライアントデバイスは、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するプロセスに関連した命令を実行し、かつ/または命令を受け取るように構成された適切なアプリケーションプログラム、例えば、データベース・アプリケーション・プログラムを含む。加えて、アプリケーションプログラム、例えばデータベース・アプリケーション・プログラムは、ピボット・データ・テーブルを提供するように限定されたデータセットをピボットするステップを実行するようにも構成されている。
いくつかの態様では、クライアントデバイスは、本明細書に記載する方法を実施するためのアプリケーションプログラム、例えばデータベース・アプリケーション・プログラムを含む非一時的なコンピュータ可読記録媒体を含む。
上述のように、クライアントデバイスは、第1のコンピューティングデバイスまたはその構成要素とすることができる。代替として、またはこれに加えて、クライアントデバイスは、第2のコンピューティングデバイスまたはその構成要素を含んでいてもよい。ある例では、コンピューティングデバイスはコンピュータサーバである。いくつかの態様では、コンピューティングデバイスは、パーソナルコンピュータ、タブレット、および/またはスマートフォンである。
本明細書に記載する場合、「データベース」という用語は、概して、メモリに格納された、編成されたデータ集合体を指す。いくつかの態様では、データベースは関係データベースである。いくつかの態様では、データベースはサーバを含む。他の態様では、「データベース」という用語は、データを分析し、取り込み、格納し、処理するために1つまたは複数のクライアントデバイスと対話するように構成されたコンピュータ・ソフトウェア・アプリケーションを指す。他の態様では、「データベース」という用語は、ハードディスク記憶といった、物理的なデータ記憶領域を指す。あるいは、他の態様では、「データベース」という用語は、クラウドベースの記憶システムを指す。業界の例には、Google DriveやiCloudが含まれる。
いくつかの態様では、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するためのコンピュータ実装方法は、少なくとも一部は構造化照会言語(SQL)を用いて実施することができる。いくつかの態様では、本方法は、少なくとも一部はハイブリッドSQL命令を用いて実施される。他の態様では、本方法は、少なくとも一部はNoSQL、xQuery、XPath、QUEL、MQL、LNQによって実施される。本明細書に記載する方法を実行するのに使用できる任意の適切な問合せ言語がそうした方法と関連付けて利用される。
関心対象の一態様では、1つまたは複数のデータベースは関係データベースであり、データベース問合せ言語はSQLである。いくつかのそうした態様では、本開示による方法は、限定されたデータセットに読み込むために1つまたは複数の初期データセットからデータを選択的に限定するコマンドをユーザから受け取るステップを含む。いくつかの態様では、データベース問合せはハイブリッドSQL問合せである。
本明細書に記載する場合、「アプリケーションプログラム」という用語は、概して、汎用コンピュータによって実行されるように構成された専用の関数または命令を指す。そうした専用の関数または命令は、当業者には一般にソフトウェアとして知られている。いくつかの態様では、アプリケーションプログラムは、コンピュータプロセッサ、メモリ(例えば、RAM)、データ記憶領域、およびオペレーティングシステム(一般にはコンピュータデータベースに格納されている)を含む、基本的なコンピュータ構成要素の組み合わせによって実行される。
いくつかの態様では、クライアントデバイスおよび/または関係データベースは、1つまたは複数のコンピュータプロセッサを含む。1つまたは複数のプロセッサは、クライアントデバイスおよび/または関係データベースのメモリまたは記憶領域に格納された命令を実行する。アプリケーションプログラムは、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するために1つまたは複数の命令を実行させることができる。いくつかの態様では、アプリケーションプログラムは、ウェブベースのプログラムである。例えば、ウェブベースのアプリケーションは、HTMLまたはJavascript、またはユーザがインターネット上でウェブブラウザを動作させている間に管理することができる他のウェブ固有の技術を用いて書かれている。
方法、システム、およびデバイス
次に、図を参照して、本開示の例示的な方法、システムおよびデバイスについて説明する。
図1に、ある例示的態様による、1つまたは複数の初期データセットから限定されたデータセットを提供するためにデータを選択的に取得するためのシステムのブロック図を示す。図1に示すように、システム100は、概して、クライアントデバイス110と、データネットワーク130と、データベース140とを含む。
クライアントデバイス110は、それだけに限らないが、限定されたデータセットを提供し、かつ/または限定されたデータセットをピボットテーブルに組み入れるように初期データセットからデータを選択的に取得するコマンドまたは命令を実行するアプリケーションプログラム112を含んでいてよい。クライアントデバイス110は、プロセッサ114と、ランダム・アクセス・メモリ(RAM)116と、永続的データ記憶領域118とをさらに含んでいてよい。別の例では、データ記憶領域は、クラウドベースの記憶領域(不図示)で置き換えられ、または補足される。いくつかの態様では、初期データセット122はクライアントデバイス110に由来し、クライアントデバイス110のコンピュータプロセッサは、初期データセット122を関係データベース140に送るようにプログラムされる。いくつかの態様では、クライアントデバイス110のコンピュータプロセッサは、データベース140から限定されたデータセット124を受け取り、限定されたデータセットをさらに利用してピボットテーブル126を提供するようにプログラムされ、ピボットテーブル126は、例えば、クライアントデバイス上で表示される。いくつかの態様では、クライアントデバイスのコンピュータプロセッサは、単一の初期データセットを複数のデータベースに送るようにプログラムされる。別の例では、クライアントデバイスは、複数の初期データセットを複数のデータベースに送るようにプログラムされる。
アプリケーションプログラムは、クライアントデバイスのオペレーティングシステムによって実施されてよい。別の例では、アプリケーションプログラム112は、非一時的なコンピュータ可読記録媒体に格納されている。別の例では、ソフトウェアアプリケーション112は、ウェブベースのアプリケーションであり、外部サーバまたは外部データベース(不図示)に格納されている。
データネットワーク130は、インターネットネットワーク(例えば、広域ネットワーク(WAN))やローカル・エリア・ネットワーク(LAN)、有線または無線ネットワーク、Zig-Bee、または、BluetoothやIEEE 802.15.1などのパーソナル・エリア・ネットワーク(PAN)、またはWi-Fi IEEE 802.11やセルラ・データ・ネットワークやグローバル・データ・ネットワークを含む、任意の種類の通信ネットワークを指す。いくつかの態様では、データネットワークはクラウドベースとすることができる。
記憶装置118は1つまたは複数の非一時的なコンピュータ可読記憶媒体も含む。記憶装置118はさらに、情報の長期記憶のために構成されていてよい。いくつかの態様では、記憶装置118は、不揮発性記憶素子を含む。不揮発性記憶素子の非限定的な例には、磁気ハードディスク、光ディスク、フロッピーディスク、フラッシュメモリ、または電気的書込み可能メモリ(EPROM)や電気的消去可能書込み可能(EEPROM)メモリが含まれる。
本明細書に記載する無線ネットワークには、それだけに限らないが、符号分割多元接続(CDMA)ネットワーク、GSM(Group Special Mobile or the Global System for Mobile Communications)ネットワークおよびGPRS(General Packet Radio Service)ネットワーク、EDGE(Enhanced Data-rates for Global Evolution)やUMTS(Universal Mobile Telecommunications Systems)といった第3世代(3G)ネットワーク、モバイルWiMAXやLTE(Long Term Evolution)といった第4世代(4G)ネットワーク、IMT-Advanced(International Mobile Telecommunications-Advanced)ネットワーク、ならびに現在の4G/IMT-Advancedを規格の機能を拡張した将来の第5世代(5G)ネットワークが含まれうる。無線ネットワークの例には、例えば、BLUETOOTHネットワーク、無線パーソナル・エリア・ネットワーク、無線802.11ローカル・エリア・ネットワーク(LAN)、および/または無線電話技術ネットワーク(例えば、セルラ、PCS、またはGSMネットワーク)が含まれる。
関係データベース140は、データ記憶ユニットおよび/またはウェブベースの記憶装置(不図示)といったデータ記憶領域150を含むことができる。例えば、ウェブベースの記憶領域はクラウドベースの記憶領域として知られている。例えば、データベース140は、データベース140のアプリケーションプログラム146に、初期データセットからデータを選択的に取得するコマンドまたは命令を実行するよう命令するクライアントデバイス110からの命令を受け取るようにプログラムされる。データベース140は、クライアントデバイス110から初期データセットを受け取るようにさらにプログラムされる。別の例では、初期データセット122は、代わりに、データベースのデータ記憶領域に、またはクラウドベースの記憶領域(すなわち、クラウド記憶領域)最初に格納される。いくつかの態様では、限定されたデータセット124は、データ記憶領域150またはクラウドベースの記憶領域(不図示)に格納される。
図2は、ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するためのシステム200のブロック図である。
図2に示すように、システム200は、概して、複数のクライアントデバイス210、212、214と、データネットワーク230と、データベース240とを含む。クライアントデバイス210、212、214のコンピュータプロセッサは、クライアントデバイス210、212、214に、複数の初期データセット260、262、264、266を関係データベース240へ送信させるようにプログラムされる。一例では、クライアントデバイス(1)210のコンピュータプロセッサは、クライアントデバイス(1)に、限定されたデータセット270を提供するように2つの初期データセット260、262を関係データベース240へ送信させるようにプログラムされる。クライアントデバイス(2)212は、クライアントデバイス(2)に、初期データセット264のデータの少なくとも一部分が、クライアントデバイス(3)214によって送信される別の初期データセット266と結合されるように初期データセット264を関係データベース240へ送信させるようにプログラムされる。初期データセット264のデータと初期データセット266のデータは、限定されたデータセット272を提供するように集約されるか、または組み合わされる。
複数の初期データセット260、262、264、266は、複数の異なるクライアントデバイス210、212、214によって関係データベース240に送信される。いくつかの態様では、システム200は、関係データベース240が、複数の限定されたデータセットを提供するために複数の初期データセットから受け取ったデータの各部分を組み合わせるか、または集約するようにプログラムされていることに対して描かれている。
図2には示されていないが、クライアントデバイス210、212、214の各々は、それだけに限らないが、図1に示したクライアントデバイス110の例示的な構成要素を含む。クライアントデバイス210、212、214は、アプリケーションプログラムと、コンピュータプロセッサと、ランダム・アクセス・メモリと、オペレーティングシステムと、永続的データ記憶領域とを含む。コンピュータプロセッサは、限定されたデータセットを提供し、かつ/または限定されたデータセットをピボットテーブルに組み入れるように初期データセットからデータを選択的に取得するよう求めるアプリケーションプログラムによるコマンドまたは命令を実行するようにプログラムされる。アプリケーションプログラムは、クライアントデバイスのオペレーティングシステムによって実施されてよい。別の例では、アプリケーションプログラムは、非一時的なコンピュータ可読記録媒体に格納されている。別の例では、ソフトウェアアプリケーションは、ウェブベースのアプリケーションであり、外部サーバまたは外部データベース(不図示)に格納されている。
図2に示すように、関係データベースのコンピュータプロセッサ(不図示)は、受け取った複数の別個の受信初期データセット260、262、264、266からデータを選択的に取得するようにプログラムされる。いくつかの態様では、関係データベースは、アプリケーションプログラムに従って複数の受け取った別個の初期データセットからデータを選択的に取得するようにプログラムされる。いくつかの態様では、クライアントデバイス210、212、214は、限定されたデータセット270、272の組み合わせを受け取るようにプログラムされる。一例では、クライアントデバイスのうちの1つまたは複数は限定されたデータセットのいずれも受け取らない。別の例では、クライアントデバイスのうちの1つまたは複数は、限定されたデータセット270、272のうちのいくつかまたは一部分を受け取るようにプログラムされる。別の例では、クライアントデバイスのうちの1つまたは複数は、提供されたすべての限定されたデータセット270、272を受け取るようにプログラムされる。クライアントデバイスが受け取った限定されたデータセットは、ピボットテーブルを提供するようにクライアントデバイスの適切なアプリケーションプログラム、例えばデータベース・アプリケーション・プログラムによってさらにピボットされる。
いくつかの態様では、初期データセット260、262、264、266は、(図1のデータ記憶装置150のような)データ記憶ユニットに格納される。限定されたデータセット270、272は、データ記憶ユニットにさらに格納される。いくつかの態様では、データベース240のデータセットの一部分が、例えば、迅速な取得を可能にするために、データベース240のRAMに提供される。いくつかの態様では、データベース240のデータセットの一部分が、ウェブベースの記憶領域(例えばクラウド)に格納される。
図3は、一例による初期データセットである。図3に示すように、初期データセット300は、1年の異なる月(すなわち、12/13、1/14、および2/14)で表されているグループ化値を含む「月」のグループ化列302を含む。初期データセットは、性別(男性、女性)で表されているパーティション値を含む「性別」のパーティション列304をさらに含む。初期データセットは、異なる値で表されている順序付け値を含む「注文数」の順序付け列306をさらに含む。図3に示すように、各特異な行は、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む。図3に示すように、グループ化列は別個のグループ化値(例えば、02/14)を含む。図3に示すように、パーティション列は、初期データセットの各行で繰り返されるパーティション値(例えば、男性と女性)を含む。例えば、初期データセットでは、パーティション列が「男性」値の2回の出現および「女性」値の3回の出現を含む図3を参照されたい。
排他的手法
図4は、ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法400の流れ図である。この例示的態様は、本開示の排他的手法の一態様を示すものである。ステップ402で、データベースは、例えば、アプリケーションプログラムによって指定された、初期データセットにおけるグループ化列の指定を受け取る。いくつかの態様では、指定のステップに先立ち、データベースは、データベース・アプリケーション・プログラムを実行するためのステップを開始するよう求めるアプリケーションプログラムからのコマンドまたは命令を受け取る。
ステップ404で、データベースは、例えば、アプリケーションプログラムによって指定された、初期データセットにおけるパーティション列の指定を受け取る。ステップ406で、データベースは、例えば、アプリケーションプログラムによって指定された、初期データセットにおける順序付け列の指定を受け取る。
いくつかの態様では、グループ化列、パーティション列、および順序付け列の指定は、クライアントデバイスのアプリケーションプログラムを介してユーザによって手作業で指定される。いくつかの態様では、グループ化列、パーティション列、および順序付け列の指定は、クライアントデバイスおよび/またはデータベースに含まれるデータベース・アプリケーション・プログラムによって自動的に指定される。
その後、ステップ408で、アプリケーションプログラムに応答して、データベースは、初期データセット内の1つまたは複数の行のうちの、共通パーティション値を共有する行を、共有される共通パーティション値に従って別個のパーティションにパーティショニングする。例えば、図9Aを参照すると、前記行は別個のパーティション(p=1、2、3)にパーティショニングされており、各パーティション内の行は共有される共通パーティション値を含む。
ステップ410で、アプリケーションプログラムに応答して、データベースは、各行の対応する順序付け値に従って各別個のパーティション内の行の各々の順位値を確立する。例えば、図9Bを参照すると、各別個のパーティション(p=1、2、3)内の行の各々は各行の対応する順序付け値に従って順位付けされている。各行の順位値は列(_r)で指定されている。例えば、行a-1-100は、最高の順序付け値を有するため1という順位値を含み、行c-1-5は、最低の順序付け値を有するため4という順位値を含む。いくつかの態様では、各別個のパーティション内の行は昇順に従って順位付けされる。いくつかの態様では、各別個のパーティション内の行は降順に従って順位付けされる。
その後、ステップ412で、アプリケーションプログラムに応答して、データベースは、各グループ内の、最低の順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値を計算する。別の例では、各グループの順位値は、代わりに、各グループ内の、最高の順位値を有する行に対応する、最高の順位値に対応する。
例えば、図9Cを参照すると、特異なグループ(g=a)は、1という順位値を有する行を含むため、1という最小順位値を有する。グループ(g=b)は、このグループ内のすべての行における3という最低の順位値を含むため、3という最小順位値を有する。図9Cに示すように、最小順位値は列min_rank(g-p)として示されている。いくつかの態様では、順位値が最高の順位値を有する各グループ内の行に対応する場合、データベースは、最高の順位値を有する各グループ内の行を識別する。
初期データセット内のグループごとに最小順位値を計算するステップは、SQL問合せで実行される。例えば、以下のとおりである。
Figure 2018519578
ステップ414で、アプリケーションプログラムに応答して、データベースは、最小順位値限界を満たさないグループ化値グループを除外するために別個のグループ化値グループの各々に最小順位値限界を適用する。いくつかの態様では、最小順位値限界によって除外されないグループ化値グループは、限定されたデータセットを提供する。データベースは最小順位値限界を適用し、これは、概して、特異なグループ化値グループごとに最小順位値限界を確立することを指す。ある例では、最小順位値限界は、アプリケーションプログラムによって指定されるピボットテーブルの行制限に対応したものである。例えば、データベースは、例えば、アプリケーションプログラムによって行制限が指定されたピボットテーブルを提供するように、初期データセットのどの行を限定されたデータセットに組み入れる必要があるか識別することができる。
例えば、図9Dを参照すると、図9Dは≦2とい最小順位値限界(不図示)が別個のグループ化値グループに適用されたものである。(min_rank)≦2の最小順位値を含まない別個のグループは、限定されたデータセットへの提供から除外されている。
いくつかの態様では、順位値は数である。順位値は、記号、文字、または言葉であってもよい。いくつかの態様では、限界は、限界を超える値を除外するための閾値を表す。いくつかの態様では、限界は、限界を超え、または限界値に等しい値を除外するための閾値を表す。別の例では、限界は、限界値を下回る値を除外するための閾値を表す。別の例では、限界は、限界を下回り、または限界値に等しい値を除外するための閾値を表す。
限定されたデータセットを提供するために初期データセットからデータを選択的に取得する図4に記載されるステップを実施するのに用いられるSQL式の例を以下に示す。
Figure 2018519578
いくつかの態様では、限定されたデータセットは、アプリケーションプログラムによって提供されると、その後、クライアントデバイスに送られる。限定されたデータセットをクライアントデバイスに送るかどうか決定する際に考慮すべき要因には、クライアントデバイスにおいて利用できるメモリキャッシュ、進行中のプロセスの数、限定されたデータセットのファイルサイズ、および限定されたデータセットを送信するためのデータネットワークが利用できるかどうかが含まれる。
さらに、図4のステップの一部は、追加の限定されたデータセットを提供するために、追加の初期データセットについて繰り返される。
図5は、一例による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法500の流れ図である。ステップ502で、アプリケーションプログラムは、初期データセットにおけるグループ化列を指定する。ステップ504で、アプリケーションプログラムは、初期データセットにおけるパーティション列を指定する。ステップ506で、アプリケーションプログラムは、初期データセットにおける順序付け列をさらに指定する。いくつかの態様では、指定のステップに先立ちアプリケーションプログラムは、データベース・アプリケーション・プログラムを実行するための命令またはコマンドを送る。
ステップ508で、アプリケーションプログラムに応答して、データベースは、初期データセット内の1つまたは複数の行のうちの、共通パーティション値を共有する行を、共有される共通パーティション値に従って別個のパーティションにパーティショニングする。例えば、図9Aを参照すると、前記行は別個のパーティション(p=1、2、3)にパーティショニングされており、各パーティション内の行は共有される共通パーティション値を含む。
ステップ510で、アプリケーションプログラムに応答して、データベースは、各行の対応する順序付け値に従って各別個のパーティション内の行の各々の順位値を確立する。例えば、図9Bを参照すると、各別個のパーティション(p=1、2、3)内の行の各々は各行の対応する順序付け値に従って順位付けされている。各行の順位値は列(_r)で指定されている。例えば、行a-1-100は、最高の順序付け値を有するため1という順位値を含み、行c-1-5は、最低の順序付け値を有するため4という順位値を含む。いくつかの態様では、各別個のパーティション内の行は昇順に従って順位付けされる。いくつかの態様では、各別個のパーティション内の行は降順に従って順位付けされる。
その後、ステップ512で、アプリケーションプログラムに応答して、データベースは、各グループ内の、最低の順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値を計算する。別の例では、各グループの順位値は、代わりに、各グループ内の、最高の順位値を有する行に対応する、最高の順位値に対応する。
例えば、図9Cを参照すると、特異なグループ(g=a)は、1という順位値を有する行を含むため、1という最小順位値を有する。グループ(g=b)は、このグループ内のすべての行における3という最低の順位値を含むため、3という最小順位値を有する。図9Cに示すように、最小順位値は列min_rank(g-p)として示されている。いくつかの態様では、順位値が最高の順位値を有する各グループ内の行に対応する場合、データベースは、最高の順位値を有する各グループ内の行を識別する。
その後、ステップ514で、アプリケーションプログラムに応答して、データベースは、最小順位値限界を満たさないグループ化値のグループを除外するために別個のグループ化値グループの各々に最小順位値限界を適用する。いくつかの態様では、最小順位値限界によって除外されないグループ化値グループは、限定されたデータセットを提供する。アプリケーションプログラムに応答して、データベースは最小順位値限界を指定し、これは、概して、特異なグループ化値グループごとに最小順位値限界を確立することを指す。
包含的手法
図6は、一例による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法600の流れ図である。この例示的態様は、本開示の包含的手法の一態様を示すものである。ステップ602で、データベースは、例えば、アプリケーションプログラムによって指定された、初期データセットにおけるグループ化列の指定を受け取る。いくつかの態様では、指定のステップに先立ち、データベースは、データベース・アプリケーション・プログラムを実行するためのステップを開始するよう求めるアプリケーションプログラムからのコマンドまたは命令を受け取る。
ステップ604で、データベースは、例えば、アプリケーションプログラムによって指定された、初期データセットにおけるパーティション列の指定を受け取る。ステップ606で、データベースは、例えば、アプリケーションプログラムによって指定された、初期データセットにおける順序付け列の指定を受け取る。
いくつかの態様では、グループ化列、パーティション列、および順序付け列の指定は、クライアントデバイスのアプリケーションプログラムを介してユーザによって手作業で指定される。いくつかの態様では、グループ化列、パーティション列、および順序付け列の指定は、クライアントデバイスおよび/またはデータベースに含まれるデータベース・アプリケーション・プログラムによって自動的に指定される。
ステップ608で、アプリケーションプログラムは、特定のパーティション値の指定を受け取る。例えば、図10Aを参照すると、特定のパーティション値(p=1)は、アプリケーションプログラムによって指定される。いくつかの態様では、アプリケーションプログラムは、初期データセットにおいて繰り返される特定のパーティション値を指定する。しかし、いくつかの態様では、指定されたパーティション値は初期データセットにおいて繰り返されない。そうした例では、データベース・アプリケーション・プログラムは、たとえ指定されたパーティション値が繰り返されない場合でさえも、依然として、指定されたパーティション値に従って行をパーティショニングする。
その後、ステップ610で、アプリケーションプログラムに応答して、データベースは、初期データセット内の、特定のパーティション値を含む行を識別する。例えば、図10Aを参照すると、特定のパーティション値(p=1)が指定された場合には、データベースは、特定のパーティション値(p=1)を含む初期データセット内の行のみを識別する。この例では、図10Aに示すように、(p=1)というパーティション値を含む4つの行、a-1-100、b-1-22、c-1-5、およびd-1-99がある。
その後、ステップ612で、アプリケーションプログラムに応答して、データベースは、初期データセット内の、特定のパーティション値を含む行を識別、選択し、限定された行セットを提供するために各選択行の順序付け値に対応する順位に従って選択行を限定する。例えば、アプリケーションプログラムに応答して、データベースは、指定されたパーティション値を含む行のみを選択し、それらの行を対応する順序付け値に従って順位付けする。
例えば、アプリケーションプログラムは、行制限を指定するようにプログラムされる。行制限を指定することによって、アプリケーションプログラムに応答して、データベースは、指定された行制限に従って特定のパーティション値を含む、限定されたデータセットで提供されるべき行数を制限する。いくつかの態様では、行制限は、限定された行セットに含めるべき最小行数も指定する。例えば、2という行制限は、限定された行セットには2行が含まれなければならないことを指定する。
ある例では、アプリケーションプログラムは、ピボットテーブルの行制限も指定するようにプログラムされる。ピボットテーブルの行制限の指定を受け取った結果として、データベースは、ピボットテーブルを埋めるためにどの行が必要か決定する。ある例では、初期データセットは、アプリケーションプログラムのメモリの物理的限界内に適合できない。その結果、アプリケーションプログラムは、ピボットテーブルに含められる指定の行数を指定することになり、指定行数はコマンドとしてデータベースに送られる。その後、データベースは、ピボットテーブルが指定の行数を含むことを求めるアプリケーションプログラムの要求を満たすため、限定されたデータセットを提供するために初期データセットからデータを選択的に取得する。
例えば、図10Bを参照すると、アプリケーションプログラムに応答して、データベースは、特定のパーティション値(p=1)を含むすべての行を識別し、その後、各行の対応する順序付け値に従ってパーティション(p=1)に含まれるすべての行に順位付けする。アプリケーションプログラムに応答して、データベースは、各行の順位値に従って特定のパーティション値を含む行数を制限することによって、限定された行セットを提供し、指定された行制限に従って、限定された行セットで提供される行を限定する。例えば、アプリケーションプログラムは、2という行制限を指定する。したがって、行a-1-100と行d-1-99とが、最高の順序付け値を有するこのパーティション内の2行であり、限定された行セットの例を表している。
アプリケーションプログラムは、ある例によれば、データベースによって受け取られ、処理されるべきSQL式を作成する。例えば、アプリケーションプログラムは行制限を指定し、行制限はデータベースに送られる。一例では、SQL式は、行制限を指定する、LIMIT SQLである。
いくつかの態様では、行制限を適用した後、データベースは、特定のパーティション値を含みかつ指定された行制限も満たす、十分な行を与えることができない場合がある。そうした例では、アプリケーションプログラムに応答して、データベースは、限定されたデータセットを提供するために特定のパーティション値を含まない追加行を選択的に取得する。いくつかの態様では、アプリケーションプログラムは、この結果を問合せするLEFT JOIN SQL式またはRIGHT JOIN SQL式を指定する。
さらに、データベースは、行のORDER順位付けに対するSQL式をさらに受け取る。いくつかの態様では、順序順位付けのSQL式は、ORDER BY m DESCである。一例では、ORDER BY m DESCおよびLIMIT 2のSQL式が利用される場合には、データベースプログラムは、上位2つの対応する順序付け値を含む2行のみを含むように、限定されたデータセットに読み込むために初期データセットから選択的に取得される行数を限定する。
ステップ614で、アプリケーションプログラムに応答して、データベースは、限定されたデータセットを提供するために、限定された行セットのグループ化値と共通のグループ化値を共有するすべての行を含むように限定行セットを拡張する。例えば、図10Cを参照すると、データベースは、限定された行セットに含まれる2行が(a、d)というグループ化値を有することを以前に識別した。したがって、データベースは、aまたはdというグループ化値を含む初期データセット内のすべての行を識別し、図10Cに示すように、限定された行セットと共通のグループ化値を含む行をさらに含むように限定行セットを拡張する。
図6のステップを実行するための例示的なSQL式を以下に示す。
Figure 2018519578
Figure 2018519578
図7は、一例による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法700の流れ図である。
ステップ702で、アプリケーションプログラムは、初期データセットにおけるグループ化列を指定する。ステップ704で、アプリケーションプログラムは、初期データセットにおけるパーティション列を指定する。ステップ706で、アプリケーションプログラムは、初期データセットにおける順序付け列を指定する。いくつかの態様では、指定のステップに先立ちアプリケーションプログラムは、データベース・アプリケーション・プログラムを実行するための命令またはコマンドを送る。ステップ708で、アプリケーションプログラムは、特定のパーティション値をさらに指定する。
いくつかの態様では、アプリケーションプログラムは、特定のパーティション値を指定する。しかし、いくつかの態様では、指定されたパーティション値は初期データセットにおいて繰り返されない。そうした例では、データベース・アプリケーション・プログラムは、たとえ指定されたパーティション値が繰り返されない場合でさえも、依然として、指定されたパーティション値に従って行をパーティショニングする。
その後、ステップ710で、アプリケーションプログラムに応答して、データベースは、初期データセット内の、特定のパーティション値を含む行を識別する。例えば、図10Aを参照すると、特定のパーティション値(p=1)が指定された場合には、データベースは、特定のパーティション値(p=1)を含む初期データセット内の行のみを識別する。この例では、図10Aに示すように、(p=1)というパーティション値を含む4つの行、a-1-100、b-1-22、c-1-5、およびd-1-99がある。
その後、ステップ712で、アプリケーションプログラムに応答して、データベースは、初期データセット内の、特定のパーティション値を含む行を識別、選択し、限定された行セットを提供するために各選択行の順序付け値に対応する順位に従って選択行を限定する。例えば、アプリケーションプログラムに応答して、データベースは、指定されたパーティション値を含む行のみを選択し、それらの行を対応する順序付け値に従って順位付けする。
例えば、アプリケーションプログラムは、行制限を指定するようにプログラムされる。アプリケーションプログラムは、行制限を指定することによって、指定された行制限に従って特定のパーティション値を含む限定されたデータセットで提供されるべき行数を制限するようにプログラムされる。いくつかの態様では、行制限は、限定された行セットに含めるべき最小行数も指定する。例えば、2という行制限は、限定された行セットには2行が含まれなければならないことを指定する。
例えば、図10Bを参照すると、アプリケーションプログラムに応答して、データベースは、特定のパーティション値(p=1)を含むすべての行を識別し、その後、各行の対応する順序付け値に従ってパーティション(p=1)に含まれるすべての行に順位付けする。アプリケーションプログラムに応答して、データベースは、各行の順位値に従って特定のパーティション値を含む行数を制限することによって限定された行セットを提供し、指定された行制限に従って限定された行セットで提供される行を限定する。例えば、アプリケーションプログラムは、2という行制限を指定する。したがって、行a-1-100と行d-1-99とが、最高の順序付け値を有するこのパーティション内の2行であり、限定された行セットの例を表している。
ステップ714で、アプリケーションプログラムに応答して、データベースは、限定されたデータセットを提供するために、限定された行セットのグループ化値と共通のグループ化値を共有するすべての行を含むように限定行セットを拡張する。例えば、図10Cを参照すると、限定された行セットに含まれる2行が(a、d)というグループ化値を有することを、あらかじめ識別した。したがって、データベースは、aまたはdというグループ化値を含む初期データセット内のすべての行を識別し、図10Cに示すように限定された行セットと共通のグループ化値を含む行をさらに含むように限定行セットを拡張する。
クライアントデバイス上のデータベース・アプリケーション・プログラムは、拡張された行数が限定されたデータセットにおいて取得されると、ピボットテーブルを形成するために限定されたデータセットをピボットし、または再編成するように構成されている。例えば、図10Cに示す限定されたデータセット1012のピボットテーブル1014を示す図10Dを参照されたい。
いくつかの態様では、初期データセット内の値は限定されたデータセットを提供するには不完全であり、または不十分である場合がある。例えば、初期データセットのグループ化値、パーティション値、または順序付け値のうちの1つまたは複数が不完全な場合がある。そうした値はヌル値または0値で表される。この例では、アプリケーションプログラムは、RIGHT JOINコマンドまたはLEFT JOINコマンドを用いてSQL問合せを実行することによって、データが不完全であることを無視して、初期データセットからデータを選択的に取得するためのステップを行うようにさらに構成される。利用できるSQL式の一例を以下に示す。
Figure 2018519578
Figure 2018519578
よって、上記のSQL問合せ式を用いれば、アプリケーションプログラムは、たとえ選択されたグループ化値グループの対応する順序付け値がない場合でさえも、データベースに、2という行制限に従って、限定されたデータセットを埋めさせることができる。
ピボットテーブルへの限定されたデータセットの読み込み
図8に、一例による、ピボットに読み込むための方法800を示す。限定されたデータセットは、本明細書に記載する方法のうちの1つまたは複数によって提供される。
ステップ802で、アプリケーションプログラムは、ピボットテーブル内にありかつ限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供する。ピボットステップの一例が図10Dに示されている。図10Dには、限定されたデータセット1012がピボットテーブル1014を提供するようにピボットされることが示されている。図10Dのこの例では、ピボットテーブルには2行が設けられており、各行は特異なグループ化値(a、d)を表している。さらに、この例では、各特異なパーティション値(1、2、3)を表す3列が設けられている。例えば、グループ化値(g=a)とパーティション値(p=1)とは、ピボットテーブル内の一意のセルを定義する特異なグループ化値-パーティション値の対(a-1)を形成している。各特異なグループ化値-パーティション値の対によって定義される各一意のセルには、次いで、特異な行ごとの対応する順序付け値が読み込まれる。この例では、特異なグループ化値-パーティション値の対(a-1)の一意のセルに対応する順序付け値100が読み込まれる。
ピボットステップの例が図10Dに示す一例に示されている。図10Dに示される、ステップ804において、アプリケーションプログラムは、各特異なグループ化値-パーティション値の対を定義することによってテーブルの各一意のセルに、限定されたデータセット内の各特異な行から対応する順序付け値を読み込む。いくつかの態様では、アプリケーションプログラムは、テーブルのすべてのセルに、限定されたデータセット内の各特異な行から対応する順序付け値が読み込まれるまで、すべての特異なグループ化値-パーティション値の対に対するテーブルの各一意のセルに読み込むようにプログラムされている。
いくつかの態様では、ピボットテーブルを提供するように、限定されたデータセットをピボットするステップは、限定されたデータセットを提供した直後に行われる。別の例では、限定されたデータセットを提供するステップと、その後の、ピボットテーブルを提供するように限定されたデータセットをピボットするステップとの間に遅延が生じる。図10Dを参照すると、限定されたデータセット1012はピボットテーブル1014を提供するようにピボットされる。ピボットテーブルは、ピボットテーブル内にありかつ限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供する。
本明細書で前述したように、図9A〜図9Dには、排他的手法のある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法のデータセットの例が示されている。
図9Aには、グループ化列904と、パーティション列906と、順序付け列908とを含む初期データセット902が示されている。グループ化列904はグループ化値を含む。パーティション列906は、特異なパーティション(p=1、2、または3)で表されるパーティション値を含む。特異なパーティション値は初期データセットにおいて繰り返される場合もある。順序付け列908は順序付け値を含む。グループ化列は、別個のグループ(g=a、b、c、またはd)として表された、別個のグループ化値グループを含む。
図9Bには、順位値(_r)を決定するステップが示されている。この例では、順位値(_r)は、各別個のパーティション内に含まれる行の順位を表す。例えば、各パーティションは、共通のパーティション値を共有するすべての行を含む。この例では、各グループはp=1、2、または3に従ってパーティション値で分けられている。この例では、順位値は、各行の対応する順序付け値に従って各パーティション内に含まれる行ごとに決定される。例えば、パーティション(p=1)は、a-1-100、b-1-22、c-1-5、およびd-1-99の各行を含む。これとは別に、パーティション(p=2)は、a-2-15、b-2-8、c-2-12、およびd-2-42の各行を含む。パーティション(p=3)は、a-3-19、b-3-10、c-3-17、およびd-3-76の各行を含む。
図9Bに示す例では、順位値は、順序付け値の昇順に基づいて決定される。例えば、各特異なパーティション内に含まれる各行が、それぞれ、同じパーティション内に含まれるその他の行に対して順位付けされる。例えば、行a-1-100は1という順位値を有し、行d-1-99は2という順位値を有し、行b-1-22は3という順位値を有し、行c-1-5は4という順位値を有する。図9Bの初期データセットは、1つまたは複数の順位値を含む、初期データセットに追加された追加の順位値(_r)列910をさらに含んでいてよい。
図9Cには、min_rankがグループ化値グループ化ごとに確立されることが示されている。例えば、グループ(a)を参照すると、グループ内に含まれるすべての行の最低の最小順位(_r)は_r=1であるため、グループのmin_rankは1である。別の例では、グループ(b)を参照すると、グループ(b)内に含まれるすべての行の最低の最小順位(_r)は_r=3であるため、グループ(b)のmin_rankは3である。図9Cには、初期データセットが初期データセットに追加された追加のmin_rank列912をさらに含んでいてよいことが示されており、min_rank列912は1つまたは複数の最小順位値を含む。
図9Dには、初期データセットからデータを選択的に取得した後の限定されたデータセット914が示されている。この例では、限定されたデータセットを提供する前に、データベースは最小順位値限界を指定する。例えば、データベースは、2以上(すなわち、x≧2)のmin_rank値を有するすべてのグループ化値グループを除外する。したがって、2以上のmin_rank値を有するグループ化値のすべてのグループが、限定されたデータセットで提供されることから除外される。したがって、グループ(a)とグループ(d)のみが2未満のmin_rank値を含むため、それらのグループのみが限定されたデータセットにおいて提供されることになる。さらに、限定されたデータセット914は、次いで、アプリケーションプログラムによって指定された行数だけを含むピボットテーブルを提供するようにアプリケーションプログラムによってピボットされる。例えば、アプリケーションプログラムが2という行制限を指定した場合には、結果として得られるピボットテーブルは2行に制限されることになる。
本明細書で前述したように、図10A〜図10Dには、包含的手法のある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するための方法のデータセットの例が示されている。
図10Aには、グループ化列1004と、パーティション列1006と、順序付け列1008とを含む初期データセット1002が示されている。グループ化列1004はグループ化値を含む。パーティション列1006は、特異なパーティション(p=1、2、または3)で表される、繰り返すパーティション値を含むパーティション値を含む。順序付け列1008は順序付け値を含む。グループ化列1004は、別個のグループ(g=a、b、c、またはd)で表された、別個のグループ化値グループを含む。図10Aには示されていないが、アプリケーションプログラムは、特定のパーティション値を指定することができる。この例では、アプリケーションプログラムは、p=1という特定のパーティション値を指定している。
図10Bには、初期データセット内の、(p=1)という特定のパーティション値を含む行の識別および選択が示されている。特定のパーティション値を含む選択行は、指定されたパーティション値を含む限定された行セットを提供するようにさらに限定される。例えば、限定された行セットにおいて提供される行数は、行制限を指定するアプリケーションプログラムによって決定される。所望の行制限を獲得するために、データベースのコンピュータプロセッサは、各行の対応する順序付け値に従って特定のパーティション値を含む選択行を順位付けするようにプログラムされている。したがって、アプリケーションプログラムは、各行の対応する順序付け値に従って選択行の数を制限する。
例えば、アプリケーションプログラムは、SQL式を用いて、行制限を以下のように指定する。
Figure 2018519578
図10Bに示すように、2という行制限が指定されている。その後、アプリケーションプログラムに応答して、データベースは、2つの最高の順序付け値を有する2行だけを含むように、限定された行セットで提供されるべき行数を限定することによって、限定された行セットa-1-100およびd-1-99を提供している。したがって、a-1-100とd-1-99とは、それら2つの最高の順序付け値を有するため、降順で出力されることになる。図10Bには、ユーザに表示されるべきである場合の、限定された行セットの行を表す仮想または中間的なデータセット1010が表されている。
図10Cには、データベースが、限定された行セットを、限定された行セットのグループ化値と共通のグループ化値を含む初期データセット内のすべての行を含むように拡張した結果としての、限定されたデータセット1012が示されている。図10Bを参照して説明したように、データベースは2つのグループ(a、g)を識別した。したがって、データベースは、グループ化値(a、g)を含む初期データセット内のすべての行を識別する。
図10Dを参照すると、限定されたデータセット1012はピボットテーブル1014を提供するようにさらにピボットされる。ピボットテーブルは、ピボットテーブル内にありかつ限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供する。この例では、ピボットテーブルには2行が設けられており、各行は特異なグループ化値(a、d)を表している。さらに、この例では、各特異なパーティション値(1、2、3)を表す3列が設けられている。例えば、グループ化値(g=a)とパーティション値(p=1)とは、ピボットテーブル内の一意のセルを定義する特異なグループ化値-パーティション値の対(a-1)を形成している。各特異なグループ化値-パーティション値の対によって定義される各一意のセルには、次いで、特異な行ごとの対応する順序付け値が読み込まれる。この例では、特異なグループ化値-パーティション値の対(a-1)の一意のセルに対応する順序付け値100が読み込まれる。
ピボットテーブル1014は、アプリケーションプログラムによって指定された行数だけを含む。例えば、アプリケーションプログラムが2という行制限を指定した場合には、結果として得られるピボットテーブルは2行だけを含む。
図11に、ピボットテーブルを提供するように限定されたデータセットをピボットする一例を示す。例えば、図11には、ピボットテーブル1104を提供するように限定されたデータセット1102をピボットするステップが示されている。この例では、ピボットテーブルには3行が設けられており、各行は特異なグループ化値(2/14、1/14、12/13)を表している。さらに、この例では、各特異なパーティション値(男性、女性)を表す2列が設けられている。例えば、グループ化値(g=2/14)とパーティション値(p=男性)とは、ピボットテーブル内の一意のセルを定義する特異なグループ化値-パーティション値の対(2/14-M)を形成している。各特異なグループ化値-パーティション値の対によって定義される各一意のセルには、次いで、特異な行ごとの対応する順序付け値が読み込まれる。この例では、特異なグループ化値-パーティション値の対(2/14-M)の一意のセルに対応する順序付け値10が読み込まれる。
図11は、ユーザによる例示的な問合せ、「合計何人の男性顧客が注文を出したか?」に応答した限定されたデータセットを表している。小規模な初期データセットの少量のデータでは、ユーザは、テーブルを見ただけで回答を決定することができる。しかし、初期データセットに大量のデータがある場合には、出された質問への回答を決定することがより困難になる。しかし、限定されたデータセットを用いれば、ユーザは、出された質問への回答、すなわち、8人の男性顧客が12月中に注文を出し、9人の男性顧客が1月中に注文を出し、10人の男性顧客が2月中に注文を出した、をより容易に決定することができる。
図12に、ある例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するためのSQL実装方法の一例を示す。図12に示すように、データベース・アプリケーション・プログラムは、パーティション列(‘PARTITION BY p’)および順序付け列(‘ORDER BY m DESC’)を指定する。さらに、‘ORDER BY m DESC’は、各パーティション内の行の順位を決定することが、各パーティション内の順序付け値の降順の値に基づいて決定されることを明確にする。さらに、SQL式‘WHERE_min_rank≦2’は、最小順位値限界は最小順位値が2以下の場合であると指定する。例えば、データベースは、2以下の最小順位値を有するパーティションを組み入れない。
図13に、別の例示的態様による、限定されたデータセットを提供するために初期データセットからデータを選択的に取得するためのSQL実装方法の一例を示す。図13に示すように、指定されたパーティション値は、SQL式‘SELECT p’を用いてアプリケーションプログラムによって指定される。さらに、アプリケーションプログラムは、SQL式‘LIMIT 1’を用いて行制限を指定する。データベース・アプリケーション・プログラムは、パーティション列(‘PARTITION BY p’)および順序付け列(‘ORDER BY m DESC’)を指定する。いくつかの態様では、初期データセット内の値は限定されたデータセットを提供するには不完全であるか、または不十分である場合がある。例えば、初期データセットの順序付け、選別、または順序付け値のうちの1つまたは複数が不完全な場合がある。そうした値はヌル値または0値で表される。この例では、データベースは、RIGHT JOIN式またはLEFT JOIN式を用いてSQL問合せを実行することによって、データが欠如している可能性があることを無視して、初期データセットからデータを選択的に取得するためのステップをさらに実行する。
前述した発明は理解を明確にするための例としてある程度詳細に説明されているが、本開示の教示に鑑みれば、添付の特許請求の趣旨および範囲を逸脱することなく前述した発明にいくつかの変更および改変が加えられうることが、当業者には容易に明らかになるはずである。
したがって、以上は単に本発明の原理を例示しているにすぎない。当業者であれば、本明細書には明確に説明、図示されていないが、本発明の原理を具現化し、本発明の趣旨および範囲に含まれる様々な構成を考案することができることが理解されるであろう。さらに、本明細書に記載されるすべての例および条件付きの文言は、主として、読者が、本発明の原理を、そうした具体的に記載される例および条件だけに限定せずに理解する助けとするためのものである。さらに、本発明の原理、局面および態様ならびにそれらの具体例を記載する本明細書のすべての記述は、それらの構造的均等物と機能的均等物の両方を包含すべきことが意図されている。加えて、そうした均等物は、現在公知である均等物と、将来において開発される均等物、すなわち、構造にかかわらず同じ機能を果たす任意の開発される要素の両方を含むものであることも意図されている。したがって、本発明の範囲は、本明細書において図示し、記載した例示的態様だけに限定されるものではない。そうではなく、本発明の範囲および趣旨は、添付の特許請求の範囲によって具現化されるものである。

Claims (76)

  1. ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するためのコンピュータ実装方法であって、1つまたは複数のコンピュータプロセッサによって行われる以下のステップを含む、前記方法:
    a.前記初期データセットにおけるグループ化列の指定を受け取るステップであって、前記グループ化列がグループ化値の1つまたは複数のグループを含む、グループ化列の指定を受け取る前記ステップ;
    b.前記初期データセットにおけるパーティション列の指定を受け取るステップであって、前記パーティション列が1つまたは複数のパーティション値を含む、パーティション列の指定を受け取る前記ステップ;
    c.前記初期データセットにおける順序付け列の指定を受け取るステップであって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、順序付け列の指定を受け取る前記ステップ;
    d.特定のパーティション値の指定を受け取るステップ;
    e.前記初期データセットにおける、前記特定のパーティション値を含む行を識別するステップ;
    f.前記特定のパーティション値を含む前記行を選択し、限定された行セットを提供するために各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定するステップ;ならびに
    g.前記限定されたデータセットを提供するために、前記限定された行セットの前記グループ化値と共通のグループ化値を共有するすべての行を含むように前記限定行セットを拡張するステップ。
  2. 前記限定されたデータセットを組み入れたピボットテーブルを提供するステップを含む方法であって、前記ピボットテーブルを提供する前記ステップが以下を含む、請求項1記載の方法:
    a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
    b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
  3. 各選択行の前記対応する順序付け値の前記順位が、昇順または降順のどちらかに基づくものである、請求項1記載の方法。
  4. 前記初期データセットにおけるグループ化列、パーティション列、および順序付け列の指定を受け取る前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、請求項1記載の方法。
  5. 前記1つまたは複数のコンピュータプロセッサによって行われる前記ステップのうちの1つまたは複数を行うためにJOIN SQL式が実行される、請求項1記載の方法。
  6. 前記パーティション列に含まれる他のパーティション値の選別を行うためOFFSET SQL式を実行することを含む、請求項1記載の方法。
  7. 前記パーティション列に含まれる前記パーティション値を限定するためLIMIT SQL式を実行することを含む、請求項1記載の方法。
  8. 前記限定されたデータセットをクライアントデバイス上に含まれるアプリケーションプログラムに送ることをさらに含む、請求項1記載の方法。
  9. 前記限定されたデータセットのための行制限の指定を受け取ることを含む、請求項1記載の方法。
  10. 各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定する前記ステップが、
    前記限定されたデータセットを提供するために、前記特定のパーティション値を含まない追加行を選択的に取得するためRIGHT JOIN SQL式を実行すること
    を含む、請求項9記載の方法。
  11. 各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定する前記ステップが、
    前記限定されたデータセットを提供するために、前記特定のパーティション値を含まない追加行を選択的に取得するためLEFT JOIN SQL式を実行すること
    を含む、請求項9記載の方法。
  12. ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するためのコンピュータ実装方法であって、1つまたは複数のコンピュータプロセッサによって行われる以下のステップを含む、前記方法:
    a.前記初期データセットにおけるグループ化列を指定するステップであって、前記グループ化列がグループ化値の1つまたは複数のグループを含む、グループ化列を指定する前記ステップ;
    b.前記初期データセットにおけるパーティション列を指定するステップであって、前記パーティション列が1つまたは複数のパーティション値を含む、パーティション列を指定する前記ステップ;
    c.前記初期データセットにおける順序付け列を指定するステップであって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、順序付け列を指定する前記ステップ;
    d.特定のパーティション値を指定するステップ;
    e.前記初期データセットにおける、前記特定のパーティション値を含む行を識別するステップ;
    f.前記特定のパーティション値を含む前記行を選択し、限定された行セットを提供するために各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定するステップ;ならびに
    g.前記限定されたデータセットを提供するために、前記限定された行セットの前記グループ化値と共通のグループ化値を共有するすべての行を含むように前記限定行セットを拡張するステップ。
  13. 前記限定されたデータセットを組み入れたピボットテーブルを提供するステップを含む方法であって、前記ピボットテーブルを提供する前記ステップが以下を含む、請求項12記載の方法:
    a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
    b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
  14. 各選択行の前記対応する順序付け値の前記順位が、昇順または降順のどちらかに基づくものである、請求項12記載の方法。
  15. 前記初期データセットにおけるグループ化列、パーティション列、および順序付け列を指定する前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、請求項12記載の方法。
  16. 前記1つまたは複数のコンピュータプロセッサによって行われる前記ステップのうちの1つまたは複数を行うためにJOIN SQL式が実行される、請求項12記載の方法。
  17. 前記パーティション列に含まれる他のパーティション値の選別を行うためOFFSET SQL式を実行することを含む、請求項12記載の方法。
  18. 前記パーティション列に含まれる前記パーティション値を限定するためLIMIT SQL式を実行することを含む、請求項12記載の方法。
  19. 前記限定されたデータセットをクライアントデバイス上に含まれるアプリケーションプログラムに送ることをさらに含む、請求項12記載の方法。
  20. 前記限定されたデータセットのための行制限の指定を受け取ることを含む、請求項12記載の方法。
  21. 各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定する前記ステップが、
    前記限定されたデータセットを提供するために、前記特定のパーティション値を含まない追加行を選択的に取得するためRIGHT JOIN SQL式を実行すること
    を含む、請求項20記載の方法。
  22. 各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定する前記ステップが、
    前記限定されたデータセットを提供するために、前記特定のパーティション値を含まない追加行を選択的に取得するためLEFT JOIN SQL式を実行すること
    を含む、請求項20記載の方法。
  23. ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するための非一時的なコンピュータ可読記録媒体であって、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに以下を行わせる命令を含む、前記非一時的なコンピュータ可読記録媒体:
    a.前記初期データセットにおけるグループ化列の指定の受け取りであって、前記グループ化列が、1つまたは複数のグループ化値の1つまたは複数のグループを含む、前記グループ化列の指定の受け取り;
    b.前記初期データセットにおけるパーティション列の指定の受け取りであって、前記パーティション列が、1つまたは複数のパーティション値を含む、前記パーティション列の指定の受け取り;
    c.前記初期データセットにおける順序付け列の指定の受け取りであって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、前記順序付け列の指定の受け取り;
    d.特定のパーティション値の指定の受け取り;
    e.前記初期データセットにおける、前記特定のパーティション値を含む行の識別;
    f.前記特定のパーティション値を含む前記行の選択、および限定された行セットを提供するための、各選択行の前記対応する順序付け値の順位に基づく前記選択行の限定;ならびに
    g.前記限定されたデータセットを提供するための、前記限定された行セットの前記グループ化値と共通のグループ化値を共有するすべての行を含むようにする前記限定された行セットの拡張。
  24. 前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットを組み入れたピボットテーブルを提供させる命令を含む、非一時的なコンピュータ可読記録媒体であって、前記ピボットテーブルを提供する前記ステップが以下を含む、請求項23記載の非一時的なコンピュータ可読記録媒体:
    a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
    b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
  25. 各選択行の前記対応する順序付け値の前記順位が、昇順または降順のどちらかに基づくものである、請求項23記載の非一時的なコンピュータ可読記録媒体。
  26. 前記初期データセットにおけるグループ化列、パーティション列、および順序付け列の指定を受け取る前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、請求項23記載の非一時的なコンピュータ可読記録媒体。
  27. 請求項23記載の前記ステップのうちの1つまたは複数を行うために実行されるJOIN SQL式を含む命令を含む、請求項23記載の非一時的なコンピュータ可読記録媒体。
  28. 前記パーティション列に含まれる他のパーティション値の選別を行うためのOFFSET SQL式を含む命令を含む、請求項23記載の非一時的なコンピュータ可読記録媒体。
  29. 前記パーティション列に含まれる前記パーティション値を限定するためのLIMIT SQL式を含む命令を含む、請求項23記載の非一時的なコンピュータ可読記録媒体。
  30. 前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットをクライアントデバイス上に含まれるアプリケーションプログラムに送らせる命令を含む、請求項23記載の非一時的なコンピュータ可読記録媒体。
  31. 前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットの行制限の指定を受け取らせる命令を含む、請求項23記載の非一時的なコンピュータ可読記録媒体。
  32. 各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定するために、前記非一時的な記録媒体が、前記限定されたデータセットを提供するために前記特定のパーティション値を含まない追加行を選択的に取得するためのRIGHT JOIN SQL式を含む命令を含む、請求項31記載の非一時的なコンピュータ可読記録媒体。
  33. 各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定するために、前記非一時的な記録媒体が、前記限定されたデータセットを提供するために前記特定のパーティション値を含まない追加行を選択的に取得するためのLEFT JOIN SQL式を含む命令を含む、請求項31記載の非一時的なコンピュータ可読記録媒体。
  34. ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するための非一時的なコンピュータ可読記録媒体であって、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに以下を行わせる命令を含む、前記非一時的なコンピュータ可読記録媒体:
    a.前記初期データセットにおけるグループ化列の指定であって、前記グループ化列が、1つまたは複数のグループ化値の1つまたは複数のグループを含む、前記グループ化列の指定;
    b.前記初期データセットにおけるパーティション列の指定であって、前記パーティション列が、1つまたは複数のパーティション値を含む、前記パーティション列の指定;
    c.前記初期データセットにおける順序付け列の指定であって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、前記順序付け列の指定;
    d.特定のパーティション値の指定;
    e.前記初期データセットにおける、前記特定のパーティション値を含む行の識別;
    f.前記特定のパーティション値を含む前記行の選択、および限定された行セットを提供するための、各選択行の前記対応する順序付け値の順位に基づく前記選択行の限定;ならびに
    g.前記限定されたデータセットを提供するための、前記限定された行セットの前記グループ化値と共通のグループ化値を共有するすべての行を含むようにする前記限定された行セットの拡張。
  35. 前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットを組み入れたピボットテーブルを提供させる命令を含む、非一時的なコンピュータ可読記録媒体であって、前記ピボットテーブルを提供する前記ステップが以下を含む、請求項34記載の非一時的なコンピュータ可読記録媒体:
    a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
    b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
  36. 各選択行の前記対応する順序付け値の前記順位が、昇順または降順のどちらかに基づくものである、請求項34記載の非一時的なコンピュータ可読記録媒体。
  37. 前記初期データセットにおけるグループ化列、パーティション列、および順序付け列を指定する前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、請求項34記載の非一時的なコンピュータ可読記録媒体。
  38. 請求項23記載の前記ステップのうちの1つまたは複数を行うために実行されるJOIN SQL式を含む命令を含む、請求項34記載の非一時的なコンピュータ可読記録媒体。
  39. 前記パーティション列に含まれる他のパーティション値の選別を行うためのOFFSET SQL式を含む命令を含む、請求項34記載の非一時的なコンピュータ可読記録媒体。
  40. 前記パーティション列に含まれる前記パーティション値を限定するためのLIMIT SQL式を含む命令を含む、請求項34記載の非一時的なコンピュータ可読記録媒体。
  41. 前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットをクライアントデバイス上に含まれるアプリケーションプログラムに送らせる命令を含む、請求項34記載の非一時的なコンピュータ可読記録媒体。
  42. 前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットの行制限を指定させる命令を含む、請求項34記載の非一時的なコンピュータ可読記録媒体。
  43. 各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定するために、前記非一時的な記録媒体が、前記限定されたデータセットを提供するために前記特定のパーティション値を含まない追加行を選択的に取得するためのRIGHT JOIN SQL式を含む命令を含む、請求項42記載の非一時的なコンピュータ可読記録媒体。
  44. 各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定するために、前記非一時的な記録媒体が、前記限定されたデータセットを提供するために前記特定のパーティション値を含まない追加行を選択的に取得するためのLEFT JOIN SQL式を含む命令を含む、請求項42記載の非一時的なコンピュータ可読記録媒体。
  45. a.初期データセットにおける、グループ化値の1つまたは複数のグループを含むグループ化列を指定し;
    b.前記初期データセットにおける、1つまたは複数のパーティション値を含むパーティション列を指定し;
    c.対応するグループ化値、対応するパーティション値、および対応する順序付け値を各行が含む1つまたは複数の行を含む前記初期データセットにおける、1つまたは複数の順序付け値を含む順序付け列を指定する
    アプリケーションプログラムと、
    d.特定のパーティション値を指定し;
    e.前記初期データセットにおける、前記特定のパーティション値を含む行を識別し;
    f.前記特定のパーティション値を含む前記行を選択し、限定された行セットを提供するために各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定し;および
    g.限定されたデータセットを提供するために、前記限定された行セットの前記グループ化値と共通のグループ化値を共有するすべての行を含むように前記限定行セットを拡張する
    関係データベースと、
    を含む、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベースが含む初期データセットから選択的に取得するためのシステム。
  46. 前記アプリケーションプログラムが前記限定されたデータセットを組み入れたピボットテーブルを提供し、前記ピボットテーブルを提供する前記ステップが以下を含む、請求項45記載のシステム:
    a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
    b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
  47. 各選択行の前記対応する順序付け値の前記順位が、昇順または降順のどちらかに基づくものである、請求項45記載のシステム。
  48. 前記初期データセットにおけるグループ化列、パーティション列、および順序付け列を指定する前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、請求項45記載のシステム。
  49. 前記1つまたは複数のコンピュータプロセッサによって行われる前記ステップのうちの1つまたは複数を行うためにJOIN SQL式が実行される、請求項45記載のシステム。
  50. 前記パーティション列に含まれる他のパーティション値の選別を行うためOFFSET SQL式を実行することを含む、請求項45記載のシステム。
  51. 前記パーティション列に含まれる前記パーティション値を限定するためLIMIT SQL式を実行することを含む、請求項45記載のシステム。
  52. 前記アプリケーションプログラムが前記限定されたデータセットの行制限を指定する、請求項45記載のシステム。
  53. 各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定する前記ステップが、
    前記限定されたデータセットを提供するために、前記特定のパーティション値を含まない追加行を選択的に取得するためRIGHT JOIN SQL式を実行すること
    を含む、請求項52記載のシステム。
  54. 各選択行の前記対応する順序付け値の順位に基づいて前記選択行を限定する前記ステップが、
    前記限定されたデータセットを提供するために、前記特定のパーティション値を含まない追加行を選択的に取得するためLEFT JOIN SQL式を実行すること
    を含む、請求項52記載のシステム。
  55. ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するためのコンピュータ実装方法であって、1つまたは複数のコンピュータプロセッサによって行われる以下のステップを含む、前記方法:
    a.前記初期データセットにおけるグループ化列の指定を受け取るステップであって、前記グループ化列がグループ化値の1つまたは複数のグループを含む、グループ化列の指定を受け取る前記ステップ;
    b.前記初期データセットにおけるパーティション列の指定を受け取るステップであって、前記パーティション列が1つまたは複数のパーティション値を含む複数のパーティション値を含む、パーティション列の指定を受け取る前記ステップ;
    c.前記初期データセットにおける順序付け列の指定を受け取るステップであって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、順序付け列の指定を受け取る前記ステップ;
    d.前記1つまたは複数の行のうちの、共通パーティション値を共有する行を、前記共有される共通パーティション値に従って別個のパーティションにパーティショニングするステップ;
    e.各行の前記対応する順序付け値に従って各別個のパーティション内の前記行の各々の順位値を確立するステップ;
    f.各グループ内の、最低の前記順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値を計算するステップ;ならびに
    g.最小順位値限界を満たさないグループ化値グループを除外するために前記別個のグループ化値グループの各々に前記最小順位値限界を適用するステップであって、前記最小順位値限界によって除外されない前記グループ化値グループが、前記限定されたデータセットを提供する、前記最小順位値限界を適用する前記ステップ。
  56. 前記限定されたデータセットを組み入れたピボットテーブルを提供するステップを含む方法であって、前記ピボットテーブルを提供する前記ステップが以下を含む、請求項55記載の方法:
    a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
    b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
  57. 前記初期データセットにおけるグループ化列、パーティション列、および順序付け列の指定を受け取る前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、請求項55記載の方法。
  58. 前記パーティション列に含まれる関心対象の前記値を限定するためにLIMIT SQL式を用いることをさらに含む、請求項55記載の方法。
  59. 前記限定されたデータセットを前記関係データベースからクライアントデバイス上に含まれるアプリケーションプログラムに送ることをさらに含む、請求項55記載の方法。
  60. ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するためのコンピュータ実装方法であって、1つまたは複数のコンピュータプロセッサによって行われる以下のステップを含む、前記方法:
    a.前記初期データセットにおけるグループ化列を指定するステップであって、前記グループ化列がグループ化値の1つまたは複数のグループを含む、グループ化列を指定する前記ステップ;
    b.前記初期データセットにおけるパーティション列を指定するステップであって、前記パーティション列が1つまたは複数のパーティション値を含む、パーティション列を指定する前記ステップ;
    c.前記初期データセットにおける順序付け列を指定するステップであって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、順序付け列を指定する前記ステップ;
    d.前記1つまたは複数の行のうちの、共通パーティション値を共有する行を、前記共有される共通パーティション値に従って別個のパーティションにパーティショニングするステップ;
    e.各行の前記対応する順序付け値に従って各別個のパーティション内の前記行の各々の順位値を確立するステップ;
    f.各グループ内の、最低の前記順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値を計算するステップ;ならびに
    g.最小順位値限界を満たさないグループ化値グループを除外するために前記別個のグループ化値グループの各々に前記最小順位値限界を適用するステップであって、前記最小順位値限界によって除外されない前記グループ化値グループが、前記限定されたデータセットを提供する、前記最小順位値限界を適用する前記ステップ。
  61. 前記限定されたデータセットを組み入れたピボットテーブルを提供するステップを含む方法であって、前記ピボットテーブルを提供する前記ステップが以下を含む、請求項60記載の方法:
    a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
    b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
  62. 前記初期データセットにおけるグループ化列、パーティション列、および順序付け列を指定する前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、請求項60記載の方法。
  63. 前記パーティション列に含まれる関心対象の前記値を限定するためにLIMIT SQL式を用いることをさらに含む、請求項60記載の方法。
  64. 前記限定されたデータセットを前記関係データベースからクライアントデバイス上に含まれるアプリケーションプログラムに送ることをさらに含む、請求項60記載の方法。
  65. ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するための非一時的なコンピュータ可読記録媒体であって、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに以下を行わせる命令を含む、前記非一時的なコンピュータ可読記録媒体:
    a.前記初期データセットにおけるグループ化列の指定の受け取りであって、前記グループ化列が、グループ化値の1つまたは複数のグループを含む、前記グループ化列の指定の受け取り;
    b.前記初期データセットにおけるパーティション列の指定の受け取りであって、前記パーティション列が、1つまたは複数のパーティション値を含む、前記パーティション列の指定の受け取り;
    c.前記初期データセットにおける順序付け列の指定の受け取りであって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、前記順序付け列の指定の受け取り;
    d.前記1つまたは複数の行のうちの、共通パーティション値を共有する行の、前記共有される共通パーティション値に従った別個のパーティションへのパーティショニング;
    e.各行の前記対応する順序付け値に従った各別個のパーティション内の前記行の各々の順位値の確立;
    f.各グループ内の、最低の前記順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値の計算;ならびに
    g.最小順位値限界を満たさないグループ化値グループを除外するための、前記別個のグループ化値グループの各々への前記最小順位値限界の適用であって、前記最小順位値限界によって除外されない前記グループ化値グループが、前記限定されたデータセットを提供する、前記最小順位値限界の適用。
  66. 前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットを組み入れたピボットテーブルを提供させる命令を含む、非一時的なコンピュータ可読記録媒体であって、前記ピボットテーブルを提供する前記ステップが以下を含む、請求項65記載の非一時的なコンピュータ可読記録媒体:
    a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
    b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
  67. 前記初期データセットにおけるグループ化列、パーティション列、および順序付け列の指定を受け取る前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、請求項65記載の非一時的なコンピュータ可読記録媒体。
  68. 前記パーティション列に含まれる関心対象の前記値を限定するために実行されるLIMIT SQL式を含む命令をさらに含む、請求項65記載の非一時的なコンピュータ可読記録媒体。
  69. ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベース内の初期データセットから選択的に取得するための非一時的なコンピュータ可読記録媒体であって、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに以下を行わせる命令を含む、前記非一時的なコンピュータ可読記録媒体:
    a.前記初期データセットにおけるグループ化列の指定であって、前記グループ化列が、グループ化値の1つまたは複数のグループを含む、前記グループ化列の指定;
    b.前記初期データセットにおけるパーティション列の指定であって、前記パーティション列が、1つまたは複数のパーティション値を含む、前記パーティション列の指定;
    c.前記初期データセットにおける順序付け列の指定であって、前記順序付け列が1つまたは複数の順序付け値を含み、前記初期データセットが1つまたは複数の行を含み、各行が、対応するグループ化値、対応するパーティション値、および対応する順序付け値を含む、前記順序付け列の指定;
    d.前記1つまたは複数の行のうちの、共通パーティション値を共有する行の、前記共有される共通パーティション値に従った別個のパーティションへのパーティショニング;
    e.各行の前記対応する順序付け値に従った各別個のパーティション内の前記行の各々の順位値の確立;
    f.各グループ内の、最低の前記順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値の計算;ならびに
    g.最小順位値限界を満たさないグループ化値グループを除外するための、前記別個のグループ化値グループの各々への前記最小順位値限界の適用であって、前記最小順位値限界によって除外されない前記グループ化値グループが、前記限定されたデータセットを提供する、前記最小順位値限界の適用。
  70. 前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記限定されたデータセットを組み入れたピボットテーブルを提供させる命令を含む、非一時的なコンピュータ可読記録媒体であって、前記ピボットテーブルを提供する前記ステップが以下を含む、請求項69記載の非一時的なコンピュータ可読記録媒体:
    a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
    b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
  71. 前記初期データセットにおけるグループ化列、パーティション列、および順序付け列を指定する前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、請求項69記載の非一時的なコンピュータ可読記録媒体。
  72. 前記パーティション列に含まれる関心対象の前記値を限定するために実行されるLIMIT SQL式を含む命令をさらに含む、請求項69記載の非一時的なコンピュータ可読記録媒体。
  73. a.前記初期データセットにおける、グループ化値の1つまたは複数のグループを含むグループ化列を指定し;
    b.前記初期データセットにおける、1つまたは複数のパーティション値を含むパーティション列を指定し;
    c.対応するグループ化値、対応するパーティション値、および対応する順序付け値を各行が含む1つまたは複数の行を含む前記初期データセットにおける、1つまたは複数の順序付け値を含む順序付け列を指定する
    アプリケーションプログラムと、
    d.前記1つまたは複数の行のうちの、共通パーティション値を共有する行を、前記共有される共通パーティション値に従って別個のパーティションにパーティショニングし;
    e.各行の前記対応する順序付け値に従って各別個のパーティション内の前記行の各々の順位値を確立し;
    f.各グループ内の、最低の前記順位値を有する行に対応する、別個のグループ化値グループごとの最小順位値を計算し;
    g.最小順位値限界を満たさないグループ化値グループを除外するために前記別個のグループ化値グループの各々に前記最小順位値限界を適用し、前記最小順位値限界によって除外されない前記グループ化値グループが、前記限定されたデータセットを提供する
    関係データベースと、
    を含む、ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを関係データベースが含む初期データセットから選択的に取得するためのシステム。
  74. 前記アプリケーションプログラムが前記限定されたデータセットを組み入れたピボットテーブルを提供し、前記ピボットテーブルを提供する前記ステップが以下を含む、請求項73記載のシステム:
    a.前記限定されたデータセット内の特異なグループ化値ごとの行と特異なパーティション値ごとの列とを含むテーブルを提供することであって、前記ピボットテーブル内にありかつ前記限定されたデータセットの特異な行に対応する一意のセルを定義する、特異なグループ化値-パーティション値の対を、各特異なグループ化値および各特異な各パーティション値が形成する、前記テーブルを提供すること;ならびに
    b.各特異なグループ化値-パーティション値の対によって定義される各セルに、前記限定されたデータセット内の各特異な行から前記対応する順序付け値を読み込むこと。
  75. 前記初期データセットにおけるグループ化列、パーティション列、および順序付け列を指定する前記ステップが、前記関係データベース内の追加の初期データセットに対して繰り返される、請求項73記載のシステム。
  76. 前記パーティション列に含まれる関心対象の前記値を限定するためにLIMIT SQL式が実行される、請求項73記載のシステム。
JP2017560679A 2015-05-29 2016-05-25 ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを選択的に取得するための方法およびシステム Active JP6710224B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/726,403 2015-05-29
US14/726,403 US10114867B2 (en) 2015-05-29 2015-05-29 Methods and systems for selectively retrieving data to provide a limited dataset for incorporation into a pivot table
PCT/US2016/034186 WO2016196147A1 (en) 2015-05-29 2016-05-25 Methods and systems for selectively retrieving data to provide a limited dataset for incorporation into a pivot table

Publications (3)

Publication Number Publication Date
JP2018519578A true JP2018519578A (ja) 2018-07-19
JP2018519578A5 JP2018519578A5 (ja) 2019-06-27
JP6710224B2 JP6710224B2 (ja) 2020-06-17

Family

ID=57398686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017560679A Active JP6710224B2 (ja) 2015-05-29 2016-05-25 ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを選択的に取得するための方法およびシステム

Country Status (6)

Country Link
US (1) US10114867B2 (ja)
EP (1) EP3295296B1 (ja)
JP (1) JP6710224B2 (ja)
AU (1) AU2016270327B2 (ja)
CA (1) CA2986688C (ja)
WO (1) WO2016196147A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9679000B2 (en) 2013-06-20 2017-06-13 Actuate Corporation Generating a venn diagram using a columnar database management system
US9600539B2 (en) * 2013-06-21 2017-03-21 Actuate Corporation Performing cross-tabulation using a columnar database management system
US10108670B2 (en) * 2015-08-19 2018-10-23 International Business Machines Corporation Parallel quicksort
US11556529B2 (en) * 2019-08-13 2023-01-17 Sigma Computing, Inc. Top frequency worksheet filtering
CN111241093B (zh) * 2019-12-31 2021-06-22 杭州太美星程医药科技有限公司 一种基于数据库的动态存储扩展方法
USD941836S1 (en) 2020-01-17 2022-01-25 Target Brands, Inc. Display panel or portion thereof with a computer-generated graphical user interface
US11847170B2 (en) 2020-01-17 2023-12-19 Target Brands, Inc. Data visualization tool with guided visualization creation and secure publication features, and graphical user interface thereof
US11921991B2 (en) 2020-01-17 2024-03-05 Target Brands, Inc. Data visualization tool with guided visualization creation and secure publication features, and graphical user interface thereof

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092062A (en) 1997-06-30 2000-07-18 International Business Machines Corporation Relational database query optimization to perform query evaluation plan, pruning based on the partition properties
US6298342B1 (en) 1998-03-16 2001-10-02 Microsoft Corporation Electronic database operations for perspective transformations on relational tables using pivot and unpivot columns
US6626959B1 (en) * 1999-06-14 2003-09-30 Microsoft Corporation Automatic formatting of pivot table reports within a spreadsheet
AU2002214540A1 (en) 2000-09-20 2002-04-02 A2I, Inc. Method and apparatus for dynamically formatting and displaying tabular data in real time
US7111020B1 (en) 2002-03-26 2006-09-19 Oracle International Corporation Incremental refresh of materialized views containing rank function, and rewrite of queries containing rank or rownumber or min/max aggregate functions using such a materialized view
US20040193575A1 (en) 2003-03-25 2004-09-30 Chia-Hsun Chen Path expressions and SQL select statement in object oriented language
EP3726396A3 (en) 2003-05-19 2020-12-09 Huawei Technologies Co., Ltd. Limiting scans of loosely ordered and/or grouped relations using nearly ordered maps
US7430549B2 (en) 2003-07-07 2008-09-30 Netezza Corporaton Optimized SQL code generation
US7747640B2 (en) 2005-01-20 2010-06-29 International Business Machines Corporation Method for regenerating selected rows for an otherwise static result set
US7461060B2 (en) 2005-10-04 2008-12-02 International Business Machines Corporation Generalized partition pruning in a database system
EP2146292B8 (en) 2008-07-18 2019-03-20 QlikTech International AB Method and apparatus for extracting information from a database
US20120159297A1 (en) * 2010-12-21 2012-06-21 Sap Ag System and method for generating a pivot table
US9069748B2 (en) 2011-10-04 2015-06-30 Microsoft Technology Licensing, Llc Selective generation and display of data items associated with a spreadsheet
US20130197953A1 (en) * 2012-01-31 2013-08-01 Oracle International Corporation Method and system for implementing user reporting
US20140019842A1 (en) * 2012-07-11 2014-01-16 Bank Of America Corporation Dynamic Pivot Table Creation and Modification
US9805095B2 (en) 2012-09-28 2017-10-31 Oracle International Corporation State initialization for continuous queries over archived views
US9292550B2 (en) * 2013-02-21 2016-03-22 Oracle International Corporation Feature generation and model selection for generalized linear models
US9824118B2 (en) 2013-03-15 2017-11-21 Looker Data Sciences, Inc. Querying one or more databases

Also Published As

Publication number Publication date
WO2016196147A1 (en) 2016-12-08
EP3295296A1 (en) 2018-03-21
JP6710224B2 (ja) 2020-06-17
US10114867B2 (en) 2018-10-30
CA2986688A1 (en) 2016-12-08
AU2016270327A1 (en) 2017-12-21
AU2016270327B2 (en) 2021-06-03
US20160350308A1 (en) 2016-12-01
EP3295296A4 (en) 2019-01-02
CA2986688C (en) 2023-02-21
EP3295296B1 (en) 2022-04-13

Similar Documents

Publication Publication Date Title
JP6710224B2 (ja) ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを選択的に取得するための方法およびシステム
CN104685497B (zh) 通过过滤方法操作的聚合/分组的硬件实现
US9767145B2 (en) Visual data analysis with animated informational morphing replay
TWI603211B (zh) Construction of inverted index system based on Lucene, data processing method and device
US20160103592A1 (en) Dashboard builder with live data updating without exiting an edit mode
US20160179887A1 (en) Graph operations
WO2017096892A1 (zh) 索引构建方法、查询方法及对应装置、设备、计算机存储介质
CN107092701A (zh) 一种多维数据模型的数据处理方法及装置
WO2015074477A1 (zh) 路径分析方法和装置
KR101773781B1 (ko) 웹 기반의 사용자 지향적 데이터 시각화 방법 및 장치
US11853279B2 (en) Data storage using vectors of vectors
US20170052955A1 (en) Ranking of shared documents and users
CN107480205A (zh) 一种进行数据分区的方法和装置
US20230007994A1 (en) Big Data Based Predictive Graph Generation System
US20110179013A1 (en) Search Log Online Analytic Processing
JP6642435B2 (ja) データ処理装置、データ処理方法、及び、プログラム
US20160078015A1 (en) Representation of data records in graphic tables
CN110909072B (zh) 一种数据表建立方法、装置及设备
JP2008225686A (ja) 分散型データ処理プラットフォームにおけるデータ配置管理装置と方法、システム及びプログラム
CN107451142A (zh) 在数据库中写入和查询数据的方法与装置及其管理系统
US11822582B2 (en) Metadata clustering
US20190163810A1 (en) Search User Interface
US20210365424A1 (en) Data storage using vectors of vectors
CN108197193A (zh) 一种多视图数据的显示方法、系统及相关装置
CN116882408B (zh) 变压器图模型的构建方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180411

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190523

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200417

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200519

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200526

R150 Certificate of patent or registration of utility model

Ref document number: 6710224

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250