JP2006107431A - 使いやすいデータコンテキストフィルタリング - Google Patents

使いやすいデータコンテキストフィルタリング Download PDF

Info

Publication number
JP2006107431A
JP2006107431A JP2005175171A JP2005175171A JP2006107431A JP 2006107431 A JP2006107431 A JP 2006107431A JP 2005175171 A JP2005175171 A JP 2005175171A JP 2005175171 A JP2005175171 A JP 2005175171A JP 2006107431 A JP2006107431 A JP 2006107431A
Authority
JP
Japan
Prior art keywords
filter
menu
query
computer
context
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
Application number
JP2005175171A
Other languages
English (en)
Inventor
Christopher W Bryant
ダブリュ.ブライアント クリストファー
Clinton D Covington
ディー.コビントン クリントン
Philip E Bergman
イー.バーグマン フィリップ
Richard Dickinson
ディッキンソン リチャード
Tiginesh M Beyene
エム.ベイェネ チジネシュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006107431A publication Critical patent/JP2006107431A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 使いやすいデータコンテキストフィルタリングを提供すること。
【解決手段】 メニューからの選択によってデータ照会を容易に行えるようにする、フィルタ照会のグラフィカルな作成方法およびシステムが開示される。データ表をフィルタリングし、または照会するという信号が受け取られる。次に、合図されたキーフィールドのコンテキストが分析され、そのコンテキストに基づくフィルタメニューが作成され、表示される。フィルタ選択が受け取られ、対応するフィルタが実行される。そのフィルタの結果が画面に表示される。
【選択図】 図1

Description

本発明は、一般に、ソフトウェアアプリケーションの分野に関する。より詳細には、本発明は、データ照会などによって、データを格納し、ソートするソフトウェアアプリケーションに関する。さらに詳細には、本発明の諸態様は、照会結果から返されるデータのフィルタリングに関する。
大量のデータを処理する目的で、データを論理的なやり方で編成し、格納するために、スプレッドシートやデータベースアプリケーションといったコンピュータソフトウェアアプリケーションが開発されている。典型的なスプレッドシートおよびデータベースアプリケーションは、多数の情報レコードを含み、各レコードは、所定数のフィールドを含む。データベースの状況では、通常、データベース管理システムを使って、データベースをより簡単に操作するソフトウェアツールが提供される。データベース管理システムの例には、特に、Microsoft(登録商法)Access(登録商標)やMicrosoft(登録商法)SQL Serverが含まれる。データベースは、一般に、ユーザが、スプレッドシートでは利用できない複雑なデータ間相互関係を設定することを可能にし、それは、その能力を高めるが、同時に、新しいユーザがデータベースアプリケーションを習得するのをより一層困難にもする。
典型的なデータベース管理システムは、ユーザが、データを付加、変更、または削除することを可能にすると共に、データベース中のレコードを照会、ソート、または再結合することも可能にする。さらに、通常のシステムは、データベースデータの安全性および完全性を維持することに関連する機能も提供する。
スプレッドシートまたはデータベースアプリケーションで大量のデータを照会することは、特に新しいユーザにとっては、複雑で困難を伴うタスクとなり得る。スプレッドシートでどのようにデータ照会を指定するか決定することも困難を伴い得る。データベースアプリケーションが使用するのに特に困難を伴い得るのは、より複雑な照会を可能にするために、しばしば、(構造化照会言語、すなわちSQLなどの)完全な照会言語が使用されるからである。照会の言語に新しいユーザが恐れを成すこともあり、ゆえに、よりユーザにとって使いやすい照会インターフェースが望ましい。
本発明がなされたのは、上記その他の考慮事項に対してである。
本発明によれば、コンピュータで実施されるフィルタ照会(filterqueries)のグラフィカルな作成方法が提供される。表をフィルタリングするという信号が受け取られる。次に、指定されたキーフィールドのコンテキストが分析され、そのコンテキストに基づくフィルタメニューが表示される。フィルタ選択を受け、対応するフィルタが作成される。
他の態様によれば、本発明は、使いやすいデータフィルタリングのシステムに関するものである。メニューモジュールは、フィルタメニューを維持する。受け取りモジュールは、フィルタ信号およびフィルタメニューからの選択を受け取る。フィルタモジュールは、フィルタリングを実行する。表示モジュールはフィルタメニューおよびフィルタ結果を表示し、コンテキスト分析モジュールは、特定の表セルまたは列のコンテキストを分析する。
他の態様によれば、本発明は、フィルタ照会の自動作成方法に関するものである。データ表が表示される。表をフィルタリングするという信号が受け取られる。指定された列のコンテキストが分析され、そのコンテキストに基づいてフィルタメニューが表示される。フィルタ選択が受け取られ、新しいフィルタが作成され、実行される。本発明は、コンピュータ処理としても、コンピューティングシステムとしても、あるいはコンピュータプログラム製品やコンピュータ可読媒体といった製造品としても実施され得る。コンピュータ可読媒体は、コンピュータシステムによって読取り可能な、コンピュータ処理を実行する命令からなるコンピュータプログラムを符号化したコンピュータ記憶媒体とすることができる。コンピュータプログラム可読媒体は、コンピューティングシステムによって読取り可能な、コンピュータ処理を実行する命令からなるコンピュータプログラムを符号化した搬送波上の伝搬信号とすることもできる。
本発明を特徴付ける上記その他様々な特徴および利点は、以下の詳細な説明を読み、関連する図面を吟味すれば、明らかになるであろう。
図1に、データベース管理システム内の製品注文データベースの表ビュー(表102ともいう)のスクリーンショットを示す。表102は、複数のデータ行およびデータ列からなる表を含む。各データ行は、一般に、単一のデータレコードを含む。一般に、データベース中の各データ列は、同種のデータ要素を含むものと期待され得る。例えば、注文ID列104は数値形式のデータ要素を含み、顧客列106は英数字ストリングの形のデータを含み、注文日列108は日付形式のデータを含むなどである。。他の多くの種類のデータがデータベースに保持され、データベース管理システム内で表を使って表示され得ることを、当業者は理解されよう。
図1のデータの一見簡単そうに見える視覚表示にもかかわらず、これまで、ユーザは、一般に、照会コマンドを設計し入力することによって、適切に構造化された照会言語での照会を手動で作成しなければならなかった。そのため、データベース管理システムは簡単なデータビューを提供することができるが、有効な照会を作成することは、データベースの世界をよく知らないスプレッドシートユーザにとっては依然として習得が困難な技能のままとなっている。データをフィルタリングするための「組み込みの(canned)」(あらかじめ準備された)照会を与え簡単な照会インターフェースを与えることによって、本発明は、データベースおよびスプレッドシート製品を、新規のユーザにとってかつてないほどにアクセスしやすくする。
本発明がコンピュータシステムとして実施され得ると想定するならば、図2は、本発明の実施形態が実施され得る適切なコンピューティングシステム環境の一例を示すためのものである。その最も基本的な構成において、システム200は、少なくとも1つの処理装置202およびメモリ204を含む。コンピューティングデバイスの厳密な構成および種類に応じて、メモリ204は、揮発性(RAMなど)、不揮発性(ROM、フラッシュメモリなど)または両者の何らかの組合せとすることができる。この最も基本的な構成を、図2に、破線206で示す。
メモリ204以外に、このシステムは、少なくとも1つの他の形のコンピュータ可読媒体を含み得る。コンピュータ可読媒体は、システム200がアクセスすることのできる任意の利用可能な媒体とすることができる。例をあげると、それだけに限らないが、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体が含まれ得る。
コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータといった情報の記憶のための任意の方法または技術で実施された、揮発性と不揮発性、取り外し可能と取り外し不能の媒体が含まれる。メモリ204、取り外し可能記憶装置208、および取り外し不能記憶装置210は、すべて、コンピュータ記憶媒体の例である。コンピュータ記憶媒体には、それだけに限らないが、RAM、ROM、EPROM、EEPROM、フラッシュメモリや他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)や他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置や他の磁気記憶装置、あるいは所望の情報を記憶するのに使用することができ、システム200からアクセスされ得る他の任意の媒体が含まれる。そのような任意のコンピュータ記憶媒体をシステム200の一部とすることができる。
システム200は、このシステムが他の装置と通信できるようにする通信接続212も含み得る。通信接続212は、通信媒体の一例である。
通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを搬送波または他の移送機構などの変調されたデータ信号中に具現化するものであり、任意の情報伝達媒体を含む。「変調されたデータ信号」という用語は、信号に情報を符号化するように1つまたは複数のその特性が設定または変更された信号を意味する。通信媒体には、それだけには限定されないが一例として、有線ネットワーク、直接配線接続などの有線媒体、および音響、RF、赤外線、その他の無線媒体などの無線媒体がある。本明細書で使用されるコンピュータ可読媒体という用語には、記憶媒体と通信媒体の両方が含まれる。
一実施形態によれば、システム200は、入力装置214および/または出力装置216などの周辺装置を含む。例示的な入力装置214には、それだけに限らないが、キーボード、コンピュータのマウスやペンやスタイラス、音声入力装置、触覚入力装置などが含まれる。例示的な出力装置216には、それだけに限らないが、ディスプレイ、スピーカ、プリンタなどの装置が含まれる。本発明では、ディスプレイが主要な出力装置である。これらの装置のそれぞれは当分野でよく知られており、したがって、本明細書では詳細に説明しない。
図3に、コンテキストフィルタリングを使って表が照会される、本発明の一実施形態を示す。本発明の一実施形態では、表示工程302は(図1の表102などの)表を表示する。この表は、実際には、どんな種類のデータも含み得る。各データ列は、一般に、一連の日付、英数字ストリング、あるいは数といった、単一の、同種のデータ型のデータを含む。
受け取り工程304は、ユーザが適切なグラフィカルユーザインターフェイス(GUI)制御シーケンスをクリックすると、表データをフィルタリングするという信号を受け取る。本発明の一実施形態では、特定の列または列見出し(その列が、以下で説明する「キーフィールド」を指定する)上でマウスを右クリックすると、受け取り工程304に信号が送られる。本発明の別の実施形態では、表中の特定のセル上で左クリックする(その場合、そのセルが含まれる列がキーフィールドになる)と、受け取り工程304に信号が送られる。入力装置からの任意の数の可能なGUI制御またはコマンドシーケンスを使って特定の型のデータを選択できることを当業者は理解されよう。例としては、マウスポインタを所与のデータ要素、列、または列見出しの中心に配置し、特定のマウスボタンをアクティブ化することが含まれる。代替として、キーボードを使って選択を行うこともできる。さらに代替として、キーボード、マウス、トラックボール、または他の入力装置動作の組合せを使って、データ要素、列、または列見出しを選択することもできる。
一実施形態では、受け取り工程304は、ある列の1つのセルの選択を、その全列の内容に基づいてフィルタリングするという信号として解釈することができる。別の実施形態では、受け取り工程304は、ある列の1つのセルの選択を、その特定のセルの内容だけに基づいてフィルタリングするという信号として解釈することができる。その選択が対応する列は「キーフィールド」になり、これは、各所与の行がフィルタリングされるか否か決定するのにその値が使用される列である。例えば、照会結果から、2004年より前に発注された製品注文データの表からのすべての注文を割愛する、すなわち「フィルタにかけて除外する」ためには、「注文日」列が、必然的に、そのような照会についてのキーフィールドとされなければならない。
特定のセルが(列全体に対して)選択されると、そのセル内の値を組み込んだフィルタオプションが可能である(例えば、後で論じる図5、6、7の例を参照)。
代替の実施形態に関しては、データ表の外部のデータもフィルタに組み込むことができる。例えば、注文データ表中の「今日」からの注文を除外するには、外部データ(すなわち、今日の日付)を検索し、その照会に組み込む必要がある。というのは、現在の日時は常に変化しており、ゆえに、データ表に格納するには実際的でないからである。
受け取り工程304がフィルタリングするという信号を受け取った後、コンテキスト分析動作306は、選択されたデータセルまたは列を分析して、それがどのデータ型を含むか判定する。次いで、判定されたデータ型に適したデータフィルタがフィルタメニュー502に付加され得る(図5参照)。
例えば、そのデータ型が日付であると判定された場合、日付に適した1つまたは複数のフィルタがフィルタメニューに付加される(フィルタメニューの例は、図5の502を参照)。そのような日付特有のフィルタ選択項目には「今日」を含むことができ、それを使って、今日の日付とマッチする日付を持たないすべてのレコードを除外することができる。同様に、「昨日」および「明日」も、コンテキスト分析工程304によってフィルタメニューに付加され得る日付特有のフィルタ選択項目である。他の日付特有のフィルタ選択項目には、「今週」、「先月」、「前四半期」、「今年」などが含まれ得る。他の日付特有のフィルタ選択項目には、特定のセルが選択された場合に、セルに含まれる日付「より新しい」、選択されたセルに含まれる日付「より古い」、または選択されたセルに含まれる日付と「同月」が含まれ得る。
さらに別の実施形態では、日付に基づくフィルタは、「期間中のすべての日付」フィルタを伴い得る。例えば、この種類のフィルタでのユーザオプションまたは選択項目には、年と無関係に、選択された四半期に関連付けられたすべてのデータを表示するための、「第1四半期」、および/または「第2四半期」が含まれ得る。さらに別の例では、これらの選択項目に、「1月」、「2月」、「3月」などの月を含めることができ、それによって、ユーザは、これらのオプションを選択して、年と無関係に選択された月の日付だけを示すことができる。したがって、そのようなものとして、一般のアプリケーションは、最近5年間にわたる第1四半期売上、あるいは上記の例での所与の月における誕生日すべてを、それぞれ、吟味し、フィルタリングするかもしれない。
所与の実施形態では、他のデータ型について他のタイプ特有のフィルタが存在し得る。例えば、ストリング特有のフィルタは「Is(である)」を含むことができ、指定されたセルに含まれるこのストリングにマッチしないデータレコードを除外することができる。同様に、「is not(でない)」も、指定されたセルに含まれるストリングにマッチするデータレコードを除外することができる。「Bigins with(で始まる)」は、ユーザ指定のストリングで始まるストリングを含まないレコードを除外するのに使用することができ、ゆえに、所与のストリングに一部マッチすることによるフィルタリングを可能にする。「Contains(を含む)」は、類似の部分サーチを可能にすることができ、このタイプは、別の所与のストリングを含むストリングを持つ要素を返す。「Not blank(空白でない)」は、指定されたフィールドに空白ストリングを含むデータレコードを除外することができる。
代替の実施形態では、列に表示される値のリストがユーザに提示される。各値の隣にはチェックボックス、または他の二値選択を可能にするコントロールがある。選択された(チェックされた)値にマッチしない値を含むレコードは除外される。
他の実施形態では、数値特有のフィルタが、数値フィールドの内容に基づくフィルタリングを可能にする。例えば、「Smallest 25(最小の25件)」は、キーフィールドにおける最小の25件の値を表すキーフィールドを含むレコード以外すべてを除外することができる。そのようなフィルタは、一意でない数を含む列が存在する場合、25を上回るレコードを返すことがある。というのは、SQLは、数を比較するとき、最高または最低のステータスと「同位である」すべての数を報告するからである。例えば、最小の25件の顧客郵便番号に対応するもの以外のすべてのレコードを除外しても、依然として、多数の顧客レコードが含まれることがある。というのは、各郵便番号ごとに何千という顧客が存在し得るからである。別の例として、「Largest 100(最大の100件)」は、キーフィールドにおける最大の100件の値を表すキーフィールドを含むレコード以外すべてを除外する。「Greater than average(平均値を上回る)」は、1列の数の平均値を計算し、次いで、その平均値以下のレコードを除外する。同様に、「Less than average(平均値を下回る)」は、1列の数の平均値を計算し、次いで、その平均値以上のレコードを除外する。別の実施形態では、ユーザは、「Betwee(の間に)」フィルタを使って2つの数を指定することができ、それら2つの数によって形成される範囲内にない値を含むレコードが除外される。
さらに別の実施形態では、パーセンタイル値を使って数値をフィルタリングすることができる。例えば、「Smallest 5 percent(最小の5パーセント)」または「Largest 25 percent(最大の25パーセント)」を使って、表中のそれ以外の数に対してそれらの値に基づく数をフィルタリングすることができる。
本発明の1つの特定の実施形態では、非常に限られた値の選択を有するセルを含む列が、コンテキスト分析工程306によって、フィルタメニューに実際の値を付加させることができる。例えば、可能な値として「はい」または「いいえ」のみを許容する列は、コンテキスト分析工程306によって、フィルタメニューに「はい」および「いいえ」フィルタオプションを付加させることができる。
いくつかのフィルタが複数のデータ型に適し得ることを、当業者は理解されよう。例えば、「Equals(に等しい)」を使って、選択されたセルの内容と等しくないすべてのデータレコードを除外することができる。また、「に等しい」を使ってマッチする日付、数、英数字ストリング、ブール値などを見つけることもできる。
本発明の一実施形態では、コンテキスト分析工程306は、フィルタメニューにそれ以上のフィルタを付加する必要がないと判定することができる。
コンテキスト分析工程306がフィルタメニューに適切なフィルタを付加した後、表示工程308は、フィルタメニューを表示する(フィルタメニューの例については、図6の602を参照)。表示工程308によって表示されるフィルタメニューは、すべてのデータ型に適したデフォルトのフィルタ(上述の「に等しい」など)を含むことができる。
フィルタメニューが表示されると、受け取り工程310は、フィルタ選択を受け取る。一実施形態では、この選択は、フィルタメニュー中の所与のフィルタ上にマウスポインタを位置させ、マウスボタンをクリックすることにより行われる。しかしながら、特許請求する本発明の範囲を逸脱することなく、任意の数の入力装置シーケンスを使ってフィルタメニューからフィルタを選択することができることを、当業者は理解されよう。
フィルタ選択が受け取られた後、判定工程312は、選択された表列にすでにフィルタが存在するかどうか判定する。選択された表列にすでにフィルタが存在する場合、フローはYESに分岐して除去工程314に至る。しかしながら、選択された表列にフィルタが存在しない場合、フローはNOに分岐して作成工程316に至る。
本発明の一実施形態では、同じ表列に2つのフィルタを適用することができず、そのため、判定工程312が選択された表列にすでにフィルタが存在すると判定した場合、新しいフィルタに道を空けるために、除去工程314を使ってそのフィルタが除去される。
指定された表列にフィルタが存在しなかった場合、またはフィルタは存在したが、除去工程314によって除去された場合、作成工程316は、次に、新しいフィルタを作成する。この新しいフィルタは、SQLなどの照会言語で符号化された照会を含む。
本発明の別の実施形態では、複数のフィルタを、それらが相互に排他的でない限り、同じ表列に適用することができる。
データベースが関与する一実施形態では、SQLの「where」修飾子を組み込んだフィルタ照会が作成され得る。where修飾子がSQL照会に付加されると、それを使ってサーチを実行し、または照会結果を絞り込むことができる。例えば、SQL照会の末尾に「where 国=リトアニア」を付加すると、この照会は、その国列の値が「リトアニア」に等しい結果だけを返す。同様に、SQL照会に「where 注文ID=41475」を付加すると、この照会は、その注文IDが41475に等しい結果だけを返す。このように、where修飾子を使って、その照会にマッチするレコードの、任意に広い、または狭いリストを返すことができる。
完全マッチを探し出す以外に、where修飾子を使って、当分野でよく知られているサーチツールである、正規表現の使用により照会への部分マッチを見つけることもできることを、当業者は理解されよう。例えば、where照会は、「L」で始まる国値を持つすべてのレコードを照会するように変更することができる。同様に、SQLのwhere修飾子を使って特定の範囲の数および/または日付を照会することもできる。
別の実施形態では、フィルタは、SQL「top」修飾子を組み込むことができる。これを使って、照会に、任意の数の上位または下位エントリだけを返すよう指示することができる。例えば、売上データベース照会にTop(5)を付加することによって、所与の照会で、すべての売上ではなく上位5つの売上数だけが返される。同位である場合、この例示的売上データベースは、5つを上回るレコードを返すことになる。
whereおよびtopというSQL修飾子は例示的実施形態として提供したにすぎず、特許請求する本発明の範囲を逸脱することなく、照会を構築する際に他の照会修飾子も使用され得ることを、当業者は理解されよう。さらに、いくつかの実施形態は、照会言語を持たないことのあるスプレッドシートを伴い、その場合は代わりに、データ上で直接照会を実行する。
データベースが関与する一実施形態では、適切なSQL修飾子を含むフィルタ照会が作成され、さらなる変更および/またはその後の使用のためにメモリに格納される。
本発明の一実施形態では、作成工程316は、フィルタメニューが表示されるたびに、フィルタメニュー上の所与のフィルタを強調表示させることによりそれを選択することもできる。
フィルタが作成された後、実行工程318は、そのフィルタに基づいてフィルタリングを実行する。データベースの実施形態では、作成工程316によって作成された照会は、データベース管理システムによって照会言語でデータベースに発行される。別の実施形態では、フィルタリングは、アプリケーションによって直接実行される。その結果はメモリに格納され、またはレンダリングのために(以下で論じる)表示工程320に導かれ得る。
表示工程320は、実行工程318によってもたらされた照会結果を画面上にレンダリングする。結果は、メモリから読み取られ、実行工程318によって表示工程320に直接渡されることもあり、別の方法でレンダリングのために表示工程320に送られることもある。結果が、元のフィルタリングされていない表の代わりにレンダリングされる。
本発明の別の実施形態では、結果を別の結果表にレンダリングすることができ、それは必ずしも元の、フィルタリングされていない表を置き換えるとは限らない。
本発明の特定の実施形態では、ユーザが、現在実施されているすべてのフィルタを消去することを可能にする「クリアフィルタ」コントロールが存在する。任意選択で、「クリアフィルタ」コントロールは、さらに、すべてのフィルタをオフにして現在の照会を再発行し、画面上の結果をしかるべく更新することもできる。
図4は、本発明の一実施形態を構成するモジュールを示すブロック図である。実施形態400は、照会を実行し、フィルタ照会を実行し、またはフィルタ照会の結果を受け取るときに、メモリ420とやりとりすることができる。実施形態400は、特に、セル、列、フィルタのグラフィカルな選択を可能にし、フィルタの結果を返すために、表示装置430ともやりとりする。
メニューモジュール402は、特定の表列でのフィルタメニューを維持する。これには、コンテキスト的に適切なフィルタオプションをフィルタメニューに付加すること、コンテキスト的にメニューに不適切なフィルタオプションを除去すること、およびフィルタメニューにフィルタオプションを整理することが含まれ得る。
受け取りモジュール404は、レコードおよびフィルタメニューからのフィルタ選択をフィルタリングするという信号を受け取る。入力は、キーボード入力または他の入力装置を介してGUIから、あるいは自動スクリプトまたはマクロによって受け取ることができる。
フィルタモジュール406はフィルタを作成する。データベースを伴う一実施形態では、フィルタモジュール406は、フィルタに関連付けられた照会も作成し、それらの照会を実行する。SQLは、データベース分野では主流の照会言語であるが、フィルタ照会は、HQL(Health Query Language)など、SQLの専門化したバージョンを含む任意の照会言語で、あるいはSQLとは無関係な照会言語でも作成することができる。照会の実行は、データベース管理システムレベルで行うこともでき、データベースにアクセスする下位レベルのプログラムに代行させることもできる。照会は、データベース管理システムが走っているのと同じシステム上で実行することもでき、実行のために1つまたは複数のリモートシステムに送信することもできる。後者の場合、リモートシステムは、その照会結果を表示できるように、データベース管理システムに、直接的または間接的に、結果を返す。フィルタは、照会またはデータベース管理システムを使用せずに、スプレッドシートアプリケーションによってデータに直接適用されることもある。
表示モジュール408は、本発明の多数の態様を表示する。例えば、表示モジュール408は、スプレッドシートまたはデータベース管理システムにおける表を表示することができる。また、図3に関連して前述した、フィルタメニューを表示することもできる。さらに、フィルタの結果を、表の形で、あるいは他の適切な形式で表示することもできる。表示モジュール408は、表示装置430とやりとりして、それが表示する要素をレンダリングすることができる。
コンテキスト分析モジュール410は、データ表中の特定のセルまたは列のコンテキストを分析する。所定の基準(図3に関連するコンテキスト分析工程306の説明を参照)またはその他の基準を使って、適切な(かつ不適切な)フィルタを導出することができる。
図5に、フィルタリングするという信号が受け取られ(図示せず)、フィルタメニュー502が表示されているスクリーンショットの一例を示す。フィルタが、フィルタメニュー502からまだ選択されていないため、背景にはフィルタリングされていないレコード504が表示されている。この例示的スクリーンショットでは、フィルタメニュー502は、ユーザが、まず、注文日列506中の1つのセル(図示せず)をクリックし(ゆえに、注文日を、その後のフィルタリングが行われるキーフィールドとして選択し)、次いで、共通フィルタメニュー項目508をクリックしたときに表示されたものであるが、この機能は、特許請求する本発明の範囲から逸脱することなく、異なるセルまたは列上で、かつ/または異なるメニュー項目、ボタン、マウス、またはキーボードシーケンスを用いて、あるいはツールバー要素の選択によっても、同様に簡単にトリガされたかもしれないことを、当業者は理解されよう。
図6に、特定のフィルタ602がフィルタメニュー604から選択されている別のスクリーンショットの例を示す。この例示的スクリーンショットでは、特定のフィルタ602は、その上にマウスポインタを置き、左クリックすることによって選択されたものであるが、この選択は、特許請求する本発明の範囲を逸脱することなく、他のシーケンスおよび他の入力装置を用いても行われ得ることを、当業者は理解されよう。
図7に、特定のフィルタ(図示せず、図6に関連する602を参照)が、フィルタリングされていないデータ(図示せず、図1に関連する102を参照)に適用されており、結果として生じるフィルタリングされたデータ702が表示されている、別のスクリーンショットの例を示す。注文日列704は、フィルタリングされたデータ702が、5月中の注文日キーフィールド値を持つレコードだけを含むという事実に注意を引くために、陰影付け処理が施されている。
この例示的実施形態は、簡単にするために1つのフィルタだけを処理するが、複数の列に適用される複数のフィルタを同時に実施して、各フィルタを相互作用させてより正確にフィルタ照会の焦点を合わせることもできることを、当業者は理解されよう。同様に、例示的実施形態は、スプレッドシート、およびデータベースアプリケーションの状況で提示されたが、本発明は、特定のデータがデータセットから選択されなければならない任意の状況で使用され得ることも、当業者は理解されよう。さらに、結果として生じる特定のデータは表示される必要はない。それは、特許請求する本発明の範囲を逸脱することなく、代わりに、メモリに保存することも、プリンタに送ることも、電子メール送信することも、それ以外に宛先指定することもできる。
前述の様々な実施形態は、例として提供したにすぎず、本発明を限定するものであると解釈すべきではない。当業者であれば、本明細書で図示し、説明した例示的実施形態に従わず、添付の特許請求の範囲に記載される、本発明の真の精神および範囲からも逸脱することなく本発明に加えられ得る様々な改変および変更を容易に理解されよう。
本発明の一実施形態が実施され得るデータベース環境である、従来技術を表すデータベース管理システムの、フィルタリングされていないデータを含む表を示す図である。 本発明の一実施形態が実施され得る適切なコンピューティングシステム環境の一例を示す図である。 本発明の一実施形態で実行される工程の動作フローを示す図である。 本発明の一実施形態を構成するモジュールを示すブロック図である。 背景にフィルタリングされていないレコードが表示されている、フィルタリングするという信号が受け取られ、フィルタメニューが表示されたスクリーンショットの一例を示す図である。 フィルタメニューから特定のフィルタが選択されている、別のスクリーンショットの例を示す図である。 特定のフィルタがデータに適用されており、結果として生じるフィルタリングされたレコードが表示されている、別のスクリーンショットの例を示す図である。
符号の説明
202 処理装置
204 システムメモリ
208 取り外し可能記憶装置
210 取り外し不能記憶装置
212 通信接続
214 入力装置
216 出力装置
402 メニューモジュール
404 受け取りモジュール
406 フィルタモジュール
408 表示モジュール
410 コンテキスト分析モジュール
420 メモリ
430 表示装置

Claims (21)

  1. コンピュータで実施されるフィルタ照会のグラフィカルな作成方法であって、
    表をフィルタリングするという信号を受け取ること、
    指定されたキーフィールドのコンテキストを分析すること、
    前記コンテキストに基づいてフィルタメニューを表示すること、および
    前記フィルタメニューからのフィルタ選択を受け取ること
    を備えることを特徴とする方法。
  2. 前記関連付けられたフィルタ照会を発行することをさらに備えることを特徴とする請求項1に記載のコンピュータで実施される方法。
  3. 前記フィルタ照会に関連付けられた結果を表示することをさらに備えることを特徴とする請求項1に記載のコンピュータで実施される方法。
  4. 別のフィルタが列にすでに存在する場合、フィルタを除去することをさらに備えることを特徴とする請求項1に記載のコンピュータで実施される方法。
  5. 指定されたキーフィールドのコンテキストを分析することは、列のデータ型を判定することをさらに備えることを特徴とする請求項1に記載のコンピュータで実施される方法。
  6. 指定されたキーフィールドのコンテキストを分析することは、列中の数値の平均値を計算することをさらに備えることを特徴とする請求項1に記載のコンピュータで実施される方法。
  7. 指定されたキーフィールドのコンテキストを分析することは、
    前記フィルタメニューから不適切なフィルタを除去すること
    をさらに備えることを特徴とする請求項1に記載のコンピュータで実施される方法。
  8. フィルタメニュー内容はユーザによって構成可能であることを特徴とする請求項1に記載のコンピュータで実施される方法。
  9. 特定のフィルタ値が前記ユーザによって二値的に選択され得ることを特徴とする請求項1に記載のコンピュータで実施される方法。
  10. 新しいフィルタおよび関連するフィルタ照会を作成することをさらに備えることを特徴とする請求項1に記載のコンピュータで実施される方法。
  11. 使いやすいデータフィルタリングのシステムであって、
    フィルタメニューを維持するメニューモジュールと、
    フィルタ信号および前記フィルタメニューからの選択を受け取る受け取りモジュールと、
    フィルタ照会を作成し、フィルタリングを実行するフィルタモジュールと、
    前記フィルタメニューおよびフィルタ結果を表示する表示モジュールと、
    特定の表セルまたは列のコンテキストを分析するコンテキスト分析モジュールと
    を備えることを特徴とするシステム。
  12. 前記表示モジュールは、さらに、データ表を表示することを特徴とする請求項11に記載のシステム。
  13. 任意の既存のフィルタを除去する定式除去モジュールをさらに備えることを特徴とする請求項11に記載のシステム。
  14. フィルタ照会の自動作成方法であって、
    データ表を表示すること、
    前記表をフィルタリングするという信号を受け取ること、
    指定された列のコンテキストを分析すること、
    前記コンテキストに基づいてフィルタメニューを表示すること、
    前記フィルタメニューからのフィルタ選択を受け取ること、および
    新しいフィルタを作成すること
    を備えることを特徴とする方法。
  15. 関連するフィルタ照会を作成すること、および
    前記フィルタ照会を実行すること
    をさらに備えることを特徴とする請求項14に記載の方法。
  16. 前記フィルタ照会に関連付けられた結果を表示することをさらに備えることを特徴とする請求項14に記載の方法。
  17. 別のフィルタが列についてすでに存在する場合、フィルタを除去することをさらに備えることを特徴とする請求項14に記載の方法。
  18. 新しいフィルタを作成することは、前記新しいフィルタで使用するために特定のデータセルからデータを取り出すことをさらに備えることを特徴とする請求項14に記載の方法。
  19. 新しいフィルタを作成することは、現在の日時に関するデータを取り出すことをさらに備えることを特徴とする請求項14に記載の方法。
  20. 指定されたキーフィールドのコンテキストを分析することは、前記フィルタメニューから不適切なフィルタを除去することをさらに備えることを特徴とする請求項14に記載のコンピュータで実施される方法。
  21. フィルタメニュー内容はユーザによって構成可能であることを特徴とする請求項14に記載のコンピュータで実施される方法。
JP2005175171A 2004-09-30 2005-06-15 使いやすいデータコンテキストフィルタリング Pending JP2006107431A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/956,866 US20060074879A1 (en) 2004-09-30 2004-09-30 Easy-to-use data context filtering

Publications (1)

Publication Number Publication Date
JP2006107431A true JP2006107431A (ja) 2006-04-20

Family

ID=35457392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005175171A Pending JP2006107431A (ja) 2004-09-30 2005-06-15 使いやすいデータコンテキストフィルタリング

Country Status (5)

Country Link
US (2) US20060074879A1 (ja)
EP (1) EP1643386A3 (ja)
JP (1) JP2006107431A (ja)
KR (1) KR20060048768A (ja)
CN (1) CN100492359C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015507779A (ja) * 2011-12-05 2015-03-12 マイクロソフト コーポレーション スプレッドシート・アプリケーション・プログラム用高速分析ツール

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2005257050A1 (en) * 2004-06-23 2006-01-05 Bioprotect Ltd. Device system and method for tissue displacement or separation
US20070061298A1 (en) * 2005-09-14 2007-03-15 Wilson Jeff K Method and apparatus for adding a search filter for web pages based on page type
US20090319957A1 (en) * 2006-01-30 2009-12-24 Mainstream Computing Pty Ltd Selection system
US9122719B2 (en) * 2006-04-28 2015-09-01 Bmc Software, Inc. Database application federation
US7937426B2 (en) * 2006-06-30 2011-05-03 Mircosoft Corporation Interval generation for numeric data
US7970796B1 (en) * 2006-12-01 2011-06-28 Intuit Inc. Method and system for importing data to a repository
US8753390B2 (en) 2007-03-15 2014-06-17 OrthoSpace Ltd. Methods for implanting a prosthesis in a human shoulder
JP2010521216A (ja) * 2007-03-15 2010-06-24 バイオプロテクト リミテッド 軟組織固定装置
US8818987B2 (en) * 2008-01-11 2014-08-26 International Business Machines Corporation Converting union commands to union all commands
US20090228826A1 (en) * 2008-03-04 2009-09-10 Microsoft Corporation Group filtering of items in a view
US9081837B2 (en) * 2010-10-28 2015-07-14 Microsoft Technology Licensing, Llc Scoped database connections
CA2824282C (en) * 2011-01-14 2019-05-21 Ab Initio Technology Llc Managing changes to collections of data
US8635530B2 (en) 2011-02-09 2014-01-21 International Business Machines Corporation Statistical filtering of data using graphical user interfaces in information technology systems
US10366350B2 (en) 2011-04-28 2019-07-30 Oracle International Corporation Enterprise compensation application supporting a large number of employees
US9411797B2 (en) 2011-10-31 2016-08-09 Microsoft Technology Licensing, Llc Slicer elements for filtering tabular data
US9224217B2 (en) 2012-01-06 2015-12-29 Apple Inc. Analytical charting
US10311062B2 (en) * 2012-08-21 2019-06-04 Microsoft Technology Licensing, Llc Filtering structured data using inexact, culture-dependent terms
US9430548B1 (en) * 2012-09-25 2016-08-30 Emc Corporation Generating context tree data based on a tailored data model
US9286284B2 (en) * 2012-10-15 2016-03-15 International Business Machines Corporation Data filtering based on a cell entry
US10552018B2 (en) 2013-03-15 2020-02-04 Vigor Systems Inc. Methods and systems to display data records extracted from a database via a graphical user interface
US9317182B2 (en) * 2013-04-11 2016-04-19 Apple Inc. Pop-up menu interface
US10156961B1 (en) * 2013-09-24 2018-12-18 EMC IP Holding Company LLC Dynamically building a visualization filter
US9984114B2 (en) * 2014-06-02 2018-05-29 Microsoft Technology Licensing, Llc Filtering data in an enterprise system
US9235328B1 (en) * 2014-09-23 2016-01-12 Allscripts Software, Llc Big data selector system and method
US10866994B2 (en) 2015-06-23 2020-12-15 Splunk Inc. Systems and methods for instant crawling, curation of data sources, and enabling ad-hoc search
US11042591B2 (en) 2015-06-23 2021-06-22 Splunk Inc. Analytical search engine
CN107169076B (zh) * 2017-05-10 2020-06-05 北京京东尚科信息技术有限公司 用于二维数据清洗的方法、系统及计算机可读存储介质
KR101977101B1 (ko) * 2018-02-02 2019-06-19 주식회사 한글과컴퓨터 검색 조건의 설정이 가능한 필터링 기능을 제공하는 스프레드시트 구동 장치 및 그 동작 방법
US11238108B1 (en) * 2020-07-28 2022-02-01 Grey Wall Software Llc Custom data filtering systems and methods
US11449914B2 (en) * 2020-08-31 2022-09-20 Coupang Corp. Systems and methods for visual navigation during online shopping using intelligent filter sequencing
CN112434058B (zh) * 2020-11-24 2024-03-15 武汉虹信技术服务有限责任公司 基于Java与MySQL的数据交互方法及计算机可读介质
US20230351104A1 (en) * 2022-05-02 2023-11-02 Adaptam Inc. Methods and systems for spreadsheet function and flex copy paste control of formatting and use of selection list panels

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787411A (en) * 1996-03-20 1998-07-28 Microsoft Corporation Method and apparatus for database filter generation by display selection
JPH11161685A (ja) * 1997-09-21 1999-06-18 Microsoft Corp データプロバイダーからのデータの標準化フィルタリング方法
US20020055981A1 (en) * 2000-08-31 2002-05-09 Frederic Spaey System and method for remotely browsing structured data
JP2002366559A (ja) * 2001-06-05 2002-12-20 Ricoh Co Ltd 文書分類装置および文書分類方法
CA2398103A1 (en) * 2002-08-14 2004-02-14 March Networks Corporation Multi-dimensional table filtering system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701453A (en) * 1993-07-01 1997-12-23 Informix Software, Inc. Logical schema to allow access to a relational database without using knowledge of the database structure
US5963938A (en) * 1996-05-17 1999-10-05 Novell Inc. Automatic, context-organizing, query interface
US6122627A (en) * 1997-05-09 2000-09-19 International Business Machines Corporation System, method, and program for object building in queries over object views
US7159011B1 (en) * 1999-05-11 2007-01-02 Maquis Techtrix, Llc System and method for managing an online message board
US6473751B1 (en) * 1999-12-10 2002-10-29 Koninklijke Philips Electronics N.V. Method and apparatus for defining search queries and user profiles and viewing search results
US6505194B1 (en) * 2000-03-29 2003-01-07 Koninklijke Philips Electronics N.V. Search user interface with enhanced accessibility and ease-of-use features based on visual metaphors
US6499029B1 (en) * 2000-03-29 2002-12-24 Koninklijke Philips Electronics N.V. User interface providing automatic organization and filtering of search criteria
US6484164B1 (en) * 2000-03-29 2002-11-19 Koninklijke Philips Electronics N.V. Data search user interface with ergonomic mechanism for user profile definition and manipulation
US6662177B1 (en) * 2000-03-29 2003-12-09 Koninklijke Philips Electronics N.V. Search user interface providing mechanism for manipulation of explicit and implicit criteria
US6785668B1 (en) * 2000-11-28 2004-08-31 Sas Institute Inc. System and method for data flow analysis of complex data filters
US20030065650A1 (en) * 2001-10-03 2003-04-03 Annand Ritchie I. Method and query application tool for searching hierarchical databases
US7441186B2 (en) * 2004-01-23 2008-10-21 Microsoft Corporation System and method for automatically grouping items

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787411A (en) * 1996-03-20 1998-07-28 Microsoft Corporation Method and apparatus for database filter generation by display selection
JPH11161685A (ja) * 1997-09-21 1999-06-18 Microsoft Corp データプロバイダーからのデータの標準化フィルタリング方法
US20020055981A1 (en) * 2000-08-31 2002-05-09 Frederic Spaey System and method for remotely browsing structured data
JP2002366559A (ja) * 2001-06-05 2002-12-20 Ricoh Co Ltd 文書分類装置および文書分類方法
CA2398103A1 (en) * 2002-08-14 2004-02-14 March Networks Corporation Multi-dimensional table filtering system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015507779A (ja) * 2011-12-05 2015-03-12 マイクロソフト コーポレーション スプレッドシート・アプリケーション・プログラム用高速分析ツール

Also Published As

Publication number Publication date
US20060074879A1 (en) 2006-04-06
EP1643386A3 (en) 2007-01-03
US20060101013A1 (en) 2006-05-11
CN100492359C (zh) 2009-05-27
CN1783072A (zh) 2006-06-07
US7519585B2 (en) 2009-04-14
EP1643386A2 (en) 2006-04-05
KR20060048768A (ko) 2006-05-18

Similar Documents

Publication Publication Date Title
JP2006107431A (ja) 使いやすいデータコンテキストフィルタリング
US10579723B2 (en) User interface for creating a spreadsheet data summary table
AU2020260374B2 (en) Building reports
RU2433449C2 (ru) Фильтрующий интерфейс пользователя для сводной таблицы данных
Ravat et al. Algebraic and graphic languages for OLAP manipulations
EP1922649B1 (en) Automated placement of fields in a data summary table
JP2006172446A (ja) 複合データアクセス
US20080163091A1 (en) Filtering Data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110511

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110714

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111227