JP2019522279A - データによって案内されるフィルタリング - Google Patents
データによって案内されるフィルタリング Download PDFInfo
- Publication number
- JP2019522279A JP2019522279A JP2018565014A JP2018565014A JP2019522279A JP 2019522279 A JP2019522279 A JP 2019522279A JP 2018565014 A JP2018565014 A JP 2018565014A JP 2018565014 A JP2018565014 A JP 2018565014A JP 2019522279 A JP2019522279 A JP 2019522279A
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- input element
- query
- data set
- value
- 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.)
- Withdrawn
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/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2425—Iterative querying; Query formulation based on the results of a preceding query
-
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本稿に記載されるさまざまな実施形態は:データセットの第一の属性を表わす第一の属性表示を表示する段階であって、前記第一の属性表示は第一の属性値の指示を受領するための第一の入力要素を有する、段階と;前記データセットの第二の属性を表わす第二の属性表示を表示する段階であって、前記第二の属性表示は第二の属性値の指示を受領するための第二の入力要素を有する、段階と;データセットの前記第一の属性についての第一の属性値の指示を受領する段階と;前記第一の属性値の指示を受領した後、前記第一の属性値を含むクエリーにマッチする前記データセットの部分を反映するよう前記第二の属性表示の前記第二の入力要素を変更する段階のうちの一つまたは複数を含む方法、装置およびコンピュータ可読媒体に関する。
Description
関連出願への相互参照
本願は2016年6月17日に出願された「データによって案内されるフィルタリング」と題する米国仮特許出願第62/351,336号の優先権を主張するものである。同出願の全開示はここに参照によってあらゆる目的について本願に組み込まれる。
本願は2016年6月17日に出願された「データによって案内されるフィルタリング」と題する米国仮特許出願第62/351,336号の優先権を主張するものである。同出願の全開示はここに参照によってあらゆる目的について本願に組み込まれる。
技術分野
本稿に記載されるさまざまな実施形態は、データ・アクセスに、より詳細には、それだけではないが、データセットのユーザー探査およびクエリー生成を容易にするためのユーザー・インターフェースに関する。
本稿に記載されるさまざまな実施形態は、データ・アクセスに、より詳細には、それだけではないが、データセットのユーザー探査およびクエリー生成を容易にするためのユーザー・インターフェースに関する。
データ解析が、病院管理、金融市場、消費者解析などを含む多くの分野の土台になっている。多くの場合に、ユーザーは、特定の特性にマッチするレコードを求めてデータベースに問い合わせし、次いでそのサブセット〔部分集合〕に対して特定の解析を実行することを望むことがある。たとえば、特定の手順を受けている救急救命治療部局または心臓科における年齢25〜50の患者についてのみの収入が表示されるべきであると指定できることは強力であろう。既存の問い合わせ言語またはフロントエンド問い合わせフォームは、所望されるクエリーを構築し、次いでデータベースに提出して、さらなる解析の実行のための部分集合を応答として受け取る機能をユーザーに提供することができる。
既存の構造化された問い合わせ言語は、データベースのどんな部分集合を解析したいかをユーザーがすでに知っているときにはうまく機能するが、これらのツールは、解析を実行するためにどの部分集合が光明を与えてくれるかを決定するためにユーザーがデータベースを探査することを許容するという点では不十分である。現状では、多くのツールは、ユーザーが使いたい部分集合をみつけるまで、複数回の逐次反復を通じてクエリーを再定式化し、提出することを要求する。
よって、本稿に記載されるさまざまな実施形態は、対話的な仕方でデータベースに対するクエリーを構築するためのユーザー・インターフェースであって、構築中にフィードバックがあるものを提供する。たとえば、いくつかの実施形態では、ユーザーは、クエリーに追加されるべき属性および値を選択するためのグラフィカル・ユーザー・インターフェース(GUI)を提供される。いくつかの実施形態では、ある属性値が選択されると、GUIは、該新たな選択が、選択されるデータ部分集合に対してもたらした効果を表示するよう更新される。たとえば、いくつかの実施形態では、特定の属性をもつ値に対する入力要素がサイズ変更されて、現在選択されている部分集合において、その入力要素に結びつけられる属性値にもマッチするレコードの相対数を示す;(たとえば他の入力要素の有効化を通じた)クエリーの修正はその入力要素のサイズを、その部分集合において、その入力要素の属性値にマッチするレコードの新たな割合を反映するよう変化させてもよい。対話的クエリー・インターフェースに構築内フィードバックを提供するためのさまざまな代替的な方法、システムおよび技法が、本稿に記載されるさまざまな実施形態に鑑み明白であろう。
本稿に記載されるさまざまな実施形態は:データセットの第一の属性を表わす第一の属性表示を表示する段階であって、前記第一の属性表示は第一の属性値の指示を受領するための第一の入力要素を有する、段階と;前記データセットの第二の属性を表わす第二の属性表示を表示する段階であって、前記第二の属性表示は第二の属性値の指示を受領するための第二の入力要素を有する、段階と;データセットの前記第一の属性についての第一の属性値の指示を受領する段階と;前記第一の属性値の指示を受領した後、前記第一の属性値を含むクエリーにマッチする前記データセットの部分を反映するよう前記第二の属性表示の前記第二の入力要素を変更する段階とを含む、方法に関する。
本稿に記載されるさまざまな実施形態は、メモリおよびプロセッサを含む装置に関する。該プロセッサは、データセットの第一の属性を表わす第一の属性表示を表示する段階であって、前記第一の属性表示は第一の属性値の指示を受領するための第一の入力要素を有する、段階と;前記データセットの第二の属性を表わす第二の属性表示を表示する段階であって、前記第二の属性表示は第二の属性値の指示を受領するための第二の入力要素を有する、段階と;データセットの前記第一の属性についての第一の属性値の指示を受領する段階と;前記第一の属性値の指示を受領した後、前記第一の属性値を含むクエリーにマッチする前記データセットの部分を反映するよう前記第二の属性表示の前記第二の入力要素を変更する段階とを実行するよう構成される。
本稿に記載されるさまざまな実施形態は、非一時的な機械可読記憶媒体に関する。該媒体は、データセットの第一の属性を表わす第一の属性表示を表示するための命令であって、前記第一の属性表示は第一の属性値の指示を受領するための第一の入力要素を有する、命令と;前記データセットの第二の属性を表わす第二の属性表示を表示するための命令であって、前記第二の属性表示は第二の属性値の指示を受領するための第二の入力要素を有する、命令と;データセットの前記第一の属性についての第一の属性値の指示を受領するための命令と;前記第一の属性値の指示を受領した後、前記第一の属性値を含むクエリーにマッチする前記データセットの部分を反映するよう前記第二の属性表示の前記第二の入力要素を変更するための命令とを有する。
記載されるさまざまな実施形態において、前記第二の入力要素を変更することは、前記第二の属性表示から前記第二の入力要素を除去することを含む。
記載されるさまざまな実施形態において、前記第二の入力要素を変更することは、前記第二の入力要素の特性を、前記第一の属性値を含むクエリーにマッチする前記データセットの部分内における、前記第二の属性値にマッチするレコードの割合に基づいて変更することを含む。
記載されるさまざまな実施形態において、前記第二の属性表示は、前記第二の入力要素を含む複数の入力要素を含み、前記複数の入力要素は、前記第二の属性の複数の属性値のそれぞれのものに関連付けられる。
記載されるさまざまな実施形態において、前記第二の入力要素を変更することは、前記第二の入力要素の寸法を、前記複数の入力要素の他のもののそれぞれの寸法に対して変更することを含み、該変更は、前記第一の属性値を含むクエリーにマッチする前記データセットの部分における、前記複数の属性値のそれぞれのもののシェアに基づく。
さまざまな実施形態はさらに、前記第二の入力要素を変更した後、データセットの第一の属性についての第二の属性値の指示を受領する段階と;前記第二の属性値の指示を受領した後、前記第一の属性値および前記第二の属性値を含むクエリーにマッチする前記データセットの部分を反映するよう前記第一の属性表示の前記第一の入力要素を変更する段階とを含む。
記載されるさまざまな実施形態において、前記第一の入力要素は選択サブ要素を含んでおり、前記第一の入力要素を変更することは、前記選択サブ要素の特性を変更することを含む。
記載されるさまざまな実施形態において、前記第一の入力要素を変更することは、前記第一の入力要素の選択サブ要素の寸法を、前記第一の属性値を含むクエリーにマッチする前記データセットの部分内における、前記第二の属性値にマッチするレコードの割合に基づいて変更することを含み、前記選択サブ要素の寸法は、前記第一の入力要素の対応する寸法より小さい。
さまざまな実施形態はさらに、前記第一の入力要素と前記第二の入力要素との間に延在する接続子要素を表示することを含む。
記載されるさまざまな実施形態において、前記第一の入力要素を変更することは、前記第一の入力要素に関連付けられた前記接続子要素の寸法を調整することを含む。
さまざまな実施形態はさらに、前記第一の属性表示と前記第二の属性表示との間に、前記データセットの第三の属性を表わす第三の属性表示を表示することを含む。前記第三の属性表示は、第三の属性値の指示を受領するための第三の入力要素を含む。
記載されるさまざまな実施形態において、前記クエリーは、前記第一の属性値と、前記第一の属性についての少なくとも一つの追加的な属性値とを含む。
記載されるさまざまな実施形態において、前記クエリーは、前記第一の属性値と、前記第一の属性および前記第二の属性以外の前記データセットの追加的な属性についての少なくとも一つの追加的な属性値とを含む。
さまざまな例示的実施形態をよりよく理解するために、付属の図面が参照される。
本願で呈示される記述および図面はさまざまな原理を例解する。本願で明示的に記載または図示されてはいないもののこれらの原理を具現し、本開示の範囲内に含まれるさまざまな構成を当業者が考案できるであろうことは理解されるであろう。本稿での用法では、本稿で使われるところの用語「または」は、そうでないこと(たとえば「あるいはそうではなく」または「あるいは代替において」)が示されない限り、排他的でないまたは(すなわち、および/または)のことである。さらに、本稿に記載されるさまざまな実施形態は、必ずしも相互に背反ではなく、組み合わされて、本願に記載される原理を組み込む追加的な実施形態を生成してもよい。
図1は、対話的クエリー構築インターフェースおよびクエリー結果の解析を提供するためのインターフェース100の例を示している。インターフェース100は、たとえばパーソナル・コンピュータ、ラップトップ、タブレット、スマートデバイスなどといったいかなる装置の視覚的ディスプレイで表示されてもよい。インターフェース100は、より大きなソフトウェア・スイートの一部として呈示されてもよい。たとえば、図示した実施形態において、インターフェースは、病院解析パッケージの一部であってもよい。本稿に記載されるさまざまな原理は他のコンテキスト、たとえば顧客または証券解析のためのソフトウェアまたはユーザーがデータベースもしくは他のデータセットのコンテンツを探査できるようにしうる任意のソフトウェアに適応されてもよいことが理解されるであろう。
図のように、インターフェースは二つのパネルを含む:問い合わせパネル110および結果パネル190である。一般に、問い合わせパネル110はユーザーが、根底にあるデータセットに対するクエリーを構築できるようにし、一方、結果パネル190は現在形成されているクエリーの結果(たとえば、検索されるレコードまたは検索されるレコードに対して実行される解析の結果)を表示する。図1の実施形態は二つのパネル110、190の一つの特定の配置を示しているが、パネルは異なる配置でまたは追加的な情報を伝える追加的なパネル(図示せず)とともに表示されてもよいことは明白であろう。いくつかの実施形態では、問い合わせパネル110および結果パネル190は、別個の離散的なエリアとしてではなく、両方の型の情報を含む単一のパネルとして呈示されてもよい。いくつかの実施形態では、問い合わせパネル110は、結果パネル190なしにそれ自身で表示されてもよい。たとえば、結果パネル190は、ユーザーが実行のためにクエリーを「提出する」ボタンを押した後に表示されるだけであってもよく、あるいは結果パネル190は、ソフトウェア・パッケージから完全に省略されてもよい(たとえば、問い合わせパネル110が、後述する方法および機能に基づいてデータセットを探査すること自体の解決策として呈示されてもよい)。
問い合わせパネル110は、根底にあるデータセットのさまざまな属性に対応する複数の属性表示(または属性表示要素)120、130、140、150、160、170を含む。図示した実施形態では、属性表示120、130、140、150、160、170は、ラベルおよび選択可能な列を含む複数のブロックの形を取っている。ただし、属性表示120、130、140、150、160、170について代替的なグラフィック形式が使用されてもよいことは理解されるであろう。たとえば、各グループが前のグループの下に現われるチェックボックスの諸グループまたはユーザーがタイプした情報を受領するためのテキストボックスの諸グループである。そのような代替的なグラフィック実施形態に対する本稿に記載される機能を実装するためのさまざまな修正は明白であろう。
上記のように、属性表示120、130、140、150、160、170は、根底にあるデータセットのそれぞれの属性に対応する。たとえば、図のように、根底にあるデータセット内の項目は、「グループ」、「優先度」、「年齢」、「部局」、「手順」および「フロア」を含む属性(たとえばデータ・テーブル内の列)を有していてもよい。いくつかの実施形態では、データセットは、一度に画面上に表示できるより多くの属性を含んでいてもよい;そのような実施形態では、コントローラ180のようなコントロールが、画面上に現在表示されていない追加的な属性表示へのアクセスをユーザーに提供してもよい。
第一の属性表示120を代表として取ると、本実施形態における属性表示は、その属性表示が対応する属性を示す属性名ラベル121と、現在の属性に従ってフィルタリングするために現在利用可能なレコードの数を表示するためのレコード計数ラベル122(これはのちにより詳細に説明する)とを含む。属性表示120は、さらに、構築されるクエリーに含めるための、その属性についての一つまたは複数の値を選択するための入力要素123のグループを含む。本実施形態では、入力要素124、126、128は、現在のクエリーにおける対応するラベル125、127、129において示されている値の使用をトグルするためにユーザーによってクリックされうる列の諸領域である。たとえば、第一の入力要素124を選択すると、根底にあるクエリーは、「グループ」属性が値「グループX」に等しいまたは「グループX」を含むレコードのみを選択するよう修正されてもよい。その後、ユーザーが最後の入力要素128を有効化する場合、根底にあるクエリーは、「グループ」属性が「グループX」または「グループZ」に等しいまたはそれを含むレコードのみを選択するよう更新されてもよい。入力要素128はクリック可能なボックス(たとえば有効化をトグルするためにクリック)として示されているが、さまざまな代替的な入力要素(たとえばチェックボックス、ラジオ入力、コンボ・セレクター、テキストボックスなど)が、潜在的には互いとの組み合わせにおいて使われてもよい。本稿に記載される機能を実装するための修正は明白であろう。
結果パネル190は、図のように、問い合わせパネル110において構築されたクエリーによって返されるデータセットに対して実行されるさまざまな収入およびコスト解析を出力する。図1に示したビューでは、問い合わせパネルにおいてまだクエリーが構築されていなくてもよく、よって、結果パネル190は、データセット全体に対して実行された解析を表示してもよい。ユーザーが問い合わせパネル110を介してクエリーを組み立てるにつれて、結果パネルに示されるデータが、たとえばリアルタイムに、またはユーザーが「提出」ボタンを押した後に、更新されてもよい。図のように、結果パネル190は、結果パネルの振る舞いを変更するためのコントロール191を含んでいる。該変更はたとえば、チャートのパラメータ(たとえば図のようなチャート192、197のy軸値192、チャートのx軸値193、195または凡例197に示されるような示されるバーによって伝えられる値)を定義すること、実行されるべき解析を選択もしくは定義すること、解析が実行されるべきかクエリーにマッチするレコードが表示されるべきかを選択すること、または実行されるべき解析の内部パラメータ、たとえば使うべき閾値もしくは係数を定義することである。
図2は、対話的クエリー構築インターフェースおよびクエリー結果の解析を提供するためのインターフェース200のもう一つの例を示している。図のように、インターフェース200は、ユーザー入力を受領し、表示をしかるべく更新した後の前記インターフェース100に対応しうる。たとえば、問い合わせパネル210は、ユーザーがクエリーに含めるために七つの属性値を選択しており、よって現在のクエリーは「グループ」属性が「グループX」、「グループY」、「グループZ」に等しいまたはそれを含み;「優先度」属性が値「非選択的」に等しいまたはそれを含み;「年齢」属性が値「25-50」または「50-65」に等しいまたはそれを含み;「部局」属性が値「腫瘍科」に等しいまたはそれを含むレコードをデータセットから選択しうる。結果パネル290は同様に、新たなクエリーの結果(たとえば、表示されている場合では、検索で取得された部分集合の収入およびコスト解析)を表示するよう更新され、チャート294、296および軸をしかるべく更新する。
問い合わせパネル210は、クエリーを対話的に生成することにおいてユーザーを支援する一つまたは複数の機能を含んでいてもよい。たとえば、いくつかのそのような機能は、選択されるレコードの数および型についての、あるいはクエリーに含めるための特定の属性値の選択もしくは選択解除が選択されるデータセットに対してもつ影響についての何らかの即座のフィードバックを提供してもよい。属性表示が順序付けられた仕方で(この問い合わせパネル210の例では左から右に)表示されるいくつかの実施形態では、ユーザーは、クエリーの各属性「ステージ」がどのように結果を絞り込むかについての一連の情報を与えられることができる。図のように、データセットは、998個の患者レコードで始まる(グループ属性表示220のレコード計数ラベル122において示されている)。ユーザーは、グループ属性についての三つの属性値すべてを選択しており、よって、「優先度属性」に対応する「次の」属性表示230によって絞り込むために、全998のレコードが利用可能である。ここで、ユーザーは「優先度」属性について「非選択的」を選択しており、より少数のレコード(「グループX」、「グループY」または「グループZ」の「グループ」属性および「非選択的」の「優先度」属性をもつレコード)が「年齢」属性についての「次」の属性表示240に渡される。すると、次の属性表示240は、その「ステージ」において利用可能な448個のレコードがさらなるフィルタリングのために利用可能であることを示す。ここで、ユーザーは「年齢」属性について「25-50」および「50-65」の値を選択しており、次の属性表示250は、210の患者(「グループX」、「グループY」または「グループZ」の「グループ」属性;「非選択的」の「優先度」属性;および「25-50」または「50-65」の「年齢」属性をもつもの)の集合を「受領」する。ここで、ユーザーは一つの最後の値、すなわち「部局」属性についての「腫瘍科」属性を選択している。すると、結果として得られるさらに絞り込まれた93レコードの集合が、結果パネル290に表示される情報のための基礎をなす。この時点で、ユーザーは、選択されるレコードの部分集合をさらに洗練するために、さらなる属性を選択するまたは属性を選択解除することができる。
問い合わせパネル210は順序付けられた属性、「次」の属性表示、「ステージ」、ある属性表示から別の属性表示への結果の「送達」などを用いて記述されることがあるが、そのような記述はクエリー・インターフェースの動作を記述する目的のためのたとえであることがあり、データセットに対する根底にあるクエリーの定式化、動作および実行を反映しないことがあることは理解されるであろう。たとえば、問い合わせパネル210の属性表示220、230、240、250が配列し直されたが同じ選択された属性値をもつとした場合、各レコードにおいて報告される患者の数(および後述するように入力要素高さまたは選択要素高さのような他のフィードバック・インジケーター)は視覚化目的のために変更されることがあるが、生成されるクエリーは変更されないことがある。
たとえば色、寸法、位置、アニメーションなどといった入力要素の特性を介して、さらなるフィードバック特徴が呈示されてもよい。たとえば、図1に戻ると、入力要素124、126、128の相対的な高さは、それぞれの関連付けられた属性値にマッチする998の患者レコード内のレコードの数によって決定されてもよい。こうして、入力要素126は諸入力要素123の列全体の高さのほぼ半分なので、ユーザーは、998の患者レコードの約半分が値「グループY」に設定されたまたは値「グループY」を含む「グループ」属性をもつことをすぐ把握しうる。同様に、属性表示160を見ると、ユーザーは、998患者レコードの約四分の一が「手順D」の値に設定された「手順」属性をもつと結論しうる。
いくつかの実施形態では、根底にあるクエリーを変更するためにユーザーが問い合わせパネル110、210を操作する際、一連の各表示要素に「渡される」データセットの部分を反映するよう、これらの特性が修正されてもよい。図2に戻ると、入力要素224、226、228は、図1の対応する入力要素124、126、128について示したのと同じ相対的な高さをもつことが見て取れる。この実施形態ではその属性表示220が順序において最初なので、それはいまだ998患者レコードの根底にあるデータセット全体に対して作用し、そのデータセット内の属性の内訳は変化していない。他方、「手順」属性表示は、93人の患者を含む最終的なクエリーの結果を「受け取る」。よって、各属性値の相対的な出現率が変化している可能性が高い。よって、ユーザーは今や、完全な現在のクエリーによって返されるレコード(93の患者レコードを有する)のうち、約10のうちの1つのみが「手順」属性について値「手順D」を含むと結論しうる。クエリーが入力される前にはその割合は、図1に示されるように4つのうちの1つに近かった。いくつかの実施形態では、寸法(または他の特性)の変化は、データセットい対するクエリー変更の影響を強調するためにアニメーション化されてもよい。たとえば、瞬時に入力要素の高さを新しい値に設定するのではなく、入力インターフェースは、入力要素を、新しい高さに到達するまで、ある時間期間(たとえば500msまたは1秒)にわたって拡大または縮小させてもよい。
いくつかの実施形態では、相対的な高さは、前の入力表示によって「送達」されるデータセットにおいて現われる属性値出現率に基づく。たとえば、第一の属性表示220は、998レコードの全データセットに基づく入力要素高さを有していてもよく、属性表示240は、463レコードの部分データセットに基づく入力要素高さを有していてもよく、次の属性表示は、244患者の部分データセットに基づく入力要素高さを有していてもよい。これらはいずれも、結果パネル290のために使われる最終的な問い合わせ結果ではなく、現在の属性表示の左に(あるいはそうでなくても順序付けにおいて先行して)表示されるクエリーの部分を反映する中間的な集合である。
いくつかの実施形態では、特定の属性を選択することの、順序付けにおいて先に選択された属性に対する効果を示すためのフィードバックが提供されてもよい。たとえば、進行オーバーレイ要素215が、選択された各要素間の接続を表示してもよい。進行要素215は、ユーザーによって有効化された入力要素の少なくとも一部に重なる選択サブ要素216a〜hと、互いに隣接する選択サブ要素216a〜gを接続する接続子サブ要素217a〜gとを含む異なる部分に分割されてもよい。図では、ユーザーは、属性表示220の三つの入力要素224、226、228全部が選択されているものと解釈しうる。進行オーバーレイ要素215がそれらの入力要素224、226、228の少なくとも一部に重なってそれにより選択サブ要素216a〜cを作っているからである。
いくつかの実施形態では、オーバーレイ進行要素215の特性は、根底にあるクエリーまたはそれからの結果の変化を反映するよう修正されうる。たとえば、いくつかの実施形態では、選択サブ要素216a〜hの高さが、最終的な結果集合に表われる対応する入力要素の属性値にマッチするレコードの割合(すなわち、レコードの全体集合または順序において直前の属性表示によって「渡された」レコードの中間集合内で選択された属性値にマッチする全レコードに対する、選択された属性値およびクエリー全体にマッチするレコードの割合)に基づいて設定されてもよい。たとえば、選択サブ要素216bは「グループY」の値についての全入力要素226の高さのほぼ半分なので、ユーザーは、998レコードのデータセット全体におけるすべての「グループY」のレコードの半分がクエリー全体によって捕捉されたと結論しうる。同様に、選択サブ要素216fは「年齢」属性値「25-50」に対応する入力要素の約80%をカバーするので、ユーザーは、「グループX/グループY/グループZ」および「非選択的」属性値にマッチする463レコードにおける「25-50」のレコードの約80%が、最終的なクエリー結果にも現われると結論しうる。
ユーザーが選択を行ない、最終結果に含まれるレコードの割合が変化する際、入力要素の高さと同様に、選択サブ要素の高さも変更されてもよい。たとえば、ユーザーが「手順」属性表示260上で「手順D」についての入力要素を選択したとすると、最終結果は、明らかに(「手順D」入力要素の相対的なサイズによって示されるように)、現在、結果集合にある93レコードの約10%に数が減るであろう。これは、(根底にあるデータセットに依存して)各選択サブ要素216a〜hを縮小させる(また、「手順D」入力要素についての新たな選択サブ要素および隣接する接続子要素を生成させる)可能性が高い。いくつかの実施形態では、データセットに対するクエリー変化の影響を強調するために、寸法(または他の特性)の変化はアニメーション化されてもよい。たとえば、瞬時に選択サブ要素の高さを新しい値に設定するのではなく、インターフェースは、選択サブ要素および隣接する接続子サブ要素の部分を、新しい高さに到達するまで、ある時間期間(たとえば500msまたは1秒)にわたって拡大または縮小させてもよい。
図12は、さまざまなフィードバック特徴を実装するクエリー・インターフェース1200の一部のもう一つの実施形態を示している。具体的には、インターフェース1200は、二つの異なる時点に示される単一のインターフェースを含む。前が1201a、後が1201bであり、ユーザーは新たな入力要素1223aを選択する。入力を受領する前は、インターフェースは、それぞれのレコード数ラベル1210a、1220a、1230aを含む三つの属性表示を含む。第一の属性表示は、以前に選択された一つの入力要素1211aをもつ。そのことは、その入力要素1211aの一部に重なる選択サブ要素1212aによって示されている。接続子サブ要素1218が、第一の選択サブ要素1212aを第二の属性表示における唯一の選択サブ要素1222aに接続する。この選択サブ要素1222aは入力要素1221aの一部に重なっており、対応する属性値が以前に選択されており、根底にあるクエリーの一部をなすことを示す。別の接続サブ要素1228aが、セクション選択サブ要素を第三の属性表示における最後の選択サブ要素1231aに接続する。この選択サブ要素1231aは対応する入力要素に完全に重なっており、第三の属性表示に「渡された」152レコード全部が、「入口」属性についての「入院患者」属性値にマッチすることを示している。(これは納得できる;第三の属性表示は、選択された属性値をもつ、UI順序における最後のものである;結果をさらに限定して選択サブ要素1231aによってカバーされる入力要素の割合を減らすその後のクエリー部分はない。)
ユーザーが追加的な入力要素1223aをクリックすると、インターフェース1201aが(瞬時にまたは短い時間期間をかけて)インターフェースの後のバージョン1201bに変化する。図のように、入力要素1223aには今では新たな選択サブ要素1224bが重なっており、入力要素1223aが選択されたことを示す。選択サブ要素1224bは、304のはいってくるレコードのうち、「50-65」の属性値にも関連付けられている部分をカバーするだけである。第三の属性表示が、そこで選択される属性値に基づいてクエリーをさらに限定するよう、まだ下流に残っているからである。しかしながら、入力要素1223aの高さは代わっていない。同じ304のレコードがいまだ第一の属性表示によって「渡され」ており、よってこれら304個のレコードの間での属性値の分布は変化していないからである。逆に、第三の属性表示は今や追加的なレコードが「渡される」ことを示している。ラベル1230bは今や、ユーザー入力前にラベル1230aによって示されていた152レコードではなく、245レコードを示している。これは、今や、「25-50」の「年齢グループ」だけではなく、「年齢グループ」属性についての「25-50」または「50-65」属性値のいずれかをもつレコードが渡されているという事実による。レコード数の変化は、(データセットによるが)「入口」属性値の分布が変化した可能性が高いことをも意味する。たとえば、図のように、入力要素1233bが今や、その入力要素の前のバージョン1233aよりも高い。これは、「その他」という「入口」属性値をもつレコードが、「50-65」という「年齢グループ」レコードが加えられるときに第三の属性表示に「渡される」レコードの、より大きな割合を占めることを含意している可能性がある。しかしながら、「入院患者」入力要素1231bは変化していない。これは、これらのレコードの割合が、「50-65」の年齢グループありでもなしでもほぼ同じであることを示す。
新たな選択サブ要素1224bを加えると、新たな接続子要素が追加される:下流の選択サブ要素1231bへの一つの接続子サブ要素1229bと、上流の選択サブ要素1212bへのもう一つの接続子サブ要素1219bである。上流の選択サブ要素1212bも高さが増大しており、これは(「50-65」レコードが加え戻されたため)「フロア3」という「フロア」属性値をもつレコードのより大きな割合が、最終結果集合にはいったことを示す。対応する入力要素1211aの高さは変化していない。これは、下流の属性選択は第一の属性表示に「はいってくる」1000個のレコードには影響せず、よって属性値分布が変化しなかったからである。
いくつかの実施形態では、属性表示は、自動的にまたは手動で順序を変更されてもよい。たとえば、図13は、クエリー・インターフェースのもう一つの実施形態を示している。具体的には、インターフェース1300は、二つの異なる時点に示される単一のインターフェースを含む。前が1301a、後が1301bであり、ユーザーは新たな入力要素1341aを選択して、現在のクエリーを修正する。第一のインターフェースは四つの属性表示1310a、1320a、1330a、1340aを含んでおり、そのうち二つ1310a、1320aが最近選択された属性値をもち、よって現在のクエリーの一部をなす。第四の属性表示1340aにおいて入力要素1341aをクリックすると、第四の属性表示1340aと第三の属性表示1340aが位置を入れ換える。この入れ換えは、もとの第四の属性表示1340bを、第二の属性表示1320b(すなわち、現在のクエリーに参加していた前の最後の属性表示)の隣に置く。この位置変更は、第二の属性表示1320bと第四の属性表示1340bに描かれた選択サブ要素1342bとの間に、新たな接続子サブ要素1328bを描かせる。新たに選択された属性表示1340bは図のようにただ単一のスロットを「飛び越す」だけである必要はないことは明らかであろう。その代わり、第一のインターフェース1301aにおいて、一つまたは複数の追加的な属性表示(図示せず)が第二の属性表示1320aと第三の属性表示1330aとの間に位置されていてもよい。すると、第三の属性表示1330bは一スロット下にシフトして、その後の属性表示(図示せず)があればそれも一スロット移動させるか、あるいは他の属性表示(図示せず)があっても移動させることなく第四の属性の以前の位置を取る。レコード総数、入力要素、選択サブ要素および接続子サブ要素も、図1、図2および図12に関して上記したように、適宜更新される。
いくつかの実施形態では、ユーザーは、たとえば現在のクエリーがステージの代替的な順序付けにおいてどのようにデータセットを絞り込んでいくかの代替的なビューをもつために、列を手動で並べ替えることができてもよい。図14は、三つの異なる時点におけるインターフェースのビューを含む、クエリー・インターフェース1400のもう一つの実施形態を示している。ユーザーが移動操作を開始する前のインターフェース1401a、移動操作中のインターフェース1401bおよび移動操作が完了した後のインターフェース1401cである。図のように、インターフェース1401aは初期には三つの属性表示1410a、1420a、1430aを含む。ユーザーは、第一の属性表示1410a、第三の属性表示1430a、第二の属性表示1420aの順序でこのクエリーを視覚化したいと決める。ユーザーは第三の属性表示1430の一部(たとえばヘッダ・ブロック)をクリックし、それを第一と第二の属性表示1410a、1420aの間のスペースまでドラッグする。図のように、第三の属性表示(またはその一部)がカーソルと一緒に動いてもよく、放した場合にその属性表示がどこに「着地」するかのインジケーター1440が表示されてもよい。ユーザーが第三の属性表示1430cを放すと、第三の属性表示1430cは(たとえばそれまでインジケーター1440によって示されていた)その新たな位置に置かれ、インターフェースは図13に関して上記で説明したのと同様の仕方で更新される。たとえば、第二の属性表示1420cは一スロット下にシフトするか第三の属性表示1430cと位置を入れ換えてもよく、他の属性表示(図示せず)が下にシフトしてもよく、あるいは入力要素、選択サブ要素または接続子サブ要素が新たな特性(たとえば高さ)をもって再表示されてもよい。
図3は、対話的クエリーおよび解析インターフェースを提供するためのハードウェア装置300の例を示している。図のように装置300はプロセッサ320、メモリ330、ユーザー・インターフェース340、通信インターフェース350および記憶360を、一つまたは複数のシステム・バス310を介して相互接続されて含んでいる。図3はいくつかの点で抽象化をなしており、装置300のコンポーネントの実際の編成は図示しているよりも複雑であってもよいことは理解されるであろう。
プロセッサ320は、メモリ330または記憶360に記憶された命令を実行するまたは他の仕方でデータを処理することができるいかなるハードウェア装置であってもよい。よって、プロセッサはマイクロプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)または他の同様のデバイスを含みうる。
メモリ330は、たとえばL1、L2またはL3キャッシュまたはシステム・メモリのようなさまざまなメモリを含んでいてもよい。よって、メモリ330は静的ランダムアクセスメモリ(SRAM)、動的RAM(DRAM)、フラッシュメモリ、読み出し専用メモリ(ROM)または他の同様のメモリ・デバイスを含みうる。プロセッサが本稿に記載される機能の一つまたは複数をハードウェアで実装する一つまたは複数のASIC(または他の処理装置)を含む実施形態では、他の実施形態においてそのような機能に対応するとして記載されているソフトウェアは省略されてもよい。
ユーザー・インターフェース340は、管理者のようなユーザーとの連絡を可能にするための一つまたは複数の装置を含んでいてもよい。たとえば、ユーザー・インターフェース340は、ユーザー・コマンドを受け取るためにディスプレイ、マウスおよびキーボードを含んでいてもよい。いくつかの実施形態では、ユーザー・インターフェース340は、通信インターフェース350を介してリモート端末に呈示されうるコマンドライン・インターフェースまたはグラフィカル・ユーザー・インターフェースを含んでいてもよい。
通信インターフェース350は、他のハードウェア装置との通信を可能にするための一つまたは複数の装置を含んでいてもよい。たとえば、通信インターフェース350は、イーサネット(登録商標)プロトコルに従って通信するよう構成されたネットワーク・インターフェース・カード(NIC)を含んでいてもよい。さらに、通信インターフェース350は、TCP/IPプロトコルに従った通信のためのTCP/IPスタックを実装してもよい。通信インターフェース350のためのさまざまな代替的または追加的なハードウェアまたは構成が明白であろう。
記憶360は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスまたは同様の記憶媒体といった一つまたは複数の機械可読記憶媒体を含んでいてもよい。さまざまな実施形態において、記憶360は、プロセッサ320による実行のための命令またはプロセッサ320が作用しうるデータを記憶していてもよい。たとえば、記憶360は、ハードウェア300のさまざまな基本的動作を制御するための基本オペレーティング・システム361を記憶してもよい。インターフェース100、200がウェブ・ベースのアプリケーションを介して呈示されるいくつかの実施形態では、記憶360は、リモート端末と通信するためのウェブ・サーバー362を含んでいてもよい。記憶360は、表示し、図1および図2に示したようなインターフェースを介して入力を受け取るためのグラフィカル・ユーザー・インターフェース(GUI)命令363をも含んでいてもよい。GUI命令363は、本稿に記載されるさまざまな機能を実行するための命令、たとえば現在のクエリーの視覚的表現(たとえばクエリー・パネル110、210)を表示するためのクエリー表現命令364;クエリー表現を介して入力を受け取り、クエリー・エンジン367を介してデータベース368にしかるべく提出するために根底にあるクエリーを修正するためのクエリー修正命令365;および検索されたレコードもしくはそこで実行された解析のようなクエリーの結果(たとえば結果パネル190、290)を表示するためのクエリー結果表示命令366を含んでいてもよい。クエリー・エンジン367は、たとえばSQLクエリー・エンジンのようなデータベースに問い合わせするためのいかなるエンジンであってもよい。ここで、データベースは問い合わせされることができるデータベース(または他のデータセット)でありうる。さまざまな実施形態において、クエリー・エンジン367またはデータベース368は、GUI命令363にローカルに記憶されていなくてもよく、その代わり、クエリーは通信インターフェース350を介してリモート装置に提出されてもよい。
記憶360に記憶されるとして記載されるさまざまな情報は追加的または代替的にメモリ330に記憶されてもよいことは明白であろう。この点で、メモリ330も「記憶装置」をなすと考えられてもよく、記憶360が「メモリ」と考えられてもよい。さまざまな他の構成が明白であろう。さらに、メモリ330および記憶360はいずれも「非一時的な機械可読媒体」であると考えられてもよい。本稿での用法では、用語「非一時的」は、一時的な信号を除外するが、揮発性および不揮発性メモリの両方を含むすべての形の記憶を含むものと理解される。
ハードウェア装置300が記載される各コンポーネントの一つを含むとして示されているが、さまざまなコンポーネントはさまざまな実施形態において複数あってもよい。たとえば、プロセッサ320は、本稿に記載される方法を独立して実行するよう構成された複数のマイクロプロセッサを、あるいは複数のプロセッサが本稿に記載される機能を達成するよう協働するように本稿に記載される方法の段階もしくはサブルーチンを実行するよう構成された複数のマイクロプロセッサを含んでいてもよい。さらに、装置300がクラウド・コンピューティング・システムにおいて実装される場合、さまざまなハードウェア・コンポーネントは別個の物理的システムに属しうる。たとえば、プロセッサ320は、第一のサーバーにおける第一のプロセッサおよび第二のサーバーにおける第二のプロセッサを含んでいてもよい。
図4は、対話的クエリーおよび解析インターフェースならびに対応する機能を提供するための方法400の例を示している。方法400はたとえば、図3のGUI命令363に対応していてもよい。方法400は、いくつかの点では、対話的クエリー・インターフェースを提供するための装置によって実行される動作の抽象化および概括的な記述であることがある。方法400のいくつかの段階の例示的実装に関するさまざまな追加的詳細は、図5〜図11に関して下記でより詳細に記述される。
方法400は段階405で始まり、段階410に進み、そこで、装置はクエリー・インターフェースを求める要求を受領する。たとえば、装置は、ウェブ・サーバー内でクエリー・インターフェースもしくは該インターフェースを組み込んでいるソフトウェア・スイートをポイントするよう構成されているURLに対するウェブ要求を受領してもよい。段階415では、装置は、クエリー・インターフェースをレンダリングしそれからの入力を解釈することにおいて使うための、データベースについての関連する情報を表現するためのデータベース・オブジェクトを生成し、初期化してもよい。たとえば、データベース・オブジェクトは、たとえば属性およびデータベース内でのその潜在的な値、データベース内でのレコード数、現在のクエリー、現在のクエリーもしくはその一部にマッチするレコード数などといったメタデータを含んでいてもよい。本稿に記載されるさまざまな例はデータベースを探査することに関係するが、本願の方法は、真のデータベースとして編成されていない他のデータセットに適応されてもよいことは理解されるであろう。
いくつかの実施形態では、段階410において受領された要求は、初期クエリーをも示しうる。たとえば、URLの一部、API要求または要求元ソフトウェア・スイートからの命令が、データベースに対するクエリーを指定してもよい。方法400は段階420において、そのようなクエリーが提供されたかどうかを判定し、もし提供されていたら、段階425において、はいってくるクエリーを反映するようデータベース・オブジェクトを更新する。提供されていなかったら、データベース・オブジェクトは、いかなる現在のクエリーも含まないその初期化された状態(またはデータベース中の全部のレコードを選択する現在のクエリー)のままにされる。
段階430において、装置はデータベース・オブジェクトからクエリー・インターフェースをレンダリングする。たとえば、装置は、クエリー・パネル110、210のようなインターフェースをレンダリングしてもよい。段階435において、装置は現在のクエリーを実行し、(そして結果に対して実行されるべき解析があればそれを実行し、)段階440において、そうした結果をユーザーに対する表示のためにレンダリングする(たとえば結果パネル190、290のような結果パネル)。クエリーを実行し、結果セットに対して解析を実行し、結果を表示するためのさまざまな方法が明白であろう。
段階445では、装置は、ユーザーが入力を提供するまで待つ。たとえば、入力要素を選択するまたは属性表示を再配列するなどしして、ユーザーがクエリー・インターフェースを介して入力を提供してもよい。次いで、装置は、段階450においてその入力が属性値の選択を含むかどうかを判定することによって、その入力を解釈することを始める。もしそうであれば、装置は属性値選択を反映する(たとえば属性値を追加するまたはクエリーから属性値を除去する)ようデータベース・オブジェクトを更新する。次いで、方法400は段階430にループで戻って、更新されたクエリーに基づいてクエリー・インターフェースをレンダリングし直す。
入力が属性値選択でなければ、方法400は段階460に進み、装置は、入力が属性表示をクエリー・インターフェースにおいて新たな位置に動かしたかどうかを判定する。もしそうであれば、装置は属性表示がどこからどこに動かされたか(インターフェース内で定義されるスロット番号)を判定し、段階470においてデータベース・オブジェクトを更新する。次いで、方法400は段階430にループで戻って、更新されたクエリー・インターフェース順序に基づいてクエリー・インターフェースをレンダリングし直す。
入力が属性表示を動かしていなかった場合には、装置は他の入力(たとえば結果表示への変更)を処理することに進み、さらなる入力を監視するために段階445にループで戻る。本稿に記載されるクエリー・インターフェースおよび結果表示内での実装のためのさまざまな追加的な機能が明白であろう。方法400はこのようにして、いくつかの実施形態ではユーザーがクエリー・インターフェースから離れるナビゲーションをするまたは他の仕方でクエリー・インターフェースを閉じることを決めるまで、動作を続ける。
図5は、本稿に記載される対話的クエリー機能を提供することにおいて使うためのデータ構造500の例を示している。理解されるであろうように、本稿に記載される例示的方法または本稿に記載される機能を実装するための他の方法をサポートするために、さまざまな代替的なデータ構造が使用されうる。さまざまな実施形態において、データ構造500は図3のGUI命令363に属してもよく、たとえばクエリー表現命令364、クエリー修正命令365またはクエリー結果表示命令366の一部または全部を実装してもよい。
図のように、データベース・オブジェクト(Database Object)・クラス510は、データベースにおいて使用される各属性の指示を記憶するための属性オブジェクト(のちにより詳細に説明する)のアレイを含む。データベース・オブジェクトは、データベース中のレコードの総数の計数およびクエリー・インターフェースを介してユーザーによって入力された現在のクエリーを格納するストリングをも含む。データベース・オブジェクト510は、図4の方法400に対応しうるMain()メソッドを含む複数のメソッドをも含みうる。他のメソッドは、根底にあるデータベースの構造を反映するようデータベース・オブジェクト510を初期化するためのInitialize()メソッド;(たとえば初期表示のために渡されうる)すでに形成されたクエリーを反映するよう、初期化されたデータベース・オブジェクトを構成するためのsetQuery(string)メソッド;各属性表示について表示すべきレコード総数を決定するためのdetermineRecordTotals()メソッド;データベース・オブジェクト510に格納された情報に基づいてGUIをレンダリングするためのrenderGUI()メソッド;属性表示をあるスロットから別のスロットに動かすためのmoveColumn(int,int)メソッド;ユーザー属性値選択(または選択解除)を扱うためのselectValue(string)メソッド;およびクエリー・エンジンに提出するのに好適な、データベース・オブジェクト510の現在状態からのストリング・クエリーを生成するための、buildQuery()メソッドをも含んでいてもよい。
属性オブジェクト(Attribute Object)・クラス520は、データベース内の個々の属性を表現するために使われてもよい。属性オブジェクト520は、属性の名前;データベース・オブジェクト510のアレイにおける現在位置において属性オブジェクト520に現在「渡される」レコードの数;その属性についての潜在的な値およびその属性に「渡された」レコードのうちその値にマッチするレコードの数を格納するための辞書(dictionary)または他の好適なデータ構造;および現在選択されている値selectedValues(もしあれば)を記録するストリングのアレイを含みうる。
図6は、本稿に記載される対話的クエリー機能を提供することにおいて使うためのデータ構造を生成し、初期化する方法600の例を示している。方法600はたとえば方法400の段階415またはデータベース・オブジェクト510のInitialize()メソッドに対応してもよい。本方法は段階605で始まり、段階610に進んで、そこで装置が、属性のリストを取得するためにデータベース・スキーマに問い合わせする。段階615において、装置はデータベース中のレコードの総数を問い合わせし、dbNumRecords変数をこの値に設定する。
次いで方法600は諸属性をループすることを始める。これは、段階620において対象とする第一の属性を取得し、段階625においてその属性を表わす属性オブジェクトを生成することによる。さまざまな実施形態において、方法600は、クエリーが設定されていないと想定し(別の方法はデータベース・オブジェクト510におけるクエリーの初期設定を可能にしてもよい)、よって、attNumRecordsの値をデータベース中のレコードの総数に設定してもよい(すなわち、属性値がまだ選択されていないので、各属性は、潜在的なフィルタリングのためにデータベース中のすべてのレコードを「受け取る」)。
段階635では、装置は、現在の属性についてあらゆる可能な値を求めてデータベースに問い合わせする。いくつかの実施形態では、この段階は、データベースへの一つまたは複数の問い合わせまたはシステム管理者によって以前に提供された構成を読むことに関わってもよい。たとえば、各レコードが患者年齢を含む場合、構成ファイルは、単一の値として扱われるべき年齢のグループを指定してもよい(たとえば、「25-50」は25歳および40歳に関連付けられたレコードを同じように捕捉する)。ひとたび潜在的な値が同定されたら、それらの値は現在の属性についてのvaluesArray〔値アレイ〕にキーとして追加される。方法600は次いで、可能な値を通じてループすることを始める。これは、段階640において処理すべき第一の値Vを取得することによる。段階645において、装置は、現在の属性について現在の値Vをもつレコードの数をデータベースに問い合わせる。装置はこの数を、現在の属性についてのvaluesArrayにおいてキーとしての現在の値Vがポイントするデータとして記録する。方法600は次いで、段階650において、その属性についてさらなる値が処理されるために残っているかどうかを判定する。現在の値が最後でない場合には、方法600は段階640にループで戻って次の値を処理する。それ以外の場合には、方法600は段階655において、そのデータベースについてさらなる属性が処理されるために残っているかどうかを判定する。現在の属性が最後でない場合には、方法600は段階620にループで戻って次の属性を処理する。それ以外の場合には、方法600は段階660において終了することに進む。
図7は、クエリーを反映するようデータ構造を更新するための方法700の例を示している。方法700は、方法400の段階425またはデータベース・オブジェクト510のsetQuery(string)メソッドに対応してもよい。本方法は、クエリー・ストリングが受領される段階705で始まり、段階710に進んで、装置はそのクエリーからの諸属性およびそれらに関連付けられた値をパースして順序付けられたリストにする。クエリーをパースしてその構成要素にするためのさまざまなトークン化器および他の手法が明白であろう。たとえば、受領されたクエリーが「SELECT * FROM database WHERE (Group='Group X') AND (Priority='Non-Elective' OR Priority='Unknown')」である場合、装置はこのクエリーを二つの属性のリストおよび値の二つのグループのリストにパースしうる:{Group〔グループ〕; Priority〔優先度〕}および{(Group X〔グループX〕); (Non-Elective〔非選択的〕, Unknown〔不明〕)}である。
受領されたクエリーにおける属性および値を同定した後、方法700は、段階715においてまずインデックスiを0に初期化することによって、同定された各属性を通じて逐次反復することを開始する。段階720では、装置は、段階710において同定された属性リストのi番目のスポットにおける属性を取得し、次いで、段階725では、装置は現在の属性にマッチするデータベース・オブジェクト〔DatabaseObject〕のattributeArray〔属性アレイ〕内の属性オブジェクト〔AttributeObject〕を位置特定する。段階730では、装置は属性オブジェクトの位置特定に成功したかどうかを判定し;そうでなければ、装置は段階735においてエラー・メッセージをログ記録し、出力して段階760に進み、それにより現在の属性のさらなる処理をスキップする(現在の属性がデータベース・オブジェクトにとって不明なので)。他方、装置が属性アレイにおいてマッチする属性オブジェクトを位置特定できる場合には、方法は段階740に進んで、装置は属性オブジェクトを属性アレイにおけるi番目の位置に動かして、既存の各要素を一スポットだけアレイの下方にシフトさせること(または位置の交換または属性オブジェクトを所望されるスポットに動かす効果がある他の任意の手法)によって余地を作り出す。このように、現在のクエリーに寄与する属性アレイの部分の順序は、初期には、クエリー・ストリングにおいて諸属性が現われる順番に一致する。代替的な順序付け手法は明白であろう。
次いで、方法700は、段階745においてクエリー値リストにおけるi番目のスポットから値を取得することによって、現在の属性についてのクエリー値を通じて逐次反復することを開始し、段階750において、その属性値を現在の属性オブジェクトのselectedValues〔選択値〕アレイに加える。段階755では、装置はクエリー値リストのi番目のスポット内に処理されるべきさらなる値が残っているかどうかを判定し、現在の値がi番目のスポットにおける最後でない場合には、本方法は段階745にループで戻って次の値を処理する。それ以外の場合には、方法は段階760に進む。
段階760では、装置は、段階710からの属性リストに処理するためのさらなる属性が残っているかどうかを判定する。これはたとえば、iがクエリー属性リストの長さより短いままであるかどうかを判定することによる。そうであれば、装置は段階765においてiをインクリメントし、段階720にループで戻って次の属性を処理する。属性リストにおけるすべての属性が処理された後、方法700は段階760に進み、装置はアレイ内の各属性オブジェクトに「渡される」レコード総数を決定する。そのようなレコード総数を決定するための例示的方法は、図8に関して下記でより詳細に述べる。方法700は次いで段階775で終了することに進む。
図8は、潜在的な属性値オプションについてレコード総数を決定するための方法800の例を示している。方法800は、方法700の段階760またはデータベース・オブジェクト510のdetermineRecordTotals()メソッドに対応していてもよい。方法800は段階802で始まり、段階804に進んで、装置がインデックス変数iを0に初期化する。この装置はまた、段階806において空のworkingQuery〔作業クエリー〕を初期化する(たとえば空のストリングまたは「SELECT * FROM database WHERE」または「SELECT COUNT(id) FROM database WHERE」のようなテンプレート・クエリー)。
装置は段階808において、属性アレイ(attributesArray)のi番目のスポットから処理するための属性オブジェクトを取得し、段階810において作業クエリーを実行する。作業クエリーに何も加えられていない最初の反復工程では、作業クエリーの実行はデータベースにおけるすべてのレコード(またはその計数)を返してもよい。段階812では、装置は現在の作業クエリーについての結果の数を、現在の属性オブジェクトについてのattNumRecordsとして記録し、属性オブジェクトに「渡された」レコードの数を表わすものとする。
次に、本方法は、属性オブジェクトのそれぞれの可能な値について結果を記録することを開始する。これは段階814において、別のインデックス変数jを0に初期化し、段階816において、現在の属性オブジェクトについての値アレイ(valuesArray)においてj番目のスポットにある値ストリング(たとえば、値アレイは辞書であり、そのj番目のキー)を取得することによる。段階818では、装置は、現在の属性(attribute)を現在の値(value)とマッチングさせるための一時的クエリー条件tempCondを生成する。装置は、作業クエリーの適切な部分に対してtempCondを加え、マッチするレコードの数を決定するためにそれを実行する。装置は、段階822において、レコード数を、値アレイにおいて現在のキーがポイントしているデータとして記録し、段階824において作業クエリーからtempCondを除去して、作業クエリーを段階820の実行前の以前の形に復元する。次いで、装置は段階826において、追加的な値が処理されるべく残っているかどうかを判定する。これはたとえば、jが値アレイの長さより短いかどうかを判定することによる。現在の属性オブジェクトについて処理されるべき値が残っている場合には、装置は段階828においてjをインクリメントし、方法800は段階816にループで戻って、値アレイにおける次の値を処理する。ひとたび現在の属性オブジェクトについてのすべての値が処理され、それについてレコード数が記録されたら、方法800は段階830に進む。
段階830では、装置は、現在の属性オブジェクトについて少なくとも一つの値が選択されたかどうかを判定する。そうでない場合、方法800は段階846までスキップして進む。他方、選択値アレイが空でない場合には、方法は段階832に進んで、装置は現在の属性を作業クエリーに加える。次いで、装置は選択された諸値を通じて逐次反復することを開始する。これは段階834において、前記インデックス変数jを0に初期化し、段階836において、選択値アレイからのj番目の値を取得することによる。段階838では、装置は、現在の値を作業クエリーに加える。次いで装置は、段階840において処理するためにさらなる選択値〔selectedValues〕が残っているかどうかを判定し、もし残っていれば、段階844においてjをインクリメントし、段階836にループで戻って、次の選択値を処理する。ひとたびすべての選択値が作業クエリーに加えられたら、方法800は段階846に進む。
(たとえば属性値はいってくるレコードを記録し、各属性値についてのレコード数を記録し、現在の属性および選択された値を、次の反復工程で使うために作業クエリーに加えることによって)現在の属性オブジェクトを完全に処理したら、装置は段階846においてさらなる属性オブジェクトが処理されるべく属性アレイ内に残っているかどうかを判定する。さらなる属性オブジェクトが残っている場合、装置は段階848においてiをインクリメントし、段階808にループで戻って、次の属性オブジェクトの処理を開始する。ひとたびすべての属性オブジェクトが処理されたら、装置は段階850において、currentQuery〔現在のクエリー〕を作業クエリーの最終バージョン(すべての属性オブジェクトを通じて逐次反復した後、遭遇されたすべての選択された属性値を組み込んでいる)に等しくなるよう設定し、本方法は段階852において終了することに進む。
図9は、対話的クエリー・インターフェースをレンダリングするための方法900の例を示している。さまざまな実施形態において、方法900は方法400の段階430に対応してもよく、データベース・オブジェクト510のrenderGUI()メソッドに対応してもよい。本方法は段階902において始まり、段階904に進んで、装置は三つの変数を初期化する:ブロック位置を追跡するためのbPos、インデックスを追跡するためのi、および接続子サブ要素を描画する際に使うために直前に処理されたブロックにおける選択されたブロックを追跡するためのlastSelections〔前回の選択〕アレイである。段階906では、装置は属性アレイ(attributesArray)からi番目の属性オブジェクトを取得し、段階908において属性表示(たとえば図1〜図2を参照して上記したような属性表示)を、現在のbPosに関連するブロック位置においてレンダリングする。先述したように、属性オブジェクトは、意図された順序で属性アレイに挿入されるので、属性オブジェクトは、さらなるソートなしに、属性アレイに現われる順序で表示される。
装置は次いで、現在の属性表示について諸入力要素をレンダリングすることを開始する。これは、まず段階910において、別のインデックスj、chunkStart変数および現在選択アレイを初期化することによる。段階912では、装置はj番目のスポットにおける値アレイ(valuesArray)からのデータ(たとえばj番目の属性値に関連付けられたレコードの数)を取得する。先述したように、「はいってくる」レコードの集合内で各属性値にマッチするレコードの数は、別の方法の一部として以前に計算されており、よって、現在の属性値についてのレコードの数vRecsを決定するためにさらなる計算または問い合わせが実行される必要はない。段階914では、装置は現在の値が何らかのレコードに関連付けられているかどうかを判定する。関連付けられていなければ、方法900は段階940までスキップして進む。そうではなく、現在の属性値について記されている少なくとも一つのレコードがある場合には、方法900は段階916に進んで、装置はレンダリングされるべき入力要素についての適切な高さchunkHeightを決定する。先述したように、chunkHeightは、現在の属性に「渡される」レコードの集合内でその属性値にマッチするレコードの割合に基づいて設定されてもよい。たとえば、装置は、vRecsを現在の属性についてのレコードの総数attNumRecordsで割ったものに、入力要素の列についての所望される合計高さをかけたものに等しくなるようchunkHeightを設定してもよい。段階918では、装置は、位置chunkStartで始まる、高さchunkHeightの入力要素をレンダリングする。入力要素は、適切な視覚的インジケーターのみならず、ユーザー選択を受け取るための対話機能をも伴ってレンダリングされてもよい。段階920では、装置は新たな入力要素に、属性値の名前を用いてラベル付けおよびタグ付けする。属性値の名前は、値アレイにおいてj番目の位置においてキーとして格納されるものである。入力要素にタグ付けすることにより、入力要素のユーザー選択によって生成される任意のメッセージによって属性値が担持されうる。
段階922では、装置は、現在の属性値が選択された値でもあり(すなわち選択値アレイにも格納されており)、よって選択サブ要素をもってレンダリングされる必要があるかどうかを判定する。そうでなければ、方法900は段階938にスキップして進む。それ以外の場合で、現在の属性値がクエリーについての選択された値である場合には、本方法は段階924に進み、装置は、初期に現在のクエリーに等しいtempQuery〔一時クエリー〕を生成する。段階926では、装置はその属性についての一時クエリー内の現在の属性値を単離する。たとえば、その属性値が現在の属性について選択された唯一の値である場合には、装置は一時クエリーを修正しなくてもよい。現在の属性について選択された二つ以上の属性値がある場合には、装置は、現在の属性以外の現在の属性についてのすべての値を消去してもよい(クエリー内の他の属性は手つかずのままとする)。装置は段階928において一時クエリーを実行し、次いで、段階930において結果の数をsRecsとして記録する。装置は次いで、選択(selection)の高さを、現在のステージに渡されたレコードの総数に対する、最終的な結果集合内の現在の属性値にマッチするレコードの割合として決定する。たとえば、装置は、sRecsを現在の属性についてのレコードの総数attNumRecordsで割ったものに入力要素の列についての所望される合計高さをかけたものとして、selHeightを計算してもよい。段階934では、装置は、チャンク開始(chunkstart)における高さselHeightの(よって少なくとも部分的に段階918でレンダリングされた入力要素に重なる)選択サブ要素をレンダリングする。段階935では、装置は、現在の選択サブ要素と、lastSelections〔前回の選択〕変数に記録されている、前にレンダリングされた属性表示からの任意の選択サブ要素との間の接続子サブ要素をレンダリングする。段階936では、現在の属性表示についてレンダリングされた選択サブ要素を追跡するために、その選択サブ要素はcurSelections〔現在の選択〕に加えられる。
段階938では、次の入力要素または選択サブ要素が、前の入力要素が終わる位置からレンダリングされうるよう、装置はchunkHeight変数をchunkStart変数に加算する。段階940では、装置は、現在の属性について処理されるべきさらなる値が残っているかどうかを判定する。残っていれば、装置は段階942においてインデックスjをインクリメントして、方法900は段階912にループで戻って、現在の属性についての次の属性値を処理する。ひとたび現在の属性についてのすべての属性値が処理されたら、方法900は段階944に進んで、装置は、処理されるべきさらなる属性が残っているかどうかを判定する。もし残っていれば、装置はおよびbposをインクリメントし、curSelectionsをlastSelectionsに転送し、現在の選択サブ要素が、次の属性表示をレンダリングするときに任意の必要とされる接続子サブ要素を生成するために使用されうるようにする。次いで方法900は段階906にループで戻って、次の属性を処理する。ひとたびすべての属性が処理されたら、GUIは完全にレンダリングされ、方法900は段階948において終了してもよい。
図10は、新たな属性値選択によりデータベース・オブジェクトを更新するための方法1000の例を示している。さまざまな実施形態において、方法1000は、方法400の段階455またはデータベース・オブジェクト510のselectValue(string)メソッドに対応してもよい。方法1000は、装置がユーザーから入力要素の選択を受領する段階1005で始まる。段階1010では、装置は、選択された入力要素が対応する、属性アレイ内の属性オブジェクトを位置特定する。次に、装置は、現在の操作が選択であるか選択解除であるかを判定する。これは、入力要素に関連付けられている属性値がすでに属性オブジェクトについての選択値(selectedValues)アレイに格納されているかどうかを判定することによる。値がすでに選択値にあれば、入力選択は既存の選択をクエリーから除去するものとして扱われ、方法1000は段階1020に進む。
段階1020では、装置は、現在の値を選択値アレイから除去する。段階1025では、装置は、選択値が今空であるかどうかを、結果として属性表示が、現在のクエリーを形成する属性表示後に現われる位置に動かされるべきかどうかを判定する。もしそうであれば、装置は属性オブジェクトを、その後の属性オブジェクトが空の選択値アレイを含まないような属性アレイにおけるスポットまで動かす。いくつかの実施形態では、装置は、たとえば方法800を実行することによってレコード総数を更新してもよい。次いで、方法1000は段階1050で終わってもよい。
他方、選択された入力要素に関連付けられた現在値がすでに選択値アレイにあるのでない場合には、方法は段階1035に進んで、装置が、現在の属性についての選択値アレイが現在空であるかどうかおよび結果としてその関連付けられた属性表示がクエリーの一部をなす最後の属性表示の右に動かされるべきであることを判定する。そうであれば、装置は、属性オブジェクトを属性アレイにおいて、先行する属性オブジェクトがどれも空の選択値アレイを含まないスポットまで動かす。いくつかの実施形態では、装置は、たとえば方法800を実行することによって、レコード総数も更新してもよい。段階1045では、装置は選択された入力要素の値を選択値アレイに加え、方法1000は段階1050において終了することに進む。
図11は、対話的クエリー・インターフェースにおいて列を動かすための方法1100の例を示している。さまざまな実施形態において、方法1100は、方法400の段階470またはデータベース・オブジェクトのmoveColumn(int,int)メソッドに対応してもよい。方法1100は段階1105で始まり、装置は、動かされるべき列の源位置および行き先位置を表わす二つの整数を受け取る。段階1110では、装置はインデックスiを、方法1100によって受領された新位置の値に初期化する。段階1115では、装置は源位置についての属性オブジェクトを見出し、別のインデックスjを属性アレイにおける属性オブジェクトの位置に等しくなるよう設定する。いくつかの実施形態では、この数は受領された源位置と同じであってもよく、段階1115はスキップされてもよい。段階1125では、装置はattributesArray[j]における属性オブジェクトを一時変数に読み込む。次いで、段階1130において、装置は一時変数をattributesArray[j]における属性オブジェクトと入れ換え、段階1135においてiをインクリメントする。次いで装置は、すべての適切な属性オブジェクトがシフトされたかどうかを、二つのインデックスiおよびjが等しいかどうかを判定することによって判定する。そうでなければ、方法は段階1130にループで戻る。ひとたびiがjに達したら、方法1100は段階1145に進み、tempにおける属性オブジェクトが属性アレイにj番目の位置のところで挿入し戻される。
方法1100が属性表示を順序において上位に動かすために好適であることは明白であろう;属性表示を順序において下位に動かすためのさまざまな修正、たとえば段階1135においてiをデクリメントすることは明白であろう。
図15は、対話的クエリー・インターフェースの代替的な実施形態1500を示す図である。この実施形態によれば、データセットを探査することにおいてユーザーを案内するのを助けるために、追加的な特徴が実装されてもよい。図のように、インターフェース1500は図1〜図2に関して上記したインターフェースと同様の仕方で動作する。しかしながら、インターフェース1500は、それぞれ異なる色をもつ複数の進行要素を含む。具体的には、第一の属性表示におけるそれぞれの選択された入力要素は、一意的な色の単一の進行要素に関連付けられていてもよい。こうして、このインターフェースは五つの異なる色付き進行跡1510、1520、1530、1540、1550を含む。ユーザーはこのようにして、第一の属性表示において各属性値に対応する各選択要素の割合を可視化することができる。さらに、色は、選択された属性値のない各属性表示において、第一の属性表示におけるそれぞれの選択された属性値にマッチする、その属性表示におけるそれぞれの属性値の割合を示すためにも使用されうる。そのような機能を実装するためのさまざまな修正は明白であろう。
上記の記述から、本発明のさまざまな例示的実施形態ががハードウェアまたはファームウェアにおいて実装されうることは明白であるはずである。さらに、さまざまな例示的実施形態は、機械可読記憶媒体に記憶された命令として実装されてもよく、該命令は、本稿で詳細に記載された動作を実行するために少なくとも一つのプロセッサによって読まれ、実行されてもよい。機械可読記憶媒体は、パーソナル・コンピュータもしくはラップトップ・コンピュータ、サーバーまたは他のコンピューティング装置といった機械によって読み取り可能な形で情報を記憶するためのいかなる機構を含んでいてもよい。このように、機械可読記憶媒体は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスおよび同様の記憶媒体を含んでいてもよい。
当業者は、本願のどのブロック図も本発明の原理を具現する例示的な回路の概念的なビューを表わすことを理解するはずである。同様に、どのフローチャート、流れ図、状態遷移図、擬似コードなども、機械可読媒体において実質的に表現されうる、よってコンピュータまたはプロセッサによって実行されうるさまざまなプロセスを表わすことは理解されるであろう。このことは、そのようなコンピュータまたはプロセッサが明示的に示されるか否かにはよらない。
さまざまな例示的実施形態がそのある種の例示的な側面を具体的に参照しつつ記述されてきたが、本発明は他の実施形態も可能であり、その詳細はさまざまな明らかな点で修正できることは理解しておくべきである。当業者には容易に明白となるように、本発明の精神および範囲内に留まりつつ変形および修正がなされてもよい。よって、上記の開示、記述および図面は単に例解目的のためであり、請求項によってのみ定義される本発明をいかなる仕方でも限定するものではない。
Claims (15)
- データセットの第一の属性を表わす第一の属性表示を表示する段階であって、前記第一の属性表示は第一の属性値の指示を受領するための第一の入力要素を有する、段階と;
前記データセットの第二の属性を表わす第二の属性表示を表示する段階であって、前記第二の属性表示は第二の属性値の指示を受領するための第二の入力要素を有する、段階と;
データセットの前記第一の属性についての第一の属性値の指示を受領する段階と;
前記第一の属性値の指示を受領した後、前記第一の属性値を含むクエリーにマッチする前記データセットの部分を反映するよう前記第二の属性表示の前記第二の入力要素を変更する段階とを含む、
方法。 - 前記第二の入力要素を変更することは、前記第二の属性表示から前記第二の入力要素を除去することを含む、請求項1記載の方法。
- 前記第二の入力要素を変更することは、前記第二の入力要素の特性を、前記第一の属性値を含む前記クエリーにマッチする前記データセットの前記部分内における、前記第二の属性値にマッチするレコードの割合に基づいて変更することを含む、請求項1記載の方法。
- 前記第二の属性表示は、前記第二の入力要素を含む複数の入力要素を含み、前記複数の入力要素は、前記第二の属性の複数の属性値のそれぞれのものに関連付けられる、請求項1記載の方法。
- 前記第二の入力要素を変更することは、前記第二の入力要素の寸法を、前記複数の入力要素の他のもののそれぞれの寸法に対して変更することを含み、該変更は、前記第一の属性値を含む前記クエリーにマッチする前記データセットの前記部分のうちの、前記複数の属性値のそれぞれのもののシェアに基づく、請求項4記載の方法。
- 前記第二の入力要素を変更した後、データセットの第一の属性についての第二の属性値の指示を受領する段階と;
前記第二の属性値の指示を受領した後、前記第一の属性値および前記第二の属性値を含むクエリーにマッチする前記データセットの部分を反映するよう前記第一の属性表示の前記第一の入力要素を変更する段階とを含む、
請求項1記載の方法。 - 前記第一の入力要素は選択サブ要素を含んでおり、前記第一の入力要素を変更することは、前記選択サブ要素の特性を変更することを含む、請求項6記載の方法。
- 前記第一の入力要素を変更することは、前記第一の入力要素の選択サブ要素の寸法を、前記第一の属性値を含む前記クエリーにマッチする前記データセットの前記部分内における、前記第二の属性値にマッチするレコードの割合に基づいて変更することを含み、前記選択サブ要素の寸法は、前記第一の入力要素の対応する寸法より小さい、請求項6記載の方法。
- 前記第一の入力要素と前記第二の入力要素との間に延在する接続子要素を表示することをさらに含む、請求項6記載の方法。
- 前記第一の入力要素を変更することは、前記第一の入力要素に関連付けられた前記接続子要素の寸法を調整することを含む、請求項9記載の方法。
- 前記第一の属性表示と前記第二の属性表示との間に、前記データセットの第三の属性を表わす第三の属性表示を表示することをさらに含み、前記第三の属性表示は、第三の属性値の指示を受領するための第三の入力要素を含む、
請求項1ないし10のうちいずれか一項記載の方法。 - 前記クエリーは、前記第一の属性値と、前記第一の属性についての少なくとも一つの追加的な属性値とを含む、請求項1ないし10のうちいずれか一項記載の方法。
- 前記クエリーは、前記第一の属性値と、前記第一の属性および前記第二の属性以外の前記データセットの追加的な属性についての少なくとも一つの追加的な属性値とを含む、請求項1ないし10のうちいずれか一項記載の方法。
- 非一時的な機械可読記憶媒体であって:
データセットの第一の属性を表わす第一の属性表示を表示するための命令であって、前記第一の属性表示は第一の属性値の指示を受領するための第一の入力要素を有する、命令と;
前記データセットの第二の属性を表わす第二の属性表示を表示するための命令であって、前記第二の属性表示は第二の属性値の指示を受領するための第二の入力要素を有する、命令と;
データセットの前記第一の属性についての第一の属性値の指示を受領するための命令と;
前記第一の属性値の指示を受領した後、前記第一の属性値を含むクエリーにマッチする前記データセットの部分を反映するよう前記第二の属性表示の前記第二の入力要素を変更するための命令とを有する、
媒体。 - メモリ;
表示装置を介した表示のためのデータを送信するよう構成されたインターフェース;および
プロセッサを有する装置であって、前記プロセッサは:
前記インターフェースを介して:
データセットの第一の属性を表わす第一の属性表示であって、前記第一の属性表示は第一の属性値の指示を受領するための第一の入力要素を含む、第一の属性表示と、
前記データセットの第二の属性を表わす第二の属性表示であって、前記第二の属性表示は第二の属性値の指示を受領するための第二の入力要素を含む、第二の属性表示とを表示するためのデータを送信する段階と;
データセットの前記第一の属性についての第一の属性値の指示を受領する段階と;
前記第一の属性値の指示を受領した後、前記インターフェースを介して、前記第二の属性表示の前記第二の入力要素の変更されたバージョンを表示するためのデータを送信する段階であって、前記第二の入力要素は、前記第一の属性値を含むクエリーにマッチする前記データセットの部分を反映するよう変更される、段階とを実行するよう構成されている、
装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662351336P | 2016-06-17 | 2016-06-17 | |
US62/351,336 | 2016-06-17 | ||
PCT/EP2017/064841 WO2017216380A1 (en) | 2016-06-17 | 2017-06-16 | Data-guided filtering |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019522279A true JP2019522279A (ja) | 2019-08-08 |
Family
ID=59070668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018565014A Withdrawn JP2019522279A (ja) | 2016-06-17 | 2017-06-16 | データによって案内されるフィルタリング |
Country Status (5)
Country | Link |
---|---|
US (1) | US11409762B2 (ja) |
EP (1) | EP3472725A1 (ja) |
JP (1) | JP2019522279A (ja) |
CN (1) | CN109313656A (ja) |
WO (1) | WO2017216380A1 (ja) |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10402456B2 (en) * | 2000-02-25 | 2019-09-03 | Vilox Technologies, Llc | Database operations and data manipulation using search-on-the-fly |
US7149983B1 (en) | 2002-05-08 | 2006-12-12 | Microsoft Corporation | User interface and method to facilitate hierarchical specification of queries using an information taxonomy |
US7574652B2 (en) * | 2002-06-20 | 2009-08-11 | Canon Kabushiki Kaisha | Methods for interactively defining transforms and for generating queries by manipulating existing query data |
US20040199539A1 (en) * | 2003-01-31 | 2004-10-07 | Juliet Richardson | Method and system for supporting hierarchical tree filtering |
US8423565B2 (en) * | 2006-12-21 | 2013-04-16 | Digital Doors, Inc. | Information life cycle search engine and method |
US8972899B2 (en) * | 2009-02-10 | 2015-03-03 | Ayasdi, Inc. | Systems and methods for visualization of data analysis |
WO2012034128A1 (en) * | 2010-09-10 | 2012-03-15 | Ab Initio Technology Llc | Managing data selection based on attributes |
US20120120086A1 (en) | 2010-11-16 | 2012-05-17 | Microsoft Corporation | Interactive and Scalable Treemap as a Visualization Service |
US20130031130A1 (en) | 2010-12-30 | 2013-01-31 | Charles Wilbur Hahm | System and method for interactive querying and analysis of data |
GB201115418D0 (en) * | 2011-09-06 | 2011-10-19 | Shl Group Ltd | Analytics |
US8548973B1 (en) * | 2012-05-15 | 2013-10-01 | International Business Machines Corporation | Method and apparatus for filtering search results |
DE202014010948U1 (de) * | 2013-05-22 | 2017-01-27 | Google Inc. | Nicht-kollaborative Filter in einem kollaborativen Dokument |
CN104951477B (zh) * | 2014-03-31 | 2019-04-12 | 国际商业机器公司 | 用于过滤数据的方法和装置 |
US9773272B2 (en) * | 2014-11-10 | 2017-09-26 | 0934781 B.C. Ltd. | Recommendation engine |
US20180005419A1 (en) | 2015-01-26 | 2018-01-04 | Hewlett-Packard Development Company, L.P. | Visually interactive and iterative analysis of data patterns by a user |
US10394801B2 (en) * | 2015-11-05 | 2019-08-27 | Oracle International Corporation | Automated data analysis using combined queries |
US10114884B1 (en) * | 2015-12-16 | 2018-10-30 | Palantir Technologies Inc. | Systems and methods for attribute analysis of one or more databases |
WO2017185135A1 (en) * | 2016-04-27 | 2017-11-02 | Ravelation Pty Ltd | System, method and tool for processing multi-dimensional data |
-
2017
- 2017-06-16 CN CN201780037569.7A patent/CN109313656A/zh active Pending
- 2017-06-16 JP JP2018565014A patent/JP2019522279A/ja not_active Withdrawn
- 2017-06-16 EP EP17730787.3A patent/EP3472725A1/en not_active Withdrawn
- 2017-06-16 US US16/305,134 patent/US11409762B2/en active Active
- 2017-06-16 WO PCT/EP2017/064841 patent/WO2017216380A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
CN109313656A (zh) | 2019-02-05 |
WO2017216380A1 (en) | 2017-12-21 |
US11409762B2 (en) | 2022-08-09 |
EP3472725A1 (en) | 2019-04-24 |
US20200327139A1 (en) | 2020-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10599313B2 (en) | System for high volume data analytic integration and channel-independent advertisement generation | |
Riche et al. | Untangling euler diagrams | |
TWI531953B (zh) | 所選資料的暫時格式化及製圖 | |
KR101811464B1 (ko) | 옵션들을 선택하기 위한 스핀 컨트롤 사용자 인터페이스 | |
US10740548B2 (en) | Dynamic report building using a heterogeneous combination of filtering criteria | |
US20160364770A1 (en) | System for high volume data analytic integration and channel-independent advertisement generation | |
RU2540843C2 (ru) | Отображение множества областей заголовков строк и столбцов в сводной таблице | |
JP5230095B2 (ja) | Plmデータベース内のオブジェクトを表示する処理および本処理を実装した装置 | |
US8935301B2 (en) | Data context selection in business analytics reports | |
US20120229466A1 (en) | Interactive visualization for exploring multi-modal, multi-relational, and multivariate graph data | |
US8739063B2 (en) | Localized exploded view | |
US8823711B2 (en) | Incremental creation of a graphical object to visually represent a data set | |
US20110131253A1 (en) | System and Method of Schema Matching | |
Rufiange et al. | Treematrix: A hybrid visualization of compound graphs | |
US10922059B2 (en) | Integrating application features into a platform interface based on application metadata | |
JP4740731B2 (ja) | 格納された複数のオブジェクトの間においてグラフィックでナビゲートするための方法およびシステム | |
US7856620B1 (en) | Systems and methods providing interaction interfaces | |
JP7485760B2 (ja) | ネットワーク可視化のシステム及び方法 | |
US20220269380A1 (en) | Method and system for structuring, displaying, and navigating information | |
CN112825038B (zh) | 基于通用组件语言规范的可视化页面制作方法和相关产品 | |
Kristiansen et al. | Visception: An interactive visual framework for nested visualization design | |
JP2019522279A (ja) | データによって案内されるフィルタリング | |
WO2020104342A1 (en) | A data filtering device | |
US8259114B2 (en) | System and method for visualizing parameter effective data sets | |
WO2016190444A1 (ja) | 情報管理装置並びにファイル管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200615 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20200924 |