(57)【特許請求の範囲】
【請求項１】
方法であって、
スライサーを自動的に生成するステップであって、前記スライサーが、対応するスライサーと表データーとに関連した１つ以上のスライサー・エレメントを含み、前記表データーがピボットテーブルを含まない、ステップと、
前記表データーと関連した、表示するスライサーを決定するステップと、
前記表データー内における一意の値に関連するスライサー・エレメントを前記スライサーに対して表示するステップであって、複数の前記スライサーを表示するときには、各前記スライサーおよび関連するスライサー・エレメントを、他の各前記スライサーおよび関連するスライサー・エレメントとは別々に表示する、ステップと、
スライサー・エレメントの選択に関連したタッチ入力を受けるステップであって、タッチ入力を受ける前記ステップが、前記スライサー・エレメントが選択されたことを生じる前記スライサー・エレメントのエッジを所定の距離動かすこと、または前記スライサー・エレメントが選択されないことを生じる前記スライサー・エレメントのエッジを所定の距離動かさないことを含む、ステップと、
前記選択に基づいて、表示を更新するステップと、
前記スライサー・エレメントの選択に応答して、前記スライサー・エレメントの表示を更新するステップと、
を含む、方法。
【請求項２】
請求項１記載の方法であって、更に、スライサー・エレメントの選択に基づいて表示された表データーの１つ以上の行を隠すことによって前記表示を更新することを含む、方法。
【請求項３】
請求項１記載の方法であって、更に、前記表データーに対する変更および他のフィルタリング制御に対する変更の内少なくとも１つに応答して、前記スライサー・エレメントの表示を自動的に更新するステップを含む、方法。
【請求項４】
請求項１記載の方法であって、更に、前記スライサー・エレメントの選択に応答して前記表データーをフィルタリングするステップを含み、前記フィルタリングが、スプレッドシート内において隠された表データー、前記スプレッドシートにおいて隠されていないデーター、および前記フィルタに関連するクエリーをフィルタリングするように構成可能である、方法。
【請求項５】
請求項１記載の方法において、前記スライサー・エレメントの選択に応答して、前記スライサー・エレメントの表示を更新するステップが、他の表示されたスライサー・エレメントの表示を隠すステップ、および他の表示されたスライサー・エレメントの表示特性を変更するステップの内少なくとも１つを含む、方法。
【請求項６】
コンピューター実行可能命令を有するコンピューター読み取り可能デバイスであって、前記コンピューター実行可能命令が、
スライサーを自動的に生成し、前記スライサーが、対応するスライサーと表データーとに関連した１つ以上のスライサー・エレメントを含み、前記表データーがピボットテーブルを含まず、
表データーの異なる列に各々関連した、表示するスライサーを決定し、
前記表データーの前記異なる列の各々において一意の値と関連したスライサー・エレメントを、前記スライサーの各々に対して表示し、各前記スライサーおよび関連するスライサー・エレメントが、他の各前記スライサーおよび関連するスライサー・エレメントとは別々に表示され、
スライサー・エレメントの選択に関連したタッチ入力を受け、タッチ入力を受けることが、前記スライサー・エレメントが選択されたことを生じる前記スライサー・エレメントのエッジを所定の距離動かすこと、または前記スライサー・エレメントが選択されないことを生じる前記スライサー・エレメントのエッジを所定の距離動かさないことを含み、
前記スライサー・エレメントの選択に基づいて、前記表データーをフィルタリングし、
前記選択に基づいて表示を更新し、
データーと関連していないスライサー・エレメントが、前記選択に関係するデーターと関連したスライサー・エレメントとは異なる表示をなされるように、前記スライサー・エレメントの選択に応答して、前記スライサー・エレメントの表示を更新する、
ように構成された、コンピューター読み取り可能媒体。
【請求項７】
システムであって、
ディスプレイと、
タッチ入力を受けるように構成されたタッチ面と、
プロセッサーおよびコンピューター読み取り可能媒体と、
前記コンピューター読み取り可能媒体に格納され前記プロセッサーにおいて実行する動作環境と、
動作を実行するように構成されたプロセスと、
を含み、前記動作が、
スライサーを自動的に生成し、前記スライサーが、対応するスライサーと表データーとに関連した１つ以上のスライサー・エレメントを含み、前記表データーがピボットテーブルを含まず、
表データーの異なる列に各々関連した、表示するスライサーを決定し、
前記表データーの前記異なる列の各々において一意の値と関連したスライサー・エレメントを、前記スライサーの各々に対して表示し、各前記スライサーおよび関連するスライサー・エレメントが、他の各前記スライサーおよび関連するスライサー・エレメントとは別々に表示され、
スライサー・エレメントの選択に関連したタッチ入力を受け、タッチ入力を受けることが、前記スライサー・エレメントが選択されたことを生じる前記スライサー・エレメントのエッジを所定の距離動かすこと、または前記スライサー・エレメントが選択されないことを生じる前記スライサー・エレメントのエッジを所定の距離動かさないことを含み、
前記スライサー・エレメントの選択に基づいて、前記表データーをフィルタリングし、
前記選択に基づいて表示を更新し、
選択可能なスライサー・エレメントが、選択可能でないスライサー・エレメントとは異なる表示がなされるように、前記スライサー・エレメントの選択に応答して、前記スライサー・エレメントの表示を自動的に更新し、
前記スライサー・エレメントの表示の更新が所定の時間量を超えたとき、前記スライサー・エレメントの表示の自動更新を自動的にオフにする、
動作を含む、システム。
【請求項８】
請求項７記載のシステムであって、更に、前記表データーに対する変更および他のフィルタリング制御に対する変更の内少なくとも１つに応答して、前記スライサー・エレメントの表示を自動的に更新する動作を含み、前記表データーをフィルタリングする動作が、スプレッドシート内において隠された表データー、前記スプレッドシートにおいて隠されていないデーター、および前記フィルタに関連するクエリーの内少なくとも１つをフィルタリングする動作を含む、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  表データーは、一般に、スプレッドシート・アプリケーションのようなアプリケーションにおいて表示される。ユーザーは、現在見ているデーターを変更するために表データーをフィルタリングすることができる。例えば、ユーザーは表データーの１つ以上の行／列を削除すること、および／または一定の条件を満たすデーターを示すことができる。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
しかしながら、フィルタリング・ユーザー・インターフェースは、直感的でなく、ユーザーにとって使用が難しい場合もあり得る。
【課題を解決するための手段】
【０００３】
[0002]  この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断するときに補助として使用されることを意図するのでもない。
【０００４】
[0003]  スライサーは、列に配列された表データーをフィルタリングするように構成される。ユーザーは、スライサーを使用して、アプリケーション／サービスに基づくクライアント・アプリケーションおよび／またはサーバーに関連する表データーをフィルタリングする。スライサーは、１つ以上の列に対して、そして１つの列内にある表データーの全て／一部に対して作ることができる。例えば、ユーザーは、スライサーを使用したい表データーの１つ以上の列（その列の全部／一部）を選択することができる。この選択に応答して、スライサー・エレメントが、選択された列の各々に対して、選択された部分の各々の中における一意の値に対して作られる。また、スライサーは、自動的に生成することもできる（例えば、表データーの列毎にスライサーを生成する）。スライサー・エレメントを選択すると、関連する表データーが削除され、他のスライサーの表示が更新される。例えば、あるスライサー・エレメントを選択すると、他のスライサーおよび／またはスライサー・エレメントを表示から除去すること、または異なる示し方をさせる（例えば、グレー・アウト(gray out)させる）ことができる。何故なら、そのスライサーの選択後には、そのスライサーはフィルタリングするデーターを全く有さないからである。また、スライサーとの相互作用によって、表データーをフィルタリングする他のユーザー・インターフェース制御手段を更新することもできる（例えば、あるスライサー・エレメントを選択すると、ドロップ・ダウン・メニューにおけるフィルタリング設定の値が変化する、および／またはこのドロップ・ダウン・メニューにおいてそのフィルタリング設定を選択すると、スライサー・エレメントの状態が変化する）。スライサー・エレメントにスプレッドシートにおける他のオブジェクトと関連付けること、および／またはスプレッドシートの１つ以上の機能内に含ませることもできる。スライサーは、スプレッドシートにおいて行を隠すことによって、および／またはデーター・ソースからスプレッドシートに戻すデーターを少なくさせるクエリーを変更することによって、フィルタリングするように構成することができる。スライサーの自動更新は、完了するのに長時間（例えば、３００ｍｓよりも長い）かかる可能性があるスライサーの更新に応答して、自動的にオフに切り替えられるようにすることもできる。
【図面の簡単な説明】
【０００５】
【図１】図１は、計算デバイスの一例を示す。
【図２】図２は、表データーをフィルタリングするためにスライサー・エレメントを使用するシステムの一例を示す。
【図３】図３は、フィルタリングのためにスライサーが構成された表データーの表示例を示す。
【図４】図４は、表データーをフィルタリングするためにスライサーを使用する表示例を示す。
【図５】図５は、表データーをフィルタリングするためにスライサーを使用する表示例を示す。
【図６】図６は、表データーをフィルタリングするためにスライサーを使用する表示例を示す。
【図７】図７は、表データーをフィルタリングするためにスライサーを使用する表示例を示す。
【図８】図８は、表データーをフィルタリングするためにスライサーを使用する表示例を示す。
【図９】図９は、スライサー・エレメントを選択するためのタッチ・ジェスチャーを示す。
【図１０】図１０は、スライサー・ユーザー・インターフェースの一例を示す。
【図１１】図１１は、ウェブ・ベース環境におけるスライサーの表示例を示す。
【図１２】図１２は、表データーをフィルタリングするためにスライサーを使用するプロセス例を示す。
【発明を実施するための形態】
【０００６】
[0012]  これより図面を参照して、種々の実施形態について説明する。図面において、同様の番号は同様のエレメントを表す。特に、図１および対応する説明は、実施形態を実現することができる、適した計算環境の端的で全体的な説明を行うことを意図している。
【０００７】
[0013]  一般に、プログラム・モジュールは、ルーチン、プログラム、コンポーネント、データー構造、および他のタイプの構造を含み、特定のタスクを実行するか、または特定の抽象データー型を実装する。他のコンピューター・システム構成も使用することができ、ハンドヘルド・デバイス、マルチプロセッサー・システム、マイクロプロセッサー・ベースまたはプログラマブル消費者用電子機器、ミニコンピューター、メインフレーム・コンピューター等が含まれる。また、分散型計算環境も使用することができ、この場合、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される。分散型計算環境では、プログラム・モジュールは、ローカルおよびリモート双方のメモリー記憶デバイスに配置することができる。
【０００８】
[0014]  これより図１を参照して、種々の実施形態において利用されるコンピューター１００について、コンピューター・アーキテクチャの一例を説明する。図１に示すコンピューター・アーキテクチャは、移動体計算デバイス（例えば、スマートフォン、ノートブック、タブレット．．．）またはデスクトップ・コンピューターとして構成することができ、中央処理ユニット５（「ＣＰＵ」）、ランダム・アクセス・メモリー９（「ＲＡＭ」）およびリード・オンリー・メモリー（「ＲＯＭ」）１０を含むシステム・メモリー７、ならびにこのメモリーを中央処理ユニット（「ＣＰＵ」）５に結合するシステム・バス１２を含む。
【０００９】
[0015]  基本入力／出力システムは、起動中のように、コンピューター内部のエレメント間で情報を移すのに役立つ基本的なルーチンを含み、ＲＯＭ１０に格納される。更に、コンピューター１００は、オペレーティング・システム１６、スプレッドシート・アプリケーションおよび／または表データーを使用して動作する他のアプリケーションというようなアプリケーション・プログラム（１つまたは複数）２４、ウェブ・ブラウザー２５、ファイル２７（例えば、スプレッドシート）、およびスライサー・マネージャー２６を格納するために大容量記憶デバイス１４も含む。スライサー・マネージャー２６については、以下で更に詳しく説明する。ウェブ・ブラウザー２５は、ウェブ・ページ、ビデオ、文書等のような電子コンテンツを要求し、受信し、レンダリングし、そして電子コンテンツとの対話処理(interactivity)を提供するように動作可能である。一実施形態によれば、ウェブ・ブラウザーは、MICROSOFT CORPORATION（マイクロソフト社）からのINTERNET EXPLORERウェブ・ブラウザー・アプリケーション・プログラムを含む。
【００１０】
[0016]  大容量記憶デバイス１４は、バス１２に接続された大容量記憶コントローラー（図示せず）を介して、ＣＰＵ５に接続される。大容量記憶デバイス１４およびそれに関連するコンピューター読み取り可能媒体は、コンピューター１００のための不揮発性格納に考慮している。本明細書において含まれるコンピューター読み取り可能媒体の説明は、ハード・ディスクまたはＣＤ−ＲＯＭドライブのような大容量記憶デバイスに言及するが、コンピューター読み取り可能媒体は、コンピューター１００によってアクセスすることができる任意の入手可能な媒体とすることができる。
【００１１】
[0017]  一例として、そして限定ではなく、コンピューター読み取り可能媒体は、コンピューター記憶媒体および通信媒体を含むことができる。コンピューター記憶媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターというような情報の格納のための任意の方法または技術で実現される。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、消去可能プログラマブル・リード・オンリー・メモリー（「ＥＰＲＯＭ」）、電気的消去可能プログラマブル・リード・オンリー・メモリー（「ＥＥＰＲＯＭ」）、フラッシュ・メモリーまたは他のソリッド・ステート・メモリー技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（「ＤＶＤ」）、または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気記憶デバイス、あるいは所望の情報を格納するために使用することができてコンピューター１００によってアクセスすることができる任意の他の媒体を含むが、これらに限定されるのではない。
【００１２】
[0018]  種々の実施形態によれば、コンピューター１００は、インターネットのような、ネットワークを介して、リモート・コンピューターへの論理接続を使用するネットワーク接続環境において動作することもできる。コンピューター１００は、バス１２に結合されたネットワーク・インターフェース・ユニット２０を介して、ネットワーク１８に接続することができる。ネットワーク接続は、ワイヤレスおよび／または有線でもよい。また、ネットワーク・インターフェース・ユニット２０は、他のタイプのネットワークおよびリモート・コンピューター・システムに接続するためにも利用することができる。また、コンピューター１００は、タッチ入力デバイス２８を含む複数の他のデバイスからの入力を受けて処理するために入力／出力コントローラー２２も含むことができる。タッチ入力デバイスは、１つ／複数のタッチ入力（タッチあり／タッチなし）を認識することを可能にする任意の技術を利用することができる。例えば、これらの技術は、熱、指圧、高キャプチャー・レート・カメラ、赤外線光、光学キャプチャー、同調電磁誘導、超音波受信機、変換マイクロフォン(transducer microphone)、レーザー距離計、シャドー・キャプチャー(shadow capture)等を含むことができるが、これらに限定されるのではない。一実施形態によれば、タッチ入力デバイスは、ほぼタッチ(near-touch)（即ち、タッチ入力デバイスのある距離以内にあるが、タッチ入力デバイスに物理的にタッチしない）を検出するように構成することもできる。また、タッチ入力デバイス２８は、ディスプレイとして機能することもできる。また、入力／出力コントローラー２２は、出力を１つ以上の表示画面、プリンター、または他のタイプの出力デバイスに供給することもできる。
【００１３】
[0019]  カメラおよび／または何らかの他の検知デバイスが、１人以上のユーザーを記録し、計算デバイスのユーザーによって行われる動きおよび／またはジェスチャーを取り込むように動作することもできる。検知デバイスは、更に、マイクロフォンによってというようにして発話されたことばを取り込む、および／またはキーボードおよび／またはマウス（図示せず）によってというようにしてユーザーからの他の入力を取り込むように動作することもできる。検知デバイスは、ユーザーの動きを検出できる任意の動き検出デバイスを含むことができる。例えば、カメラは、複数のカメラと複数のマイクロフォンとを含むMICROSOFT KINECT（登録商標）モーション・キャプチャー・デバイスを含むことができる。
【００１４】
[0020]  本発明の実施形態は、チップ上システム（ＳＯＣ）を介して実施することもでき、この場合、図に示すコンポーネント／プロセスの各々または多くを１つの集積回路に集積することができる。このようなＳＯＣデバイスは、１つ以上の処理ユニット、グラフィクス・ユニット、通信ユニット、システム仮想化ユニット、および種々のアプリケーション機能を含むことができ、これらの全てが、単一集積回路としてチップ基板上に集積される（または「焼かれる」(burned)）。ＳＯＣによって動作するとき、本明細書において説明する機能の全部／一部は、単一集積回路（チップ）に計算デバイス／システム１００の他のコンポーネントと共に集積することができる。
【００１５】
[0021]  先に端的に述べたように、多数のプログラム・モジュールおよびデーター・ファイルを、コンピューター１００の大容量記憶デバイス１４およびＲＡＭ９に格納することができ、その中には、ワシントン州RedmondのMICROSOFT CORPORATION（マイクロソフト社）からのWINDOWS7（登録商標）オペレーティング・システムのような、ネットワーク接続されたパーソナル・コンピューターの動作を制御するのに適したオペレーティング・システム１６を含む。一実施形態によれば、オペレーティング・システムは、タッチ入力デバイス２３に対するサポートを含むように構成される。他の実施形態によれば、タッチ入力デバイス２３から受けたタッチ入力の一部／全部を処理するために、スライサー・マネージャー２６を利用することができる。
【００１６】
[0022]  また、大容量記憶デバイス１４およびＲＡＭ９は、１つ以上のプログラム・モジュールも格納することができる。具体的には、大容量記憶デバイス１４およびＲＡＭ９は、スプレッドシート・アプリケーションのような、１つ以上のアプリケーション・プログラム２４を格納することができる。アプリケーションの動作と関連して、スライサー・マネージャー２６は、表データーをフィルタリングするためのスライサーを構成し使用するために使用される。スライサー・マネージャー２６は、アプリケーション／プロセスとして、および／または異なるテナント（例えば、MICROSOFT OFFICE 365,MICROSOFT SHAREPOINT ONLINE）にリソース（例えば、サービス、データー．．．）を提供するクラウド・ベース・マルチテナント・サービスの一部として構成することができる。一般に、スライサー・マネージャー２６は、表データーをフィルタリングするためのスライサーの構成および使用のために使用される入力を処理するように構成される。スライサーは、列に配列された表データーをフィルタリングするように構成される。スライサーは、ピボット・テーブル(pivot table)と関連付けられたデーターに限定されるのではない。代わりに、表データーは任意の表データーであってよい。例えば、スライサーと関連付けられる表データーは、スプレッドシート、データー・フィード、ファイル等の内部における列からのデーターと関連付けることもできる。ユーザーは、スライサーを使用して、クライアント・アプリケーションおよび／またはサーバー・ベース・アプリケーション／サービスからの表データーをフィルタリングすることができる。スライサーは、１つ以上の列について、および列内の表データーの全部または一部について作ることができる。例えば、ユーザーは、スライサーを使用したい表データー（スプレッドシートからおよび／または何らかの他のファイル／データー・ソース）の１つ以上の列（その列の全部／一部）を選択することができる。選択に応答して、スライサー・エレメントが、選択された列の各々の選択された部分の各々の中における一意の値毎に作られる。また、スライサーは自動的に生成することもできる（例えば、表データーの列毎にスライサーを生成する）。スライサー・エレメントを選択することによって、関連する表データーがフィルタリングされ、他のスライサーの表示が更新される。例えば、あるスライサー・エレメントを選択すると、他のスライサーおよび／またはスライサー・エレメントを表示から除去させること、または異なる示し方をさせる（例えば、グレー・アウトさせる）ことができる。何故なら、そのスライサーの選択後には、そのスライサーはフィルタリングするデーターを全く有さないからである。また、スライサーとの相互作用によって、表データーをフィルタリングする他のユーザー・インターフェース制御手段を更新することもできる（例えば、あるスライサー・エレメントを選択すると、ドロップ・ダウン・メニューにおけるフィルタリング設定の値が変化する、および／またはこのドロップ・ダウン・メニューにおいてそのフィルタリング設定を選択すると、スライサー・エレメントの状態が変化する）。スライサー・エレメントは、スプレッドシートにおける他のオブジェクトと関連付けられる、および／またはスプレッドシートの１つ以上の機能に含まれるのでもよい。スライサーは、スプレッドシートの隠された行をフィルタリングする／フィルタリングしないように構成することもできる。スライサーは、スプレッドシートにおいて行を隠すことによって、および／またはデーター・ソースからスプレッドシートに戻すデーターを少なくさせるクエリーを変更することによって、フィルタリングするように構成することもできる。スライサー・マネージャー２６の動作に関するこれ以上の詳細については、以下で示す。
【００１７】
[0023]  図２は、表データーをフィルタリングするためにスライサー・エレメントを使用するシステムの一例を示す。図示のように、システム２００は、アプリケーション・プログラム２４、サービス２１０、スライサー・マネージャー２６、および入力デバイス／ディスプレイ２０２を含む。一実施形態によれば、ディスプレイ２０２はタッチ・スクリーン・デバイスである。
【００１８】
[0024]  一実施形態によれば、アプリケーション・プログラム２４は、タッチ感応入力デバイス２０２から入力を受けるように構成されたスプレッドシート・アプリケーションである。例えば、スライサー・マネージャー２６は、ユーザーの指によるスライサー・エレメント（例えば、スライサー２５４および／またはスライサー２５６におけるスライサー・エレメント）の選択、スプレッドシート（例えば、スプレッドシート２５０）の１つ以上のセルの選択、表（例えば、表２５２）における列／行の選択等に応答して、情報をアプリケーション２４および／またはサービス２１０に提供することができる。
【００１９】
[0025]  図示のように、サービス２１０はクラウド・ベース・サービスおよび／または企業ベース・サービスであり、１つ以上の生産性アプリケーション（例えば、MICROSOFT EXCEL、MICROSOFT SHAREPOINT、MICROSOFT WORD）に関するサービスを提供するように構成される。また、サービス２１０は、クライアント・ベース・アプリケーションとして構成することもできる。システム２００は生産性サービスおよび／またはコンテンツ管理サービスを示すが、他のサービス／アプリケーションが表データーと共にスライサーを使用するように構成されてもよい。
【００２０】
[0026]  図示のように、サービス２１０は、リソース２１５およびサービスを任意の数のテナント（例えば、テナント１〜Ｎ)に提供するマルチテナント・サービスである。一実施形態によれば、マルチテナント・サービス２１０は、クラウド・ベース・サービスであり、サービスに登録されているテナントにリソース／サービス２１５を提供し、各テナントのデーターを別々に維持し、他のテナント・データーから保護する。例えば、サービス２１０は、生産性アプリケーション（例えば、コンテンツ管理、文書作成、スプレッドシート、プレゼンテーション、メッセージング．．．）等に対応するサービスを提供するように構成することができる。
【００２１】
[0027]  タッチ入力システム２００は、図示のように、タッチ入力を受けたとき（例えば、タッチ・スクリーンにタッチする、またはタッチしそうになっている指）を検出するタッチ・スクリーン入力デバイス２０２を含む。ユーザーのタッチ入力を検出する任意のタイプのタッチ・スクリーンを利用することができる。例えば、タッチ・スクリーンは、タッチ入力を検出する１つ以上の容量性材料層を含むことができる。他のセンサーも、容量性材料に加えてまたはその代わりに使用することができる。例えば、赤外線（ＩＲ）センサーを使用することもできる。一実施形態によれば、タッチ・スクリーンは、タッチ可能表面と接触する物体またはその上方にある物体を検出するように構成される。「上方」(above)という用語を本説明では使用するが、タッチ・パネル・システムの向きは関係ないことは言うまでもない。「上方」という用語は、このような向きの全てに適用可能であることを意図している。タッチ・スクリーンは、タッチ入力を受けた位置を判定するように構成することができる（例えば、開始点、中間点、および終了点）。タッチ可能な表面と物体との間における実際の接触は、任意の適した手段によって検出することができる。例えば、この手段には、タッチ・パネルに結合された振動センサーまたはマイクロフォンが含まれる。接触を検出するセンサーについて非網羅的な例のリストには、圧力ベース・メカニズム、微細加工加速度計、圧電デバイス、容量性センサー、抵抗性センサー、誘導性センサー、レーザー振動計、およびＬＥＤ振動計が含まれる。
【００２２】
[0028]  スライサー・マネージャー２６は、タッチ・スクリーン２０２から受けたタッチ入力を処理するように構成される。例えば、ユーザーが表２５２内の１つ以上の列（例えば、データーを含むスプレッドシート２５２内における他の列）を選択してスライサーを作ることができる。この例では、ユーザーは彼らの手２５９を使用して、スライサーを作るために、販売員列および顧客列の選択を既に特定している。
【００２３】
[0029]  この選択に応答して、スライサー２５４が販売員列に対して作られ、スライサー２５６が顧客列に対して作られる。各スライサーは、データーの列にマッピングし、そのスライサーに対して関連する列内にある一意の値毎に、スライサー・エレメントを含む。例えば、販売員列は、２つの一意の値（アランおよびジョン）を含み、顧客列は、５つの一意の値（Snack Inc、Planes Galore、Happy Folks、Ice Cream、および他の人々）を含む。
【００２４】
[0030]  スライサーの各々の内部におけるスライサー・エレメントは、表データーをフィルタリングするように構成される。この例では、表２５２内部における列の各々は、表内部の値をフィルタリングするために他のユーザー・インターフェース（ＵＩ）エレメントを含む（例えば、列の各々に隣接するドロップダウン(dropdown)）。スライサー・エレメントは、列の現在のフィルタ状態を反映する。
【００２５】
[0031]  表２６０は、スライサー・エレメントを使用して表データーのフィルタリングを表示するために作られる。他の実施形態によれば、スライサー・エレメントを選択すると、表データー（この場合、表２５２）の表示を直接変更することができる。この例では、ユーザーは「ジョン」スライサー・エレメントを選択している。「ジョン」スライサー・エレメントの選択に応答して、このエレメントが強調されて選択を示し、スライサー２５６における「他の人々」スライサー・エレメントがグレー・アウトして、「他の人々」スライサー・エレメントは「ジョン」のためにフィルタリングするデーターを全く有さないことを示す。表２６０は、「ジョン」スライサー・エレメントの選択に関するデーターを示し、アランに関するデーターは示さない。
【００２６】
[0032]  スライサーは、１つ以上の列に対して、そして１つの列内における表データーの全部／一部に対して作ることもできる。例えば、ユーザーが、スライサーを使用した表データーの１つ以上の列（その列の全部／一部）を選択することができる。この選択に応答して、選択された列の各々に対して、選択された部分の各々の内部における一意の値毎に、スライサー・エレメントが作られる。また、スライサーを自動的に生成することもできる（例えば、表データーの列毎にスライサーを生成する）。スライサー・エレメントを選択すると、関連する表データーがフィルタリングされ、他のスライサーの表示が更新される。例えば、あるスライサー・エレメントを選択すると、他のスライサーおよび／またはスライサー・エレメントを表示から除去させること、または異なる示し方をさせる（例えば、グレー・アウトさせる）ことができる。何故なら、そのスライサーの選択後には、そのスライサーはフィルタリングするデーターを全く有さないからである。また、スライサーとの相互作用によって、表データーをフィルタリングする他のユーザー・インターフェース制御手段を更新することもできる（例えば、あるスライサー・エレメントを選択すると、ドロップ・ダウン・メニューにおけるフィルタリング設定の値が変化する、および／またはこのドロップ・ダウン・メニューにおいてそのフィルタリング設定を選択すると、スライサー・エレメントの状態が変化する）。スライサー・エレメントは、スプレッドシートにおける他のオブジェクトと関連付けられる、および／またはスプレッドシートの１つ以上の機能内に含まれるのでもよい。スライサーは、スプレッドシートの隠された行をフィルタリングする／フィルタリングしないように構成することができる。スライサーは、スプレッドシートにおいて行を隠すことによって、および／またはデーター・ソースからスプレッドシートに戻すデーターを少なくさせるクエリーを変更することによって、フィルタリングするように構成することができる。  
【００２７】
[0033]  スライサーは、種々の異なる位置に表示することができる。一実施形態によれば、スライサーは、ユーザーによって配置／除去すること、および／またはレイアウトを使用して構成することができる。例えば、ユーザーがスライサー（２５４、２５６）のいずれかまたは双方を他の画面位置までドラッグすることもできる。また、スライサーは予め定めることもできる（例えば、左側、右側、上、下）。また、スライサーは、自動／手動で、隠したり表示すること、および／または位置を変えることができる。スプレッドシートにおけるロジックは、関連するスライサーを有するセル／表が選択されたときにそのスライサーを表示すること、およびこのセル／表が選択されないときにはそのスライサーを表示しないことを指定することができる。例えば、ユーザーが、スプレッドシートにおいて、表２５２内部における任意のセル上でホバリングされる、および／またはこのセルが選択されると、slicer_salespersonおよびslicer_customerを表示することを指定する関数を含むことができる。セルＦ５における関数２６２は、スライサー・エレメント「アラン」が販売員スライサー内において選択されたときに動作Ｘを実行する関数例を示す。
【００２８】
[0034]  図３は、スライサーがフィルタリングのために構成される表データーの表示例を示す。
[0035]  図示のように、表示３１０は、表データーのＮ個の行および列を示す。表データーの任意の数の行および列（例えば、２、３、１０、１２．．．）が、スライサー・エレメントを使用することができる。この例では、ユーザーは、スライサーと関連付けるために、表データーの内列１および列３を選択した。一実施形態によれば、表データーの列全体がスライサーと関連付けられる。他の実施形態によれば、スライサーが列の一部と関連付けられるのでもよい（例えば、ユーザーが、列内における２００セルの内５０セルを選択するのでもよい）。
【００２９】
[0036]  表データーの列１および列３の選択に応答して、スライサー３２０が列１に対して作られ、スライサー３３０が列３に対して作られる。一実施形態によれば、各スライサーは、選択された列内の一意の値毎に、スライサー・エレメントを含む。他の実施形態によれば、スライサー・エレメントは、他の判断基準（例えば、複数の値の範囲に対して１つのスライサー・エレメント、所定回数よりも多く現れる一意の値毎に１つのスライサー・エレメント等）に基づいて作られる。ユーザーは、異なるレイアウトを使用して、スライサーの表示を構成することもできる。例えば、スライサー３２０および３３０は、１つの行に水平に表示されるスライサー・エレメントと共に表示され、一方スライサー・エレメント３４０は、スライサー・エレメントが異なる行に垂直に表示されることを示す。スライサーは、隠さないデーターおよび／または隠すデーターをフィルタリングするようにユーザーによって構成することができる（例えば、表データー３１０の行および列を隠す）。スライサーは、スプレッドシートにおける行を隠すことによって、および／またはデーター・ソースからスプレッドシートに戻すデーターを少なくさせるクエリーを変更することによって、フィルタリングするように構成することができる。  
【００３０】
[0037]  表示３５０は、スライサー・エレメントの選択に応答して、フィルタリングされた表データーを示す。ディスプレイ３５０は、スライサーの作成に応答して自動的に作ること、および／またはユーザーによって手作業で構成することができる。例えば、ユーザーは、異なる値をどこに表示するか指定することができる。スライサー・エレメントの選択／非選択(de-selection)に応答して、ディスプレイ３５０は変化する（表示例については、図４〜図８を参照のこと）。例えば、１つのスライサー・エレメントを選択すると、他のスライサー・エレメントのその表示特性を変化させることができる（例えば、グレー・アウト、フォント変更、色変更、表示から除去する等）。
【００３１】
[0038]  スライサーおよび関連するスライサー・エレメントは、関連する表データーに対する変更に応答して更新される。例えば、関連するスライサーを有する列が削除されるとき、スライサーが削除されても／されなくてもよい。一実施形態によれば、スライサーが削除されないので、そのスライサーおよびその値はそこにあり続け、したがってスプレッドシートにおける異なる列、式、ピボットテーブル(pivottable)、または他のオブジェクトによって使用することができる。関連するスライサーを有するデーターの列から一意の値が除去されるとき、この削除される一意の値に対応するスライサー・エレメントは、除去されても／されなくてもよい。一実施形態によれば、削除された項目は、再度データーにおいて現れた場合でも、これらが最後に現れたときと同じフィルタ状態を有することができるように、保持される。表データーのヘッダー・セルを変化させると、スライサーを削除することなく、スライサーのキャプション(caption)が変化する。同様に、列内で一意の名称を変化させると、スライサー・エレメントの名称を変化させることができる。一実施形態によれば、新たなスライサー・エレメントが追加されると、この変化によって影響を受ける古いスライサー・エレメントは保持されるが隠される。一実施形態によれば、表データーに対して変化が生ずるに連れて、スライサーが更新される。これらの変更は、スライサー・エレメントの選択／非選択に応答して行うこと、および／または表データーの他のフィルタリングによって行うことができる（例えば、表データーの自動フィルタリング、異なるＵＩフィルタリング選択肢の選択、表データー内でデーターを変化させる関数の実行等）。一実施形態によれば、フィルタリングは、アプリケーションによって提供されるフィルタリング機能を使用して実行される。例えば、スライサー・エレメントの選択によって、このスライサー・エレメントの値に基づいてフィルタリングする関数コールを作ることができる（例えば、表３５０において、指定された値を含む値のみを示す）。
【００３２】
[0039]  図４〜図８は、表データーをフィルタリングするためにスライサーを使用する表示例を示す。図４〜図８は、説明の目的で例示されるのであり、限定することは意図していない。
【００３３】
[0040]  図４は、販売員に対応するデーターの列、顧客に対応するデーターの列、および販売量に対応するデーターの列を有する表データー４００を示す。
[0041]  表示４００において、スライサーが販売員列に対して作られ、スライサーが顧客コラムに対して作られている。sales_person_slicerは、スライサー・エレメント「アラン」および「ジョン」を含む。customer_slicerは、スライサー・エレメント「Happy Folks」、「Planes Galore」、「Ice Cream」、「Snack Inc.」、および「他の人々」を含む。
【００３４】
[0042]  表示４００は、各スライサー・エレメントが選択されたことを示す。表４１０は、表形式に配列されスライサー・エレメントの選択に基づいてフィルタリングされた表データーを示す。
【００３５】
[0043]  図５は、sales_person_slicerにおけるジョン・スライサー・エレメントの非選択を示す。この非選択の結果、表５１０は、選択されたスライサー・エレメント「アラン」に関する表データーを示す。アランの選択に応答して、Ice Creamスライサー・エレメントがグレー・アウトして、アランがIce Creamスライサー・エレメントに関連付けられたデーターを全く有していないことを示す。一実施形態によれば、フィルタリングするデーターを全く有していないスライサー・エレメントは、表示から除去されてもよい。
【００３６】
[0044]  図６は、sales_person_slicerにおけるアラン・スライサー・エレメントの非選択と、ジョン・スライサー・エレメントの選択とを示す。これらの非選択および選択の結果、表６１０は、選択されたスライサー・エレメント「ジョン」に関する表データーを示す。ジョンの選択に応答して、「他の人々」スライサー・エレメントがグレー・アウトして、ジョンは「他の人々」スライサー・エレメントと関連付けられたデーターを全く有していないことを示す。
【００３７】
[0045]  図７は、選択されたジョン・スライサー・エレメントと、customer_slicerにおけるHappy Folksスライサー・エレメントおよびPlanes Galoreスライサー・エレメントの選択とを示す。この選択の結果、表７１０はsales_person_slicerからの選択されたスライサー・エレメント「ジョン」に関する表データーと、customer_slicerからのHappy Folksスライサー・エレメントおよびPlanes Gloreスライサー・エレメントの選択に関する表データーとを示す。
【００３８】
[0046]  図８は、選択されたジョン・スライサー・エレメントと、customer_slicerにおけるIce Creamスライサー・エレメントの選択を示す。この選択の結果、表８１０は、sales_person_slicerからの選択されたスライサー・エレメント「ジョン」に関する表データーと、customer_slicerからのIce Creamスライサー・エレメントの選択とを示す。
【００３９】
[0047]  図９は、スライサー・エレメントを選択するためのタッチ・ジェスチャーを示す。図示のように、表示はスライサー・エレメント２の選択を示す。
[0048]  表示９１０は、スライサーおよびスライサー・エレメントを示す。ユーザーは、選択ジェスチャーを開始するために、スライサー・エレメント２付近／上に指を置いている。
【００４０】
[0049]  表示９２０は、ユーザーがスライサー・エレメント（スライサー・エレメント２）のエッジを右にドラッグすることを示す。一実施形態によれば、スライサーのエッジを所定の距離だけドラッグした後に、このスライサー・エレメントが選択される。エッジが所定の距離だけ動かされない場合、スライサーは選択されない。一実施形態によれば、スライサーの任意のエッジをドラッグすることによって、このスライサーを選択／非選択することができる。
【００４１】
[0050]  表示９３０は、ユーザーがエッジを更にスライサー・エレメントの中間までドラッグしたことを示す。一実施形態によれば、スライサー・エレメントが所定距離だけスライドされたが、このスライサー・エレメントを選択するのに必要な距離に満たないときに、チェックマーク・ビジュアル(visual)が現れる。
【００４２】
[0051]  表示９４０は、ユーザーがスライサー・エレメントのエッジを所定の距離だけドラッグしてこのスライサー・エレメントを選択したことを示す。一実施形態によれば、この選択に応答して、選択されたチェックマーク・ビジュアルが現れる。また、選択されたスライサー・エレメントは、選択されない他のスライサー・エレメントとは異なる表示がなされてもよい（例えば、背景、色、フォント、強調等を変化させる）。全表示（Show All)ボタンを選択すると、スライサー・エレメントの全てが選択される。
【００４３】
[0052]  図１０は、スライサー・ユーザー・インターフェースの一例を示す。
[0053]  表示１０１０は、スライサー設定ダイアログの一例を示す。ソース名は、スライサーが基づく列の一意の名称である。式において使用される名称は、ユーザーに、スプレッドシートの０個以上の式内に含まれる名称を与える。名称フィールドは、ユーザーにスライサーの名称を変更させる。ヘッダー選択肢は、ユーザーに、列に対するスライサー・エレメントの表示と共にヘッダーを表示させる。キャプションは、ヘッダー内に表示される名称である。ソートおよびフィルタリング選択肢は、ユーザーに、スライサーに対するソートおよびフィルタリングを制御する選択肢を与える。例えば、ユーザーは、データーを有する／有さないスライサー／スライサー・エレメントをいつ、どのように示すか決定することができる。
【００４４】
[0054]  表示１０２０は、スライサー挿入ダイアログの一例を示す。表示１０２０は、ユーザーが作りたいスライサーを選択するために使用することができる。例えば、表示１０２０は最初に表データーの列毎にスライサー名を示す。ダイアログを使用してあるスライサー名が選択されると、対応する表データーの列に対してスライサーが作られる。
【００４５】
[0055]  表示１０３０は、スライサーを挿入するためのユーザー・インターフェース・エレメントの一例を示す。
[0056]  図１１は、ウェブ・ベース環境におけるスライサーの表示の一例を示す。
【００４６】
[0057]  表示１１００は、ウェブ・ブラウザーの内部および／またはアプリケーション・ウィンドウの内部に表示することができる。例えば、ユーザーがウェブ・ブラウザーを介してタブレット・デバイス上でスプレッドシート・サービスにアクセスすることができる。図示のように、スライサー１１１０（スライサー１およびスライサー２）が、画面の左側に表示され、表示エリア１１２０に表示されたデーターをユーザーに変更させる。スライサー１１１０は、任意の表データー（例えば、スプレッドシートの列、表、データー・フィード等からのデーター）と関連付けることができる。
【００４７】
[0058]  これより図１２を参照して、表データーをフィルタリングするためにスライサーを使用するプロセス例について説明する。本明細書において紹介するルーチンの説明を読むとき、種々の実施形態の論理動作は、（１）計算システム上で実行するコンピューター実現動作(computer implemented act)またはプログラム・モジュールのシーケンスとして、および／または（２）計算システム内において相互接続された機械論理回路または回路モジュールとして実現されることは、認められてしかるべきである。実現例は、本発明の実現する計算システムの性能要件に依存する選択事項である。したがって、図示され本明細書において説明する実施形態を構成する論理処理は、処理(operation)、構造的デバイス、動作(act)、またはモジュールと様々に呼ばれる。これらの処理、構造的デバイス、動作、およびモジュールは、ソフトウェア、ファームウェア、特殊目的ディジタル・ロジック、およびその任意の組み合わせで実現することができる。
【００４８】
[0059]  起動処理の後、プロセス１２００は処理１２１０に進み、表データーに対してどのスライサーを作るかに関して決定を行う。作るスライサーは、自動／手動で決定することができる。例えば、各データー列にスライサーを作るのでもよい。また、ユーザー入力から作るスライサーを決定してもよい。例えば、ユーザーが表データーの１つ以上の列を選択するのでもよい。一実施形態によれば、スライサーと関連付けるための表データーの選択は、タッチ入力を使用する。例えば、ユーザーがスプレッドシートから１つ以上のセルを選択するためにジェスチャーを行うのでもよい。加えて、実施形態によれば、ユーザーはタッチ入力が受け入れられ検出されるためには、タッチ面の表面付近に彼らの指（または何らかの他の物体）を置けばよい。これらのセルは、スプレッドシートの１つ以上の行および１つ以上の列内にあるセルを含むことができる。この選択は、スライサーと関連付ける列を識別するため、および／またはスライサーと関連付けるのは列のどの部分かを識別するために使用することもできる。例えば、列全体が選択されない場合、スライサーが列の一部と関連付けられてもよい。
【００４９】
[0060]  処理１２２０に進み、スライサーおよびスライサー・エレメントを作る。スライサーは、選択された列毎に作られる。スライサー・エレメントは、選択された列の各々に対して、選択された部分の各々の内部の一意の値毎に作られる。他の実施形態によれば、他の判断基準に基づいて、スライサー・エレメントが作られる（例えば、複数の値の範囲に対して１つのスライサー・エレメント、所定回数よりも多く現れる一意の値毎に１つのスライサー・エレメント等）。
【００５０】
[0061]  処理１２３０に移り、スライサーを表示する。ユーザーはスライサーの表示を構成することができる。例えば、スライサーおよびスライサー・エレメントは、ディスプレイ上の所定の位置に置かれた、別々の移動可能なウィンドウ／エレメント内に示されてもよく、スライサー・エレメントが水平および／または垂直に表示されてもよい等である。
【００５１】
[0062]  処理１２４０に移り、スライサーを構成する。例えば、スライサーは、ユーザーによって、隠されないデーターおよび／または隠されたデーター（例えば、隠された表データーの行／列）をフィルタリングするように構成されてもよい。スプレッドシートにおける行を隠すことによって、および／またはデーター・ソースからスプレッドシートに戻すデーターを少なくさせるクエリーを変更することによってフィルタリングするようにスライサーを構成することができる。一実施形態によれば、スライサーは、表データー自体に対して、および／または報告型ビュー内において表データーがフィルタリングされるに連れて、これを示す別個の表示に対して動作するように構成することもできる。
【００５２】
[0063]  処理１２５０に進み、スライサー・エレメント（１つまたは複数）の選択を受ける。スライサーの１つ以上からのスライサー・エレメントの０個以上を選択することができる。
【００５３】
[0064]  処理１２６０に移り、スライサー・エレメントの選択に応答して、表データーの表示を更新する。例えば、スライサー・エレメントの選択によって、表データーの表示内に対応する値を含むように、表データーをフィルタリングする。
【００５４】
[0065]  処理１２７０に移り、決定されたときに、他のスライサーおよびスライサー・エレメントの表示を更新する。例えば、１つのスライサー・エレメントの選択によって、他のスライサー・エレメントの表示特性（例えば、グレー・アウト、フォント変更、色変更、表示から除去等）を変化させることもある。表示特性を変化させることによって、ユーザーは、スライサー・エレメント（１つまたは複数）の選択によって行われたフィルタリングの効果を見ることができる。一実施形態によれば、スライサーは自動的に更新される。スライサーは、手動／自動でオフに切り替えることができる。一実施形態によれば、スライサーの自動更新は、完了するために所定の時間期間（例えば、３００ｍｓより長い）を要するスライサーの更新に応答してオフに切り替えられる。他の所定の時間期間を設定してもよい（例えば、２００ｍｓ、３５０ｍｓ、４００ｍｓ、５００ｍｓ、１秒等）。例えば、ユーザーがＵＩを使用して時間期間を指定することもできる。大多数のスライサー・エレメントを更新すると、長い時間がかかる可能性があり、アプリケーションにおける他の処理（例えば、計算時間）に影響を及ぼす可能性がある。自動更新は、自動／手動でオンに戻すこともできる。例えば、ユーザーがＵＩを介してこれらをオンに戻すこともできる（例えば、種々の編集を行って、再度スライサーを介してデーターを分析し始める用意ができた後）。一実施形態によれば、スライサー／スライサー・エレメントは、これらが自動的に更新されない場合、異なるレンダリングが行われる。
【００５５】
[0066]  処理１２８０に進み、スライサーおよび／またはスライサー・エレメントを参照する他のセルを更新する。スライサー／スライサー・エレメントは、スプレッドシートの１つ以上のセル、他の表内部にあるセル、ピボットテーブル内に含まれてもよく、チャートをフィードすることもでき、任意の他のスプレッドシート・オブジェクト内に含まれてもよい。スライサーが選択されると、そのスライサーを参照するセルが知らされる。
【００５６】
[0067]  次いで、本プロセスは、終了処理に進み、他の動作の処理に戻る。
[0068]  以上の明細書、例、およびデーターは、本発明の組成(composition)の製造および使用についての完全な説明に考慮している。本発明の主旨や範囲から逸脱することなく本発明の多くの実施形態を形成することができるので、本発明は、以下に添付する特許請求の範囲に存するものとする。
【図１】
0006267126.tif 000002
【図２】
0006267126.tif 000003
【図３】
0006267126.tif 000004
【図４】
0006267126.tif 000005
【図５】
0006267126.tif 000006
【図６】
0006267126.tif 000007
【図７】
0006267126.tif 000008
【図８】
0006267126.tif 000009
【図９】
0006267126.tif 000010
【図１０】
0006267126.tif 000011
【図１１】
0006267126.tif 000012
【図１２】
0006267126.tif 000013