JP2022548605A - 動的なデータベースクエリを伴うスプレッドシート - Google Patents
動的なデータベースクエリを伴うスプレッドシート Download PDFInfo
- Publication number
- JP2022548605A JP2022548605A JP2022516334A JP2022516334A JP2022548605A JP 2022548605 A JP2022548605 A JP 2022548605A JP 2022516334 A JP2022516334 A JP 2022516334A JP 2022516334 A JP2022516334 A JP 2022516334A JP 2022548605 A JP2022548605 A JP 2022548605A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- cells
- spreadsheet
- updating
- additional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
スプレッドシートは、データソースのクエリをトリガするセル内の式をサポートする。クエリのパラメータは、スプレッドシート内の他のセルの値を含むまたは依存することができる。したがって、データソースに送信される正確なクエリは動的であり、スプレッドシート内のデータおよび式に依存する。さらに、クエリの結果を受信すると、それらはスプレッドシート内のセルに追加され、これは他のセル内で定義された他のクエリのパラメータとすることができる。単一のセルの値を変更することは、任意の数のデータソースクエリを含むことができる計算の任意の深い階層の更新を自動的にトリガできる。
Description
本出願は、参照により組み込まれる、2019年9月13日に出願された米国仮出願第62/900,434号の利益を主張する。
記載される主題は概してスプレッドシートに、特に、セルがデータベースをクエリし、返された結果を使用して他のセル内のクエリを動的に更新することができるスプレッドシートに関する。
記載される主題は概してスプレッドシートに、特に、セルがデータベースをクエリし、返された結果を使用して他のセル内のクエリを動的に更新することができるスプレッドシートに関する。
スプレッドシートはデータを表示および分析する使いやすいやり方を提供する。典型的なスプレッドシートは、行および列に分割されたセルの2次元マトリックスである。ユーザは、データおよびデータ間の式関係をセル内に入力できる。たとえば、単純なスプレッドシートは、貸し手の住宅ローンの残高のセットおよびそれらの残高の合計を含み得る。合計は、個々の住宅ローンの残高を有するセル内の値を合計するための式を含むセル内に示され得る。したがって、個々の残高のいずれかが変更された場合、合計残高は自動的に更新され得る。しかし、データ量および対応する関係の複雑さが増すにつれて、そのようなスプレッドシートはますます管理不可能になる。ファイルサイズが大きくなる一方で、システムパフォーマンスが低下し、不正なデータまたは式に起因するエラーの原因を特定するおよび修正することがますます困難になる。
対照的に、リレーショナルデータベースは行および列を持つテーブル内にデータを格納する。リレーショナルデータベースは、サイズとパフォーマンスの両方で効率的にスケールするように構成されており、大規模なコーパスからのデータへの比較的迅速なアクセスを可能にする。しかし、典型的なリレーショナルデータベースは、スプレッドシートの直感的で使いやすいインターフェイスを提供していない。特定のデータ項目を識別するために、ユーザは、所望のデータの1つまたは複数のパラメータを指定するクエリを定義しなければならない。データベースシステムはクエリを処理し、指定されたパラメータに一致するデータベース内のすべてのレコードを返す。データベースはまた計算能力が限られており、多くの場合、スプレッドシートのユーザが他のデータのコンテキスト内の派生データの特定の部分を接続および分析することを期待する計算能力を欠いている。
上記およびその他の問題は、データベースのクエリをトリガするセル内の式をサポートするスプレッドシートによって解決される。クエリのパラメータは、スプレッドシート内の他のセルの値を含むことまたは依存することができる。したがって、データベースに送信される正確なクエリは動的であり、スプレッドシート内のデータおよび式に依存している。さらに、クエリの結果を受信すると、それらはスプレッドシート内のセルに追加され、これは他のセルで定義された他のクエリのパラメータとすることができる。データベースクエリはスプレッドシートの計算エンジンと統合されているため、他のクエリは自動的に更新され得、これは、次いで、追加のクエリをさらに更新し得る。言い換えると、単一のセルの値を変更することは、任意の数のデータベースクエリを含むことができる計算の任意の深い階層のすべての更新を自動的にトリガし得る。このアーキテクチャは、データベースの能力を活用しながら、スプレッドシートインターフェイスの能力をユーザに提供して、スケーラブルで効率的なデータストレージおよびアクセスを提供し得る。
一実施形態では、スプレッドシートを更新するための方法は、指定されたセルの値または式を含む指定されたセルを更新する要求を受信することを含む。指定されたセルは、値または式を含むように更新される。方法はさらに、指定されたセルに依存する追加のセルを識別すること、追加のセルの依存関係階層を取得すること、および依存関係階層に従って追加のセルを更新することを含む。追加のセルの第1のセルを更新することは、スプレッドシート内の別のセルの現在の値を使用してデータベースクエリを動的に定義して、データベースクエリによって返される結果を含むように第1のセルを更新する、ことを含む。方法はまた、指定されたセルおよび追加のセルの更新された値および式を表示するためのスプレッドシートを提供することを含む。
図面および以下の説明は、例示としてのみ特定の実施形態を説明する。当業者は、構造および方法の代替的な実施形態が、記載される本発明の原理から逸脱することなく用いられ得ることを以下の説明から容易に認識するであろう。実用可能な場合は常に、類似のまたは同様の機能性を示すために、類似のまたは同様の参照番号が図面で使用される。要素が、共通の数字の後に別の文字を付ける場合、これは要素が類似または同一であることを示す。数字のみへの言及は、コンテキスト上別段の指示がない限り、概して、そのような要素の任意の1つまたは任意の組み合わせを指す。
[例示的なシステム]
図1は、動的クエリを伴うスプレッドシートをスケーラブルなデータソース(例えば、データベース)に提供するのに適したネットワーク化されたコンピューティング環境100の一実施形態を示す。示される実施形態では、ネットワーク化されたコンピューティング環境100は、ネットワーク170を介して接続されたサーバ、第1のクライアントデバイス140A、および第2のクライアントデバイス140Bを含む。他の実施形態では、ネットワーク化されたコンピューティング環境100は、異なるまたは追加の要素を含む。加えて、説明とは異なるやり方において、要素間に機能を分散し得る。例えば、2つのクライアントデバイス140が示されるが、ネットワーク化されたコンピューティング環境100は、任意の数のそのようなデバイスを含み得る。さらに、クライアントサーバアーキテクチャが記載されているが、機能性はスタンドアローンコンピューティングシステムによって提供され得、これはネットワーク170に接続されてもよく、またはされなくてもよい。
図1は、動的クエリを伴うスプレッドシートをスケーラブルなデータソース(例えば、データベース)に提供するのに適したネットワーク化されたコンピューティング環境100の一実施形態を示す。示される実施形態では、ネットワーク化されたコンピューティング環境100は、ネットワーク170を介して接続されたサーバ、第1のクライアントデバイス140A、および第2のクライアントデバイス140Bを含む。他の実施形態では、ネットワーク化されたコンピューティング環境100は、異なるまたは追加の要素を含む。加えて、説明とは異なるやり方において、要素間に機能を分散し得る。例えば、2つのクライアントデバイス140が示されるが、ネットワーク化されたコンピューティング環境100は、任意の数のそのようなデバイスを含み得る。さらに、クライアントサーバアーキテクチャが記載されているが、機能性はスタンドアローンコンピューティングシステムによって提供され得、これはネットワーク170に接続されてもよく、またはされなくてもよい。
サーバ110は、スプレッドシートを格納および管理する1つまたは複数のコンピューティングデバイスである。各スプレッドシートに対して、サーバ110は、セル内に含まれるデータおよび式を格納する。サーバ110はまた、階層内のセル間の関係を示す依存関係グラフを格納し得る。したがって、セルの値が更新される場合、サーバ110は、結果として変化する他のセルを識別し、それらのセルも自動的に更新できる。セル内の式はスケーラブルなデータソース(例えば、リレーショナルデータベース)へのクエリを定義し得、これは他のセルに格納されたデータに依存できる。単純な例を提供するために、第1のセルは米国の州を示し得る一方で、その州に関連するデータソース内のレコードの数を決定するクエリを生成して、その数を第2のセルに表示する式を、第2のセルは含み得る。ユーザが第1のセル内で識別された州を更新する場合、クエリは新しい州を反映するように自動的に更新され、表示される数はデータソース内の新しい州に関連するレコードの数を示すように変化する。この新しい値は、さらなるクエリの定義に使用され得る。したがって、単一のセルの値の変化は、他のセル内の式の任意の深い階層を通して自動的に伝播することができ、そのいくつかまたは全てはデータソースクエリを含み得る。サーバ110の様々な実施形態は、図2を参照して、以下により詳細に説明される。
クライアントデバイス140は、ユーザがサーバ110によって管理される1つまたは複数のスプレッドシートにアクセスすることを可能にするように構成されたコンピューティングデバイスである。例示的なクライアントデバイス140は、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、スマートフォン、およびスプレッドシートにアクセスするおよび表示し得る任意の他のコンピューティングデバイスを含む。一実施形態では、クライアントデバイス140は、ユーザがサーバ110によって提供されるユーザインターフェイスを介してスプレッドシートと相互作用することを可能にする。例えば、ユーザは、ウェブブラウザを使用してユーザインターフェイスにアクセスし得る。代わりに、クライアントデバイス140は、サーバ110によって格納されたスプレッドシートと相互作用するための専用アプリケーションを含み得る。いずれのケースでも、ユーザが適切なアクセス許可を有していると仮定して、彼らは、スプレッドシートを見る、データを編集する、およびスプレッドシート内のセルの式(データソースクエリを定義する式を含む)を定義し得る。
ネットワーク170は、ネットワーク化されたコンピューティング環境100の他の要素が通信する通信チャネルを提供する。ネットワーク170は、有線および/または無線通信システムの両方を使用する、ローカルエリアおよび/またはワイドエリアネットワークの任意の組み合わせを含むことができる。一実施形態では、ネットワーク170は、標準的な通信技術および/またはプロトコルを使用する。例えば、ネットワーク170は、イーサネット、802.11、マイクロ波アクセスのための世界的な相互運用性(WiMAX)、3G、4G、5G、コード分割多重アクセス(CDMA)、デジタル加入者線(DSL)などの技術を使用した通信リンクを含むことができる。ネットワーク170を介して通信するために使用されるネットワークプロトコルの例は、マルチプロトコルラベルスイッチング(MPLS)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ハイパーテキストトランスポートプロトコル(HTTP)、簡易メール転送プロトコル(SMTP)、およびファイル転送プロトコル(FTP)を含む。ネットワーク170を介して交換されたデータは、ハイパーテキストマークアップ言語(HTML)または拡張可能マークアップ言語(XML)などの任意の適切なフォーマットを使用して表され得る。いくつかの実施形態では、ネットワーク170の通信リンクの全てまたはいくつかは、任意の適切な技術または技術を使用して暗号化され得る。
図2は、サーバ110の一実施形態を示す。示される実施形態では、サーバ110は、スプレッドシートエンジン210およびデータベース220を含む。スプレッドシートエンジン210は、1つまたは複数のスプレッドシートを管理し、要求処理モジュール212、計算モジュール214、クエリモジュール216、およびスプレッドシートストア218を含む。他の実施形態では、サーバ110は、異なるまたは追加の要素を含む。加えて、説明とは異なるやり方で要素間に機能を分散し得る。
要求処理モジュール212は、スプレッドシートに関連するアクションに対するユーザ要求を処理する。一実施形態では、要求処理モジュール212は、クライアントデバイス140から要求を受信する。要求がスプレッドシートへアクセスである場合、要求処理モジュール212は、要求するクライアントデバイス140で表示するためのスプレッドシートのいくつかまたはすべてを提供する(例えば、それをスプレッドシートストア218から取り出すことによって)。セル内の値または式を修正する要求がある場合、要求処理モジュール212は要求された修正を行い、計算モジュール214に通知する。
計算モジュール214は、どの追加のセル(もしあれば)が要求された修正によって影響を受けるかを決定する。一実施形態では、計算モジュール214は、階層内で互いに影響を与えるセル間の関係を示す計算グラフを維持する。例えば、セルの値に直接依存するセルをそのセルの第1の世代の子と称し、一方、第1の世代の子の値に直接依存するセルを第2の世代の子と称する。同様に、セルの値に影響を与えるセルを第1の世代の親と称し、一方、第1の世代の親の値を決定するために依存するセルを第2の世代の親と称する。
計算グラフを使用して、要求された修正がセルの値または式に行われるとき、計算モジュール214は、要求された修正の影響を受ける(直接的または間接的に)式をどのセルが有するかを決定することによって、更新する追加のセルを識別できる。言い換えると、計算モジュール214は、更新されたセルの子セル(任意の世代の)を識別できる。計算モジュール214は、第1の世代から始まる子セルの世代を繰り返し、ユーザ要求から生じる変更を反映するようにそれらを更新する。単純な計算式(すなわち、データベース220のクエリを伴わない)を有するそれらの子セルに対して、計算モジュール214は、スプレッドシート内のデータを使用して、式を再評価できる。対照的に、子セルがデータベースクエリを伴う式を有する場合、計算モジュール214はそれをクエリモジュール216に渡す。
クエリモジュール216は、それが評価しているセルの式、および式が参照するスプレッドシート内の任意の他のデータを使用して、クエリを構築する。例えば、式は州XにおけるN個の最も高い査定の住宅ローンのレコードを取得し得、Nは第1のセル内の数であり、Xは第2のセル内で識別された州である。したがって、ユーザは、式を編集することなく、第1および第2のセルを修正することによってクエリを変更できる。一実施形態では、スプレッドシート内の式は、経験豊富なスプレッドシートのユーザに精通している構文を使用してフォーマットされ、他のセルからの入力の合計、平均化、ソート、およびフィルタリングなどの演算のための関数を使用し得る。クエリモジュール216は、それが参照する式およびセル値から、構造化クエリ言語(SQL)などのデータベースクエリ言語内で、クエリを生成する。
クエリモジュール216は、生成されたクエリを使用してデータベース220をクエリし、返された結果をスプレッドシートにインポートする。一実施形態では、返される結果が、それぞれが複数の属性(列)を含むレコード(行)のセットであると仮定すると、クエリモジュール216はそれらを、式を含むセル内の第1のレコード(すなわち、結果のブロックの左上隅)の第1のパラメータから始まる、同じ数の行および列を有するセルのブロックの値としてスプレッドシートに挿入する。しかし、式を有するセルに対するセルのブロックの任意の適切なまたは所望の位置が使用され得る。前述のように、ブロック内の1つまたは複数のセル内の値は、別の式で定義されたクエリに影響を与え得る。このケースでは、計算モジュール214は、その式を自動的に識別し、それをクエリモジュール216に渡す。次に、クエリモジュール216は、更新されたクエリを自動的に生成し、データベースにクエリを行い、結果をインポートし、これは、相互に関連するクエリの任意の深い階層においてさらに自動的に更新されるクエリにつながり得る。
スプレッドシートストア218は、スプレッドシートを格納する1つまたは複数のコンピュータ可読媒体である。一実施形態では、所与のスプレッドシートについて、スプレッドシートストア218は、列間の第1の区切り文字(または文字のセット)および行間の第2の区切り文字(または文字のセット)によって区切られたセルについて入力された値および式を含む。スプレッドシートストア218はまた、スプレッドシートの計算グラフを含み得る。
データベース220は、同様に、1つまたは複数のコンピュータ可読媒体に格納されている。一実施形態では、データベース220は、リレーショナルデータベースであるが、NoSQLデータベースおよび抽象化(例えば、PRESTOTM)を可能にするAPI実装などの他の形態のスケーラブルなデータソースが使用され得る。データベース220は、利便性のためにサーバ110の一部である単一のエンティティとして示されるが、スプレッドシートは、複数のデータベースをクエリする式を含み得て、そのいくつかまたは全ては、異なるデバイスによって格納され、リモートでアクセスされ得る(例えば、ネットワーク170を介して)。したがって、データベース220への任意の参照は、それに応じて、複数のデータベース、ならびに分散型データベースなどの複数のデバイスによってホストされるデータベースを含むと理解されるべきである。
[例示的な方法]
図3は、一実施形態による、関連するデータベースクエリの任意に深い階層を含むスプレッドシートを更新するための方法300を示す。図3のステップは、方法300を実行するサーバ110の観点から図示される。しかし、ステップの一部またはすべては、他のエンティティまたはコンポーネントによって実行され得る。加えて、いくつかの実施形態は、ステップを並行して実行、ステップを異なる順序で実行、または異なるステップを実行し得る。
図3は、一実施形態による、関連するデータベースクエリの任意に深い階層を含むスプレッドシートを更新するための方法300を示す。図3のステップは、方法300を実行するサーバ110の観点から図示される。しかし、ステップの一部またはすべては、他のエンティティまたはコンポーネントによって実行され得る。加えて、いくつかの実施形態は、ステップを並行して実行、ステップを異なる順序で実行、または異なるステップを実行し得る。
図3に示される実施形態では、方法300は、サーバ110が、スプレッドシート内の指定されたセルの新しい値または式を含む要求を受信する310ことから開始する。例えば、要求は、ユーザがクライアントデバイスのユーザインターフェイスを介して指定されたセルの新しい値または式を提供することに応答して、クライアントデバイス140によって生成され得る。代わりに、要求は、スプレッドシートをホストする同じデバイスによって生成され得る(例えば、スタンドアローンの非ネットワーク実装のケースにおいて)。
サーバ110は、スプレッドシート内の指定されたセルの値または式を更新し320、更新する追加のセルを識別する330。追加のセルは、要求において指定されたセルに依存する式によって影響を受けるセルである。サーバ110はまた依存関係階層を決定し、指定されたセルに対して、追加のセルのどれが、第1の世代の子、第2の世代の子などであるかを意味する。一実施形態では、サーバ110は、スプレッドシートの既存の計算グラフ(例えば、スプレッドシートストア218に格納された)から、追加のセルおよび依存関係階層を識別する330。代わりに、サーバは、セル内の式を解析することによって、追加のセルをオンザフライで部分的または完全に識別し得る330。
サーバ110は、指定されたセルの任意の第1の世代の子を更新する340。前述のように、第1の世代の子の1つまたは複数は、スプレッドシート内の1つまたは複数の他のセルの値に依存するデータベースクエリを伴う式を含み得る。任意のそのようなデータベースクエリを、スプレッドシート内の関連するセルの現在の値に基づいて動的に生成でき、データベース220上でクエリを実行した結果は、スプレッドシート内にインポートされる。サーバ110は、更新する依存関係階層の追加レベルがあるかどうか(このケースでは、いずれかの第2の世代の子があるかどうか)をチェックし350、そうであれば、依存関係階層のそのレベル内の追加のセルを更新する340。このプロセスは、残された依存関係階層内の追加のレベルがなくなるまで、更新を繰り返される。
サーバ110は、表示のための更新されたスプレッドシートを提供する360。一実施形態では、サーバ110は、更新要求を受信した310クライアントデバイス140にセルの更新された値および式を送信し、それにより、要求された更新の結果をユーザに表示できる。サーバ110は、依存関係階層のすべてのレベルで、一度にすべての更新を提供、または更新されたセル値および式をそれらが生成された際に提供し得る。前者のアプローチはユーザが要求された変更のすべての影響を一度に見ることができることを確実にし、一方、後者は、多数の複雑な変更がある場合、即時の効果が表示され、より遠隔の効果(すなわち、より高い世代の子供への変更)が依然として計算されるため、より良いユーザエクスペリエンスを提供し得る。
[ユーザインターフェイスの例]
図4A乃至Fは、一実施形態による、関連するデータベースクエリの任意に深い階層を含むスプレッドシートと相互作用するための例示的なユーザインターフェイスを示す。例示的なユーザインターフェイスは、住宅ローンデータに関連するスプレッドシート用であるが、開示されたアーキテクチャおよび技術が、広範囲のデータを含むスプレッドシートに使用され得ることを認識されるべきである。
図4A乃至Fは、一実施形態による、関連するデータベースクエリの任意に深い階層を含むスプレッドシートと相互作用するための例示的なユーザインターフェイスを示す。例示的なユーザインターフェイスは、住宅ローンデータに関連するスプレッドシート用であるが、開示されたアーキテクチャおよび技術が、広範囲のデータを含むスプレッドシートに使用され得ることを認識されるべきである。
図4Aは、データベース内の住宅ローンデータのサブセットのビューを示す。このケースにおいて、データベースは100万以上の物件の住宅ローンに関する情報含むが、そのデータのごく一部の物件のみが現在表示されている。ユーザは番地を表示する第1の行内のセルを選択している。セルの値は、データベースクエリを定義するための例示的な関数であるCFDB()関数を使用して定義されていることが理解できる。
一実施形態では、CFDB()関数は、2つのモード、検索モードおよび選択モードを有する。他の実施形態では、CFDB()関数は異なるまたは追加のモードを有し得、それぞれが独自の構文を有する。
「検索モード」では、使用される構文はCFDB(“find”, “mortgages”, “mortgagesKey”, Value, <comma-separated-field-list>))である。「検索(find)」はクエリのモードである。「住宅ローン(Mortgages)」は、クエリされる単一(たとえば、ここで結合が許可されない)のデータベーステーブルの名前である。「住宅ローンキー(MortgagesKey)」は、クエリされる住宅ローンテーブルの「単一フィールドのプライマリキー」フィールドの名前である。データベース220は、典型的には、この列に一意のインデックスを有する。値はスプレッドシート内の別のセルへの参照であり、したがって、他のセルの変更に対応するクエリの動的な性質である。図4Aに示す例では、キーは、住宅ローン「プロパティキー」であり、描写される例は「m45678」の値を有する。最後のパラメータは、値がスプレッドシートに返される「住宅ローン」テーブルのカンマ区切りの列のリストである。一実施形態では、「検索モード(find mode)」は、関数に単一の結果行を返させる。他の実施形態では、「検索モード(find mode)」は、複数の行から結果を返し得る。
選択モードでは、使用される構文はCFDB(“select”,<comma-separated-field-list> <comma-separated-database-table-list>, , <arbitrarily complex WHERE/ORDER/GROUP-BY clause>)である。「選択(Select)」はクエリのモードである。「選択モード(select mode)」は、複数の結果行が予想されるケースを対象としている(しかし、単一の行である可能性がある)。「フィールドリスト」は、第3の関数引数で参照されるテーブルのいずれかから列を識別でき、SUM、MIN、MAX、などのデータベースエンジンによって実行されるようなデータに対する数学的演算を含むことができる。後者のケースでは、第4の関数引数内で指定された対応するGROUP BY句が存在し得る。「テーブルリスト(Table list)」は、クエリを満たすために必要なテーブルを識別する。テーブルは、構文を従いやすくするための、および/またはそうでなければ曖昧な列参照を修正するための、単一の文字または他の短い名前でエイリアスされ得る。最後のパラメータは、テーブル間の結合句(したがって、テーブルをアドホックな「ビュー」に変換する)、スプレッドシート内の他の値からプログラム的に導出されることができるフィルタリング構文(第1の例では、「ファインド」値から来る州の値など)、およびGROUP BY、HAVING、ORDER BY、LIMITなどの、他の結果セット集約、フィルタまたはリミッタを含むことができる。
図4Aにおいて、CFDB()関数は、キー値で駆動されるクエリを開始し、識別された行の指定された物件を返す検索モード内で使用されている。このケースでは、ユーザはキー値m45678を入力し、クエリは、選択したセルの右のセルに配置された行(州および郵便番号、物件のタイプ、最終査定年、査定額、住宅ローンの残高、およびインプライドエクイティ(the implied equity))から番地(選択したセル内の)および追加情報を返す。
図4Bでは、選択されたセルの第1の世代の子および親セルが強調表示されている。特に、キー値は、第1の世代の親セルとして(その値が選択されたセル内のクエリに影響を与えるため)識別され、行からの追加情報を含むセルは、第1の世代の子として(その値が選択されたセル内のクエリによって直接生成されるため)識別される。任意の適切なグラフィカルインジケータを使用して、塗りつぶしの色、塗りつぶしの強度、輪郭の色、輪郭の強度、塗りつぶしのパターンなど、これらのセルを強調表示し得る。一実施形態では、ユーザインターフェイスは、強調表示する子および親のセルの世代数を選択するためのユーザ用の制御を含む。グラフィカルインジケータはまた、ユーザによってカスタマイズ可能であり得る(例えば、ユーザは、どの塗りつぶし色が、どの世代の子および親のセルに対応するかを選択するオプションを与えられ得る)。
図4Cにおいて、ユーザは、第2の世代の子および親セルならびに第1の世代のセルを強調表示するようにユーザインターフェイスを構成している。特に、第2の世代の親のセルはなく(キー値はユーザによって入力されており、他のセルのいずれにも依存しない)、異なるタイプの2つの第2の世代の子がある。第1の第2の世代の子セルは、識別された住宅ローンに関連付けられたインプライドエクイティの値を保持する。これは、査定から住宅ローン残高を差し引くことにより、さらなるデータベースクエリなしで計算できる。
対照的に、識別された住宅ローンに関する情報の下のテーブルの左上隅のセルは、別のデータベースクエリを生成する第2の世代の子である。特に、このセルは、テーブル全体を入力するクエリを定義する式を含む(インプライドエクイティを除く)。これを図4Dに示し、第3の世代の子も強調表示される。第3の世代の子セルは、CFDB()関数を使用して、ワイオミング州で最も高い査定のN個の物件に対してデータベースをクエリする(キー値によって識別される住宅ローンの対象となる物件が配置されている州)。このクエリがデータベース内のN行ごとに選択されたM個の属性のセットを返すので、返された結果は、すべてが選択されたセル(クエリを生成した関数が含まれて、これは第3の世代の子である、ブロックの左上隅にあるセルを除く)の第4の世代の子であるセルのM×Nブロックに挿入される。
図4Eにおいて、ユーザは、テーブルの左上隅にあるセルを選択した。したがって、これはアクティブなセルではなく、以前の第4の世代の子セルは現在第1の世代の子であり、選択された住宅ローンの状態を示すセルは第1の世代の親である。Nの値(テーブル内に含める物件の数)を示すセルはまた第1の世代の親であり、したがって、強調表示される。図4Eにおいて、新しく選択されたセル内の式が選択モードでCFDB()関数を使用していることが理解できる。単一の行から属性を返す、検索モードとは対照的に、選択モードは指定された要件を満たすすべての行から属性を返す(このケースでは、ワイオミング州で最も高く査定された10件の物件)。
図4Fは、新たに選択されたアクティブなセルについての4つの世代の親および子セルを示す。これは、アクティブなセルの第4の世代の親である、提供されたキー値から、アクティブなセルの第4の世代の子である、ワイオミングで最も高く査定された10件の物件の平均のインプライドエクイティにまで及ぶ。言い換えると、図4Fは、このスプレッドシートの他のセルの値を使用して定義された動的なデータベースクエリによって値が決定される複数のセルを含む、依存関係階層の9つの異なるレベルの強調表示を示す。
[コンピューティングシステムアーキテクチャ]
図5は、機械可読媒体から命令を読み取り、それらをプロセッサ(またはコントローラ)で実行することが可能な例示的な機械500のコンポーネントを示すブロック図である。具体的には、図5は、上記の方法論の任意の1つまたは複数を機械に実行させるためのプログラムコード(例えば、ソフトウェアまたはソフトウェアモジュール)が実行され得るコンピュータシステムを形成する例における機械500の概略図を示す。プログラムコードは、1つまたは複数のプロセッサ502によって実行可能な命令524(例えば、ソフトウェア)から構成され得る。代替の実施形態において、機械500は、スタンドアローンデバイスとして動作する、または他の機械に接続(例えば、ネットワーク化)され得る。ネットワーク化された展開において、機械500は、サーバマシン、サーバクライアントネットワーク環境の中のクライアントマシン、またはピアツーピア(または分散型)ネットワーク環境のピアマシンの能力で動作し得る。
図5は、機械可読媒体から命令を読み取り、それらをプロセッサ(またはコントローラ)で実行することが可能な例示的な機械500のコンポーネントを示すブロック図である。具体的には、図5は、上記の方法論の任意の1つまたは複数を機械に実行させるためのプログラムコード(例えば、ソフトウェアまたはソフトウェアモジュール)が実行され得るコンピュータシステムを形成する例における機械500の概略図を示す。プログラムコードは、1つまたは複数のプロセッサ502によって実行可能な命令524(例えば、ソフトウェア)から構成され得る。代替の実施形態において、機械500は、スタンドアローンデバイスとして動作する、または他の機械に接続(例えば、ネットワーク化)され得る。ネットワーク化された展開において、機械500は、サーバマシン、サーバクライアントネットワーク環境の中のクライアントマシン、またはピアツーピア(または分散型)ネットワーク環境のピアマシンの能力で動作し得る。
機械500は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、スマートフォン、Webアプライアンス、ネットワークルーター、スイッチもしくはブリッジ、またはそのマシンによって実行されるアクションを指定する命令524(シーケンシャルまたはその他)を実行することが可能な任意のマシンであり得る。さらに、単一の機械500のみが図示されている一方で、「機械」という用語はまた、命令524を個別にまたは協働して実行し、上記の方法の任意の1つまたは複数を実行する機械の任意の集合を含む解釈されるであろう。
例示的なコンピュータシステム500は、プロセッサ502(例えば、中央処理装置(CPU)、グラフィック処理装置(GPU)、デジタル信号プロセッサ(DSP)、1つまたは複数の特定用途向け集積回路(ASICs)、1つまたは複数の無線周波数集積回路(RFICs)、またはこれらの任意の組み合わせ)と、メインメモリ504と、スタティックメモリ506とを含み、これらは、バス508を介して互いに通信するよう構成される。コンピュータシステム500は、ビジュアルディスプレイインターフェイス510をさらに含み得る。ビジュアルインターフェイスは、ユーザインターフェイスをスクリーン(またはディスプレイ)上に表示することを可能とするソフトウェアドライバを含み得る。ビジュアルインターフェイスは、表面上、ウィンドウ上などに(例えば、ビジュアルプロジェクションユニットを介して)ユーザインターフェイスを、直接的に(例えば、スクリーン上に)または間接的に、表示し得る。説明を容易にするために、ビジュアルインターフェイスは、スクリーンとして説明され得る。ビジュアルインターフェイス510は、タッチ可能スクリーンを含み得る、またはインターフェイスし得る。コンピュータシステム500はまた、英数字入力デバイス512(例えば、物理キーボードまたはタッチスクリーンキーボード)、カーソル制御デバイス514(例えば、マウス、トラックボール、ジョイスティック、モーションセンサー、タッチスクリーン、または他のポインティング機器)、ストレージユニット516、信号生成デバイス518(例えば、スピーカ)、およびネットワークインターフェイスデバイス520を含み得て、これらはまた、バス508を介して通信するように構成される。
ストレージユニット516は、本明細書に記載される方法論または機能の任意の1つまたは複数を具現化する命令524が格納される機械可読媒体522(例えば、非一時的機械可読媒体)を含む。命令524はまた、コンピュータシステム500によるその実行の間に、メインメモリ504内、またはプロセッサ502内(例えば、プロセッサのキャッシュメモリ内)に完全に、または少なくとも部分的に存在し得て、メインメモリ504およびプロセッサ502はまた、機械可読媒体を構成する。命令524は、ネットワークインターフェイスデバイス520を介してネットワーク170上で送信または受信され得る。
機械可読媒体522は単一媒体であると例示的な実施形態では示されているが、「機械可読媒体」という用語は、命令(例えば、命令524)を格納することが可能な単一の媒体または複数の媒体(例えば、集中型または分散型データベース、または関連するキャッシュおよびサーバ)を含むと解釈されるべきである。「機械可読媒体」という用語はまた、機械によって実行される命令(例えば、命令524)を格納することが可能であり、機械に本明細書に開示される方法論の任意の1つまたは複数を実行させる任意の媒体を含むと解釈されるべきである。「機械可読媒体」という用語は、限定ではないが、固体メモリ、光学媒体、および磁気媒体の形態におけるデータリポジトリを含む。
図1および2のエンティティによって使用されるコンピュータのタイプは、実施形態、およびエンティティによって必要とされる処理能力に応じて変化できる。例えば、データベース120は、説明された機能性を提供するために共に働く複数のブレードサーバを含む分散システムとして実装され得る。さらに、コンピュータは、上述のコンポーネントのいくつかを欠く可能性がある。
[追加の検討事項]
上記の説明のいくつかの部分は、アルゴリズムプロセスまたは操作の観点から実施形態を説明する。これらのアルゴリズムの説明および表現は、コンピューティング技術の当業者によって一般的に使用されて、他の当業者に彼らの仕事の実体を効果的に伝える。これらの操作は、機能的、計算的、または論理的に説明されているが、プロセッサによる実行のための命令を含むコンピュータプログラムまたは同等の電気回路、マイクロコードなどによって実装されると理解される。さらに、一般性を失うことなく、機能的な操作のこれらの配置をモジュールと呼ぶことも、時には、便利であることが分かる。
上記の説明のいくつかの部分は、アルゴリズムプロセスまたは操作の観点から実施形態を説明する。これらのアルゴリズムの説明および表現は、コンピューティング技術の当業者によって一般的に使用されて、他の当業者に彼らの仕事の実体を効果的に伝える。これらの操作は、機能的、計算的、または論理的に説明されているが、プロセッサによる実行のための命令を含むコンピュータプログラムまたは同等の電気回路、マイクロコードなどによって実装されると理解される。さらに、一般性を失うことなく、機能的な操作のこれらの配置をモジュールと呼ぶことも、時には、便利であることが分かる。
本明細書に使用される場合、「一実施形態(one embodiment)」、または「実施形態(an embodiment)」への任意の参照は、その実施形態に関連して記載される特定の要素、特徴、構造、または特性が少なくとも1つの実施形態に含まれることを意味する。本明細書におけるさまざまな場所において、「一実施形態において(in one embodiment)」という表現の記載は、必ずしもすべてが同じ実施形態を参照しているわけではない。同様に、要素またはコンポーネントに先行する「a」または「a n」の使用は、単に便宜のために行われる。この説明は、それが別途意味することが明らかでない限り、要素またはコンポーネントの1つまたは複数が存在することを意味すると理解されるべきである。
値が「おおよそ(approximate)」または「実質的に(substantially)」(またはそれらの派生物)として説明される場合、コンテキストから別の意味が明らかでない限り、そのような値は正確には+/-10%と解釈されるべきである。例から、「約10」は、「9乃至11の範囲内」を意味すると理解されるべきである。
本明細書で使用される場合、「含む(comprises)」、「含む(comprising)」、「含む(includes)」、「含む(including)」、「有する(has)」、「有する(having)」、またはそれらの任意の他の変形という用語は、非排他的な包含をカバーすることを意図する。例えば、要素のリストを備えるプロセス、方法、物品、または装置は、必ずしもそれらの要素のみに限定されず、明示的に記載されていない、またはそのようなプロセス、方法、物品、または装置に内在する他の要素を含み得る。さらに、明示的に反対の記載がない限り、「または(or)」は包括的なまたは(an inclusive or)、を指し、排他的なまたは(an exclusive or)ではない。例えば、条件AまたはBは、以下のいずれか1つによって満たされる。Aは真(または存在する)かつBは偽(または存在しない)であり、Aは偽(または存在しない)かつBは真(または存在する)であり、AおよびBの両方が真(または存在する)である。
本開示を読むと、当業者は、スプレッドシート内の動的なデータベースクエリの任意に深い階層を提供するシステムおよびプロセスのさらに追加の代替の構造的および機能的設計を理解するであろう。したがって、特定の実施形態および用途が例示および説明されてきたが、説明された主題は、開示された正確な構造およびコンポーネントに限定されないことが理解されるべきである。保護の範囲は、以下の特許請求の範囲によってのみ制限されるべきである。
Claims (20)
- 動的なデータベースクエリを使用してスプレッドシートを更新する方法であって、
前記スプレッドシート内の指定されたセルを更新する要求を受信することであって、前記要求は前記指定されたセルの値または式を含む、ことと、
前記指定されたセルを前記値または式を含むように更新することと、
前記指定されたセルに依存する追加のセルを識別することと、
前記追加のセルの依存関係階層を取得することと、
前記依存関係階層に従って前記追加のセルを更新することであって、前記追加のセルの第1のセルを更新することが、前記スプレッドシート内の別のセルの現在の値を使用してデータソースクエリを動的に定義することと、前記データソースクエリによって返される結果を含むように前記第1のセルを更新することと、を含む、ことと、
前記スプレッドシートを表示するために提供することと、
を含む方法。 - サーバが前記方法を実行し、前記要求が前記サーバによってクライアントデバイスから受信され、前記スプレッドシートが表示されるために前記サーバによって前記クライアントデバイスに提供される、請求項1に記載の方法。
- 前記指定されたセルに依存する前記追加のセルを識別することは、前記スプレッドシートの既存の計算グラフにアクセスすることを含み、前記既存の計算グラフは、セル間の依存関係を示す、請求項1に記載の方法。
- 前記依存関係階層に従って前記追加のセルを更新することは、
前記指定されたセルの1つまたは複数の第1の世代の子セルを更新することと、
任意の第2の世代の子セルがあるかどうかを決定することと、
少なくとも1つの第2の世代の子セルがあると決定することに応答して、前記少なくとも1つの第2の世代の子セルを更新することと、
を含む請求項1に記載の方法。 - 前記現在の値が前記指定されたセルの前記更新された値である、請求項1に記載の方法。
- 前記データソースクエリは、データソース内のN行の各々に対するM個の属性を返し、MおよびNは1より大きい整数であり、N行の各々に対する前記M個の属性は、前記スプレッドシート内のM×Nセルの対応するブロックに挿入される、請求項1に記載の方法。
- M×Nセルの前記ブロックの左上隅は前記第1のセルであり、前記第1のセルに含まれる前記結果は前記N行の第1の行からの前記M個の属性の第1のパラメータである、請求項6に記載の方法。
- 表示のために前記スプレッドシートを提供することは、選択されたセルの第1の世代の子セルを、前記選択されたセルに対して強調表示で表示させることを含む、請求項1に記載の方法。
- 表示のために前記スプレッドシートを提供することは、前記選択されたセルの第2の世代の子セルを、前記選択されたセルおよび前記第1の世代の子セルに対して視覚的に区別可能な強調表示で表示させることをさらに含む、請求項8に記載の方法。
- 表示のために前記スプレッドシートを提供することは、ユーザが強調表示するいくつかの世代の子供および親セルを選択することを可能にするように構成された制御を提供し、前記選択されたいくつかの世代の子および親セルを、前記選択されたセルに対して強調表示で表示させることを、さらに含む請求項8に記載の方法。
- コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに、
スプレッドシート内の指定されたセルを更新する要求を受信することであって、前記要求は前記指定されたセルの値または式を含む、ことと、
前記指定されたセルを前記値または式を含むように更新することと、
前記指定されたセルに依存する追加のセルを識別することと、
前記追加のセルの依存関係階層を取得することと、
前記依存関係階層に従って前記追加のセルを更新することであって、前記追加のセルの第1のセルを更新することが、前記スプレッドシート内の別のセルの現在の値を使用してデータソースクエリを動的に定義することと、前記データソースクエリによって返される結果を含むように前記第1のセルを更新することと、を含む、ことと、
前記スプレッドシートを表示するために提供することと、
を含む操作を実行させる命令を含む、非一時的コンピュータ可読記憶媒体。 - サーバが前記操作を実行し、前記要求が前記サーバによってクライアントデバイスから受信され、前記スプレッドシートが表示されるために前記サーバによって前記クライアントデバイスに提供される、請求項11に記載の非一時的コンピュータ可読記憶媒体。
- 前記指定されたセルに依存する前記追加のセルを識別することは、前記スプレッドシートの既存の計算グラフにアクセスすることを含み、前記既存の計算グラフは、セル間の依存関係を示す、請求項11に記載の非一時的コンピュータ可読記憶媒体。
- 前記依存関係階層に従って前記追加のセルを更新することは、
前記指定されたセルの1つまたは複数の第1の世代の子セルを更新することと、
任意の第2の世代の子セルがあるかどうかを決定することと、
少なくとも1つの第2の世代の子セルがあると決定することに応答して、前記少なくとも1つの第2の世代の子セルを更新することと、
を含む、請求項11に記載の非一時的コンピュータ可読記憶媒体。 - 前記現在の値が前記指定されたセルの前記更新された値である、請求項11に記載の非一時的コンピュータ可読記憶媒体。
- 前記データソースクエリは、データソース内のN行の各々に対するM個の属性を返し、MおよびNは1より大きい整数であり、N行の各々に対する前記M個の属性は前記スプレッドシート内のM×Nセルの対応するブロックに挿入される、請求項11に記載の非一時的コンピュータ可読記憶媒体。
- M×Nセルの前記ブロックの左上隅は前記第1のセルであり、前記第1のセルに含まれる前記結果は前記N行の第1の行からの前記M個の属性の第1のパラメータである、請求項16に記載の非一時的コンピュータ可読記憶媒体。
- 表示のために前記スプレッドシートを提供することは、選択されたセルの第1の世代の子セルを、前記選択されたセルに対して強調表示で表示させ、前記選択されたセルの第2の世代の子セルを、前記選択されたセルおよび前記第1の世代の子セルに対して視覚的に区別可能な強調表示で表示させることを含む、請求項11に記載の非一時的コンピュータ可読記憶媒体。
- 表示のために前記スプレッドシートを提供することは、選択されたセルの第1の世代の子セルを、前記選択されたセルに対して強調表示で表示させ、ユーザが強調表示するいくつかの世代の子供および親セルを選択することを可能にするように構成された制御を提供し、前記選択されたいくつかの世代の子および親セルを、前記選択されたセルに対して強調表示で表示させることを含む、請求項11に記載の非一時的コンピュータ可読記憶媒体。
- サーバであって、
スプレッドシート内の指定されたセルを更新する要求を受信し、前記要求は前記指定されたセルの値または式を含み、
前記指定されたセルを前記値または式を含むように更新し、
前記指定されたセルに依存する追加のセルを識別し、
前記追加のセルの依存関係階層を取得し、
前記依存関係階層に従って前記追加のセルを更新し、前記追加のセルの第1のセルを更新することが、前記スプレッドシート内の別のセルの現在の値を使用してデータソースクエリを動的に定義することと、前記データソースクエリによって返される結果を含むように前記第1のセルを更新することと、を含み、
前記スプレッドシートを表示するために提供する、
ように構成されたスプレッドシートエンジンと、
前記データソースクエリを受信し、
前記データソースクエリに応答して1つまたは複数の結果を識別し、前記1つまたは複数の結果は第1の結果を含み、
前記データソースクエリに応答して、前記1つまたは複数の結果を前記スプレッドシートエンジンに返す、
ように構成されたデータソースと、
を備えたサーバ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962900434P | 2019-09-13 | 2019-09-13 | |
US62/900,434 | 2019-09-13 | ||
PCT/IB2020/058488 WO2021048823A1 (en) | 2019-09-13 | 2020-09-12 | Spreadsheet with dynamic database queries |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022548605A true JP2022548605A (ja) | 2022-11-21 |
JPWO2021048823A5 JPWO2021048823A5 (ja) | 2023-09-01 |
Family
ID=72521683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022516334A Pending JP2022548605A (ja) | 2019-09-13 | 2020-09-12 | 動的なデータベースクエリを伴うスプレッドシート |
Country Status (6)
Country | Link |
---|---|
US (3) | US11550778B2 (ja) |
EP (1) | EP4028905A1 (ja) |
JP (1) | JP2022548605A (ja) |
CA (1) | CA3154337A1 (ja) |
IL (1) | IL291289A (ja) |
WO (1) | WO2021048823A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11972204B2 (en) * | 2020-07-13 | 2024-04-30 | Adaptam Inc. | Method and system for improved ordering of output from spreadsheet analytical functions |
US11694023B2 (en) * | 2020-07-13 | 2023-07-04 | Adaptam Inc. | Method and system for improved spreadsheet analytical functioning |
US20230094877A1 (en) * | 2021-09-24 | 2023-03-30 | Google Llc | Dynamically and selectively updated spreadsheets based on knowledge monitoring and natural language processing |
US11966690B2 (en) * | 2022-08-29 | 2024-04-23 | Microsoft Technology Licensing, Llc | Enhanced integration of spreadsheets with external environments |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7805433B2 (en) | 2005-10-14 | 2010-09-28 | Microsoft Corporation | Multidimensional cube functions |
US20070168323A1 (en) * | 2006-01-03 | 2007-07-19 | Microsoft Corporation | Query aggregation |
EP2107474A1 (en) | 2008-03-31 | 2009-10-07 | British Telecommunications Public Limited Company | Data access |
US8527865B2 (en) | 2008-05-23 | 2013-09-03 | Microsoft Corporation | Spreadsheet formula translation of server calculation rules |
US20150199378A1 (en) | 2012-06-29 | 2015-07-16 | Nick Alex Lieven REYNTJEN | Method and apparatus for realizing a dynamically typed file or object system enabling a user to perform calculations over the fields associated with the files or objects in the system |
US11361246B2 (en) * | 2012-08-31 | 2022-06-14 | DataRobot, Inc. | Methods for automating aspects of machine learning, and related systems and apparatus |
US9116931B2 (en) | 2013-07-12 | 2015-08-25 | Logic9S, Llc | Integrated, configurable, analytical, temporal, visual electronic plan system |
US10140352B2 (en) * | 2014-07-17 | 2018-11-27 | Oracle International Corporation | Interfacing with a relational database for multi-dimensional analysis via a spreadsheet application |
US10810192B2 (en) * | 2018-09-18 | 2020-10-20 | Sigma Computing, Inc. | Generating a database query to dynamically aggregate rows of a data set |
-
2020
- 2020-09-12 CA CA3154337A patent/CA3154337A1/en active Pending
- 2020-09-12 US US17/019,214 patent/US11550778B2/en active Active
- 2020-09-12 WO PCT/IB2020/058488 patent/WO2021048823A1/en unknown
- 2020-09-12 JP JP2022516334A patent/JP2022548605A/ja active Pending
- 2020-09-12 EP EP20772443.6A patent/EP4028905A1/en active Pending
-
2022
- 2022-01-03 US US17/567,398 patent/US11704304B2/en active Active
- 2022-03-11 IL IL291289A patent/IL291289A/en unknown
-
2023
- 2023-05-31 US US18/204,128 patent/US20240143578A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220121654A1 (en) | 2022-04-21 |
US11704304B2 (en) | 2023-07-18 |
WO2021048823A1 (en) | 2021-03-18 |
IL291289A (en) | 2022-05-01 |
CA3154337A1 (en) | 2021-03-18 |
US20210081405A1 (en) | 2021-03-18 |
US11550778B2 (en) | 2023-01-10 |
EP4028905A1 (en) | 2022-07-20 |
US20240143578A1 (en) | 2024-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022548605A (ja) | 動的なデータベースクエリを伴うスプレッドシート | |
KR101639292B1 (ko) | 데이터 요소 사이의 관계를 시각화하는 방법 | |
US9037584B2 (en) | Techniques for dynamic cross-filtering | |
US10061758B2 (en) | Tabular widget with mergable cells | |
US20110137917A1 (en) | Retrieving a data item annotation in a view | |
US9547646B2 (en) | User-created members positioning for OLAP databases | |
US10192330B2 (en) | Rendering data visualizations in different analytical applications | |
US10650044B2 (en) | Method and apparatus for converting from a source database system to a destination database system | |
US20140143270A1 (en) | Generating dynamic drilldown reports | |
US20240160639A1 (en) | Cascading Data Impact Visualization Tool | |
US9213737B2 (en) | Calculation scenarios with semantic nodes | |
US8694918B2 (en) | Conveying hierarchical elements of a user interface | |
US20200372019A1 (en) | System and method for automatic completion of queries using natural language processing and an organizational memory | |
US20140344235A1 (en) | Determination of data modification | |
US20150046881A1 (en) | Archiving business objects | |
US20170371884A1 (en) | Metadata enrichment with a keyword definition editor | |
US20170329818A1 (en) | Pattern-based query result enhancement | |
US10417185B2 (en) | Gesture based semantic enrichment | |
US8775463B2 (en) | Detection and display of semantic errors in a reporting tool | |
US20150346956A1 (en) | Recommendations for creation of visualizations | |
US11080903B2 (en) | Visualization with conditional characteristic | |
CA2663859C (en) | Apparatus and method for updating a report through view time interaction | |
US10769164B2 (en) | Simplified access for core business with enterprise search | |
US20120089593A1 (en) | Query optimization based on reporting specifications | |
CN114265848A (zh) | 一种数据对比检索方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230824 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230824 |