IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ タブロー ソフトウェア,インコーポレイテッドの特許一覧

特許7603062複数行計算によるデータ視覚化を視覚的に分析するための方法およびユーザインターフェース
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-11
(45)【発行日】2024-12-19
(54)【発明の名称】複数行計算によるデータ視覚化を視覚的に分析するための方法およびユーザインターフェース
(51)【国際特許分類】
   G06F 3/0484 20220101AFI20241212BHJP
【FI】
G06F3/0484
【請求項の数】 18
(21)【出願番号】P 2022518271
(86)(22)【出願日】2020-09-30
(65)【公表番号】
(43)【公表日】2023-01-04
(86)【国際出願番号】 US2020053412
(87)【国際公開番号】W WO2021091638
(87)【国際公開日】2021-05-14
【審査請求日】2023-06-27
(31)【優先権主張番号】16/675,122
(32)【優先日】2019-11-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】508311813
【氏名又は名称】タブロー ソフトウェア,エルエルシー
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】タルボット,ジャスティン
(72)【発明者】
【氏名】フォーストロム,エイミー ニコル
(72)【発明者】
【氏名】コーリー,ダニエル
(72)【発明者】
【氏名】ユーバンク,クリスチャン ガブリエル
(72)【発明者】
【氏名】ブース ジュニア,ジェフリー マーク
(72)【発明者】
【氏名】ボーデン,ニコラス
【審査官】桐山 愛世
(56)【参考文献】
【文献】米国特許出願公開第2018/0129513(US,A1)
【文献】特表2008-523473(JP,A)
【文献】特表2020-537251(JP,A)
【文献】国際公開第2019/074570(WO,A1)
【文献】Practical Tableau 100 Tips, Tutorials, and Strategies from a Tableau Zen Master,2018年05月08日
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/0484
(57)【特許請求の範囲】
【請求項1】
データ視覚化のための複数行の計算を視覚的に分析する方法であって、
ディスプレイ、1つ以上のプロセッサ、および前記1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを格納するメモリを有するコンピュータにおいて、
データソースのユーザ選択を受信することと、
データ視覚化をデータ視覚化ユーザインターフェース内で、前記ユーザインターフェース内のシェルフ内の、前記データソースからのデータフィールドの配置に従って表示することであって、前記データ視覚化が、前記データソースからのデータを表す複数の視覚データマークを含むことと、
前記視覚データマークのサブセットを選択するための第1のユーザ入力を検出することと、
前記第1のユーザ入力の検出に応答して、
前記視覚データマークの選択されたサブセットの要約を含むビューデータウィンドウを表示すること、
前記データソースを論理テーブルのツリーとして符号化するデータモデルを取得することであって、各論理テーブルが、その独自の物理表現を有し、かつそれぞれの1つ以上の論理フィールドを含み、各論理フィールドが、1つ以上の論理テーブルにまたがるデータフィールドまたは計算のいずれかに対応し、前記ツリーの各エッジが、関連する2つの論理テーブルに接続し、各データフィールドが、メジャーまたはディメンションのいずれかであること、
前記データモデルに基づいて、前記視覚データマークの選択されたサブセットに対応する1つ以上の集計メジャーを決定することであって、各集計メジャーが、前記データモデルの複数の論理テーブルから集計されること、および
前記1つ以上の集計メジャーの各集計メジャーを前記ビューデータウィンドウ内に表示すること、を行うことと、
複数の集計メジャーが同じ論理テーブルのセットから集計されるという決定に従って、前記ビューデータウィンドウ内に前記複数の集計メジャーの単一のインスタンスを表示することと、
を含む、方法。
【請求項2】
データ視覚化のための複数行の計算を視覚的に分析する方法であって、
ディスプレイ、1つ以上のプロセッサ、および前記1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを格納するメモリを有するコンピュータにおいて、
データソースのユーザ選択を受信することと、
データ視覚化をデータ視覚化ユーザインターフェース内で、前記ユーザインターフェース内のシェルフ内の、前記データソースからのデータフィールドの配置に従って表示することであって、前記データ視覚化が、前記データソースからのデータを表す複数の視覚データマークを含むことと、
前記視覚データマークのサブセットを選択するための第1のユーザ入力を検出することと、
前記第1のユーザ入力の検出に応答して、
前記視覚データマークの選択されたサブセットの要約を含むビューデータウィンドウを表示すること、
前記データソースを論理テーブルのツリーとして符号化するデータモデルを取得することであって、各論理テーブルが、その独自の物理表現を有し、かつそれぞれの1つ以上の論理フィールドを含み、各論理フィールドが、1つ以上の論理テーブルにまたがるデータフィールドまたは計算のいずれかに対応し、前記ツリーの各エッジが、関連する2つの論理テーブルに接続し、各データフィールドが、メジャーまたはディメンションのいずれかであること、
前記データモデルに基づいて、前記視覚データマークの選択されたサブセットに対応する1つ以上の集計メジャーを決定することであって、各集計メジャーが、前記データモデルの複数の論理テーブルから集計されること、および
前記1つ以上の集計メジャーの各集計メジャーを前記ビューデータウィンドウ内に表示すること、を行うことと、
複数の集計メジャーが第1の論理テーブルから集計されるという決定に従って、前記ビューデータウィンドウ内で、(i)前記複数の集計メジャーの表示を停止し、かつ(ii)前記第1の論理テーブルを表示することと、
を含む、方法。
【請求項3】
データ視覚化のための複数行の計算を視覚的に分析する方法であって、
ディスプレイ、1つ以上のプロセッサ、および前記1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを格納するメモリを有するコンピュータにおいて、
データソースのユーザ選択を受信することと、
データ視覚化をデータ視覚化ユーザインターフェース内で、前記ユーザインターフェース内のシェルフ内の、前記データソースからのデータフィールドの配置に従って表示することであって、前記データ視覚化が、前記データソースからのデータを表す複数の視覚データマークを含むことと、
前記視覚データマークのサブセットを選択するための第1のユーザ入力を検出することと、
前記第1のユーザ入力の検出に応答して、
前記視覚データマークの選択されたサブセットの要約を含むビューデータウィンドウを表示すること、
前記データソースを論理テーブルのツリーとして符号化するデータモデルを取得することであって、各論理テーブルが、その独自の物理表現を有し、かつそれぞれの1つ以上の論理フィールドを含み、各論理フィールドが、1つ以上の論理テーブルにまたがるデータフィールドまたは計算のいずれかに対応し、前記ツリーの各エッジが、関連する2つの論理テーブルに接続し、各データフィールドが、メジャーまたはディメンションのいずれかであること、
前記データモデルに基づいて、前記視覚データマークの選択されたサブセットに対応する1つ以上の集計メジャーを決定することであって、各集計メジャーが、前記データモデルの複数の論理テーブルから集計されること、および
前記1つ以上の集計メジャーの各集計メジャーを前記ビューデータウィンドウ内に表示すること、を行うことと、
前記ビューデータウィンドウ内に、前記視覚データマークの選択されたサブセット内で参照される1つ以上の詳細レベルの計算を表示することと、
を含み、
2つ以上の論理テーブルを参照する各詳細レベルの計算が、その対応する最小共通祖先(LCA)論理テーブルを使用して表示される、方法。
【請求項4】
前記第1のユーザ入力を検出することに応答して、前記視覚データマークの前記選択されたサブセットを視覚的に強調表示することをさらに含む、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記ビューデータウィンドウが、サイドパネルまたはポップアップウィンドウとして表示される、請求項1~3のいずれか一項に記載の方法。
【請求項6】
各集計メジャーが、前記ビューデータウィンドウ内のタブとして表示される、請求項1~3のいずれか一項に記載の方法。
【請求項7】
各集計メジャーを、その分解された詳細レベルに従って表示することをさらに含む、請求項1~3のいずれか一項に記載の方法。
【請求項8】
前記データ視覚化における前記1つ以上の集計メジャー内で参照される1つ以上のディメンションを表示することをさらに含む、請求項に記載の方法。
【請求項9】
視覚仕様に従って前記1つ以上のディメンションを並べ替えることをさらに含む、請求項に記載の方法。
【請求項10】
それぞれの集計メジャーのデータフィールドを示すための第2のユーザ入力を検出することと、
前記第2のユーザ入力の検出に応答して、前記それぞれの集計メジャーのデータフィールドを表示することと、をさらに含む、請求項1~3のいずれか一項に記載の方法。
【請求項11】
前記ビューデータウィンドウ内に、前記視覚データマークの選択されたサブセット内で参照されるディメンションおよび計算を表示することをさらに含む、請求項1~3のいずれか一項に記載の方法。
【請求項12】
前記ビューデータウィンドウに、前記視覚データマークの選択されたサブセット内で参照される各計算に対して1つ以上のメジャーを表示することをさらに含む、請求項11に記載の方法。
【請求項13】
Fixed計算タイプを有し、かつ単一の論理テーブルに由来するディメンションを有する詳細レベルの計算が、前記単一の論理テーブルを使用して表示され、
Fixed以外の計算タイプを有する詳細レベルの計算が、別々に表示される、請求項に記載の方法。
【請求項14】
前記ビューデータウィンドウ内に、各集計メジャーを識別するためのそれぞれのラベルまたは名前を表示することをさらに含む、請求項1~3のいずれか一項に記載の方法。
【請求項15】
データソースのオブジェクトモデルを表示するためのコンピュータシステムであって、
ディスプレイと、
1つ以上のプロセッサと、
メモリと、を備え、
前記メモリが、前記1つ以上のプロセッサによって実行されるように構成されている1つ以上のプログラムを格納し、前記1つ以上のプログラムが、
データソースのユーザ選択を受信することと、
データ視覚化をデータ視覚化ユーザインターフェース内で、前記ユーザインターフェース内のシェルフ内の、前記データソースからのデータフィールドの配置に従って表示することであって、前記データ視覚化が、前記データソースからのデータを表す複数の視覚データマークを含むことと、
前記視覚データマークのサブセットを選択するための第1のユーザ入力を検出することと、
前記第1のユーザ入力の検出に応答して、
前記視覚データマークの選択されたサブセットの要約を含むビューデータウィンドウを表示すること、
前記データソースを論理テーブルのツリーとして符号化するデータモデルを取得することであって、各論理テーブルが、その独自の物理表現を有し、かつそれぞれの1つ以上の論理フィールドを含み、各論理フィールドが、1つ以上の論理テーブルにまたがるデータフィールドまたは計算のいずれかに対応し、前記ツリーの各エッジが、関連する2つの論理テーブルに接続し、各データフィールドが、メジャーまたはディメンションのいずれかであること、
前記データモデルに基づいて、前記視覚データマークの選択されたサブセットに対応するメジャーである1つ以上の集計メジャーを決定することであって、各集計メジャーが、前記データモデルの複数の論理テーブルから集計されること、および
前記1つ以上の集計メジャーの各集計メジャーを前記ビューデータウィンドウ内に表示すること
複数の集計メジャーが同じ論理テーブルのセットから集計されるという決定に従って、前記ビューデータウィンドウ内に前記複数の集計メジャーの単一のインスタンスを表示することと、
を行うための命令を含む、コンピュータシステム。
【請求項16】
前記1つ以上のプログラムが、各集計メジャーをその分解された詳細レベルに従って表示するための命令をさらに含む、請求項15に記載のコンピュータシステム。
【請求項17】
前記1つ以上のプログラムが、前記データ視覚化内の前記1つ以上の集計メジャー内で参照される1つ以上のディメンションを表示するための命令をさらに含む、請求項16に記載のコンピュータシステム。
【請求項18】
ディスプレイ、1つ以上のプロセッサ、およびメモリを有する、コンピュータシステムによって実行されるように構成されている1つ以上のプログラムを格納する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムが、
データソースのユーザ選択を受信することと、
データ視覚化をデータ視覚化ユーザインターフェース内で、前記ユーザインターフェース内のシェルフ内の、前記データソースからのデータフィールドの配置に従って表示することであって、前記データ視覚化が、前記データソースからのデータを表す複数の視覚データマークを含むことと、
前記視覚データマークのサブセットを選択するための第1のユーザ入力を検出することと、
前記第1のユーザ入力の検出に応答して、
前記視覚データマークの選択されたサブセットの要約を含むビューデータウィンドウを表示すること、
前記データソースを論理テーブルのツリーとして符号化するデータモデルを取得することであって、各論理テーブルが、その独自の物理表現を有し、かつそれぞれの1つ以上の論理フィールドを含み、各論理フィールドが、1つ以上の論理テーブルにまたがるデータフィールドまたは計算のいずれかに対応し、前記ツリーの各エッジが、関連する2つの論理テーブルに接続し、各データフィールドが、メジャーまたはディメンションのいずれかであること、
前記データモデルに基づいて、前記視覚データマークの選択されたサブセットに対応する1つ以上の集計メジャーを決定することであって、各集計メジャーが、前記データモデルの複数の論理テーブルから集計されること、および
前記1つ以上の集計メジャーの各集計メジャーを前記ビューデータウィンドウに表示すること
複数の集計メジャーが同じ論理テーブルのセットから集計されるという決定に従って、前記ビューデータウィンドウ内に前記複数の集計メジャーの単一のインスタンスを表示することと、
を行うための命令を含む、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2018年12月30日に出願された「Generating Data Visualizations According to an Object Model of Selected Data Sources」と題された米国特許出願第16/236,611号に関連しており、これは、2018年10月22日に出願された「Using an Object Model of Heterogeneous Data to Facilitate Building Data Visualizations」と題された米国仮特許出願第62/748,968号の優先権を主張し、これらの各々はその全体が参照により本明細書に組み込まれる。
【0002】
本出願は、2018年12月30日に出願された「Generating Data Visualizations According to an Object Model of Selected Data Sources」と題された米国特許出願第16/236,612号に関連し、これはその全体が参照により本明細書に組み込まれる。
【0003】
本出願は、2018年3月2日に出願された「Using an Object Model of Heterogeneous Data to Facilitate Building Data Visualizations」と題された米国特許出願第15/911,026号に関連しており、これは、2017年10月9日に出願された「Using an Object Model of Heterogeneous Data to Facilitate Building Data Visualizations」と題された米国仮特許出願第62/569,976号の優先権を主張し、これらの各々はその全体が参照により本明細書に組み込まれる。
【0004】
本出願はまた、2015年7月16日に出願された「Systems and Methods for using Multiple Aggregation Levels in a Single Data Visualization」と題された米国特許出願第14/801,750号、および2017年4月25日に出願された「Blending and Visualizing Data from Multiple Data Sources」と題された米国特許出願第15/497,130号にも関連し、これらは、2013年10月15日に出願された「Blending and Visualizing Data from Multiple Data Sources」と題された米国特許出願第14号/054,803(現米国特許第9,633,076号)の続編であり、これは、2012年10月15日に出願された「Blending and Visualizing Data from Multiple Data Sources」と題された米国仮特許出願第61/714,181号の優先権を主張しており、これらの各々はその全体が参照により本明細書に組み込まれる。
【0005】
本出願は、2019年9月13日に出願された「Utilizing Appropriate Measure Aggregation for Generating Data Visualizations of Multi-fact Datasets」と題された米国特許出願第16/570,969号にも関連し、これはその全体が参照により本明細書に組み込まれる。
【0006】
開示された実装形態は、一般に、データ視覚化に関連し、より具体的には、データセットのオブジェクトモデルを使用するデータセットのインタラクティブな視覚分析に関連する。
【背景技術】
【0007】
データ視覚化アプリケーションは、ユーザが、ビジネス上の意思決定をするのに重要な分布、傾向、外れ値、および他の要因を含むデータセットを視覚的に理解することを可能にする。いくつかのデータ要素は、選択したデータセットからのデータに基づいて計算する必要がある。例えば、データ視覚化では、合計を使用してデータを集計することがよくある。いくつかのデータ視覚化アプリケーションでは、ユーザが「詳細レベル」(LOD)を指定することを可能にし、これは、集計に使用することができる。しかしながら、データ視覚化に単一の詳細レベルを指定するだけでは、特定の計算を構築するには不十分である。
【0008】
いくつかのデータ視覚化アプリケーションは、データフィールドを選択し、それらを特定のユーザインターフェース領域に配置してデータ視覚化を間接的に定義することにより、ユーザがデータソースから視覚化を構築することを可能にするユーザインターフェースを提供する。例えば、2003年6月2日に出願された「Computer Systems and Methods for the Query and Visualization of Multidimensional Databases」と題された米国特許出願第10/453,834号、現在は米国特許第7,089,266号を参照されたく、これはその全体が参照により本明細書に組み込まれる。しかしながら、複雑なデータソースおよび/または複数のデータソースがある場合、ユーザの選択に基づいて生成するデータ視覚化のタイプ(存在する場合)が不明確になる場合がある。
【0009】
加えて、いくつかのシステムは、ユーザが期待するものではないデータ視覚化をもたらすクエリを構造する。場合によっては、データのいくつかの行が省略される(例えば、ファクトテーブルのうちの1つに対応するデータがない場合)。エンドユーザが問題を認識していない、および/または問題の原因が分からない可能性があるため、これらの問題は特に問題になる可能性がある。
【発明の概要】
【0010】
特に複数のファクトテーブルがある場合、複数のテーブルからのデータを組み合わせたデータ視覚化を生成することが困難な場合がある。場合によっては、データ視覚化を生成する前に、データのオブジェクトモデルを構造することが役立ち得る。場合によっては、ある人がデータの特定の専門家であり、その人がオブジェクトモデルを作成する。関係をオブジェクトモデルに格納することにより、データ視覚化アプリケーションはその情報を活用して、専門家でなくてもデータにアクセスするすべてのユーザを支援することができる。
【0011】
オブジェクトは、名前の付いた属性の集まりである。オブジェクトは、多くの場合、Storeなどの現実世界のオブジェクト、イベント、または概念に対応している。属性は、概念的にオブジェクトと1:1関係にあるオブジェクトの説明である。したがって、Storeオブジェクトには、単一の[マネージャ名]または[従業員数]が関連付けられている場合がある。物理レベルでは、多くの場合、オブジェクトはリレーショナルテーブルの行として、またはJSONのオブジェクトとして格納される。
【0012】
クラスは、同じ属性を共有するオブジェクトの集まりである。クラス内のオブジェクトを比較し、それらを集計することは、分析的に意味のあるものでなければならない。物理レベルでは、多くの場合、クラスはリレーショナルテーブルとして、またはJSONのオブジェクトの配列として格納される。
【0013】
オブジェクトモデルは、クラスのセットと、それらの間の多対1関係のセットである。1対1関係で関連付けられているクラスは、ユーザにとって意味のある別個のものであっても、概念的には単一のクラスとして扱われる。加えて、1対1関係で関連付けられているクラスは、データ視覚化ユーザインターフェースで別個のクラスとして提示される場合がある。多対多関係は、関係を捕捉する連想テーブルを追加することにより、概念的に2つの多対1関係に分割される。
【0014】
クラスモデルが構造されると、データ視覚化アプリケーションは様々な方法でユーザを支援することができる。いくつかの実装形態では、すでに選択され、ユーザインターフェースのシェルフに配置されたデータフィールドに基づいて、データ視覚化アプリケーションは、追加のフィールドを推奨すること、または使用不可能な組み合わせを防止するために実行することができるアクションを制限することができる。いくつかの実装形態では、データ視覚化アプリケーションは、ユーザがフィールドをかなり自由に選択することを可能にし、オブジェクトモデルを使用して、ユーザが選択したもの応じて1つ以上のデータ視覚化を構築する。
【0015】
いくつかの実装形態によれば、方法は、データソースのオブジェクトモデルの視覚化を容易にする。この方法は、ディスプレイ、1つ以上のプロセッサ、およびメモリを有するコンピュータにおいて実行される。メモリは、1つ以上のプロセッサによる実行用に構成された1つ以上のプログラムを格納する。このコンピュータは、データソースのユーザ選択を受信することを含む。応答として、コンピュータは、データ視覚化をデータ視覚化ユーザインターフェース内に、ユーザインターフェースのシェルフ内のデータソースからのデータフィールドの配置に従って表示する。データ視覚化は、データソースからのデータを表す複数の視覚データマークを含む。コンピュータは、視覚データマークのサブセットを選択するための第1のユーザ入力を検出する。第1のユーザ入力の検出に応答して、コンピュータは、視覚データマークの選択されたサブセットの要約を含むビューデータウィンドウを表示する。コンピュータはまた、データソースを論理テーブルのツリーとして符号化するデータモデルも取得する。各論理テーブルは、その独自の物理表現を有し、1つ以上の論理フィールドのそれぞれのセットを含む。各論理フィールドは、1つ以上の論理テーブルにまたがるデータフィールドまたは計算のいずれかに対応する。ツリーの各エッジは、関連する2つの論理テーブルを接続し、各データフィールドはメジャーまたはディメンションのいずれかである。コンピュータはまた、データモデルに基づいて、視覚データマークの選択されたサブセットに対応する1つ以上の集計メジャーを決定する。各集計メジャーは、データモデルの複数の論理テーブルから集計される。コンピュータは、1つ以上の集計メジャーの各集計メジャーをビューデータウィンドウ内に表示する。
【0016】
いくつかの実装形態では、第1のユーザ入力の検出に応答して、コンピュータは、視覚データマークの選択されたサブセットを視覚的に強調表示する。
【0017】
いくつかの実装形態では、ビューデータウィンドウはサイドパネルまたはポップアップウィンドウとして表示される。
【0018】
いくつかの実装形態では、各集計メジャーはビューデータウィンドウにタブとして表示される。
【0019】
いくつかの実装形態では、コンピュータはまた、分解された詳細レベルに従って、各集計メジャーも表示する。いくつかの実装形態では、コンピュータはまた、データ視覚化の1つ以上の集計メジャー内で参照される1つ以上のディメンションも表示する。いくつかの実装形態では、コンピュータは、視覚仕様に従って1つ以上のディメンションを並べ替える。
【0020】
いくつかの実装形態では、コンピュータはまた、それぞれの集計メジャーのデータフィールドを表示するための第2のユーザ入力も検出する。第2のユーザ入力の検出に応答して、コンピュータは、それぞれの集計メジャーのデータフィールドを表示する。
【0021】
いくつかの実装形態では、複数の集計メジャーが同じ論理テーブルのセットから集計されるという決定に従って、コンピュータは、ビューデータウィンドウ内に複数の集計メジャーの単一のインスタンスのみを表示する。
【0022】
いくつかの実装形態では、複数の集計メジャーが第1の論理テーブルから集計されるという決定に従って、コンピュータは、ビューデータウィンドウ内で、(i)複数の集計メジャーの表示を停止し、かつ(ii)記第1の論理テーブルを表示することを含む。
【0023】
いくつかの実装形態では、コンピュータは、ビューデータウィンドウ内に、視覚データマークの選択されたサブセット内で参照されるディメンションおよび計算を、表示する。いくつかの実装形態では、コンピュータはまた、ビューデータウィンドウ内に、視覚データマークの選択されたサブセットで参照される各計算に対して1つ以上のメジャーも表示する。
【0024】
いくつかの実装形態では、コンピュータは、ビューデータウィンドウ内に、視覚データマークの選択されたサブセット内で参照される1つ以上の詳細レベルの計算を表示する。いくつかの実装形態では、コンピュータは、Fixed計算タイプを有し、単一の論理テーブルを使用する単一の論理テーブルからのディメンションを有する詳細レベルの計算を表示する。いくつかの実装形態では、コンピュータは、Fixed以外の計算タイプを有する詳細レベルの計算を別々に表示する。いくつかの実装形態では、2つ以上の論理テーブルを参照する各詳細レベルの計算は、その対応する最小共通祖先(LCA)論理テーブルを使用して表示される。
【0025】
いくつかの実装形態では、コンピュータは、ビューデータウィンドウ内に、各集計メジャーを識別するためのそれぞれのラベルまたは名前を表示する。
【0026】
いくつかの実装形態によれば、データソースのオブジェクトモデルの視覚化を容易にするためのシステムは、1つ以上のプロセッサ、メモリ、およびメモリに格納された1つ以上のプログラムを含む。プログラムは、1つ以上のプロセッサによって実行されるように構成される。プログラムは、本明細書に記載の方法のいずれかを実施するための命令を含む。
【0027】
いくつかの実装形態によれば、非一時的コンピュータ可読記憶媒体は、1つ以上のプロセッサおよびメモリを有するコンピュータシステムによる実行のために構成されている1つ以上のプログラムを格納する。1つ以上のプログラムは、本明細書に記載の方法のいずれかを実施するための命令を含む。
【0028】
したがって、方法、システム、およびグラフィカルユーザインターフェースは、データセットのインタラクティブな視覚分析のために提供される。
【図面の簡単な説明】
【0029】
本発明の前述の実装形態、および追加の実装形態をよりよく理解するために、同様の参照番号が図全体を通して対応する部分を参照する以下の図面と併せて、以下の発明を実施するための形態を参照されたい。
【0030】
図1A】いくつかの実装形態に従ってデータ視覚化を構築するプロセスを概念的に示す。
図1B】いくつかの実装形態による例示的なデータ視覚化のデスクトップバージョンを示す。
図1C】いくつかの実装形態による図1Bのデータ視覚化に示されているフィールドの集計データの要約の例示的なビューを示す。
図1D】いくつかの実装形態による図1Bのデータ視覚化における選択されたマークのデータの例示的なビューを示す。
図1E】いくつかの実装形態による図1Bの例示的なデータ視覚化のウェブバージョンを示す。
図1F】いくつかの実装形態による図1Eのデータ視覚化に示されるフィールドの集計データの要約の例示的なビューを示す。
図1G】いくつかの実装形態による図1Eのデータ視覚化における選択されたマークのデータの例示的なビューを示す。
図2】いくつかの実装形態によるコンピューティングデバイスのブロック図である。
図3】いくつかの実装形態によるデータ視覚化サーバのブロック図である。
図4A-7I】いくつかの実装形態によるオブジェクトモデルを使用してデータ視覚化を生成するためのユーザインターフェースのスクリーンショットである。
図8A-8I】いくつかの実装形態によるオブジェクトモデルを使用してデータ視覚化を生成するための方法のフローチャートを提供する。
【0031】
同様の参照番号は、図面全体の対応する部分を参照している。
【0032】
ここで、実装形態を詳細に参照すると、その例は、添付の図面に示されている。以下の詳細な説明では、本発明の徹底した理解を提供するために、数多くの特定の詳細が記載される。しかしながら、当業者であれば、これらの特定の詳細がなくても本発明を実施することができることは明らかであろう。
【0033】
実装形態の説明
図1Aに示すように、インタラクティブなデータ視覚化アプリケーションのいくつかの実装形態は、データ視覚化ユーザインターフェース102を使用して、視覚仕様104を構築する。視覚仕様は、1つ以上のデータソース106を識別し、これらは、局所的に(例えば、ユーザインターフェース102を表示しているのと同じデバイスに)格納され得るか、または外部に(例えば、データベースサーバまたはクラウドに)格納され得る。視覚仕様104はまた、視覚変数も含む。視覚変数は、データソース106から選択されたデータフィールドに従って、間接的に所望のデータ視覚化の特性を指定する。特に、ユーザは視覚変数の各々にゼロ個以上のデータフィールドを割り当て、データフィールドの値によって、表示されるデータ視覚化が決定される。
【0034】
ほとんどの場合、すべての視覚変数が使用されるわけではない。場合によっては、視覚変数のいくつかは、2つ以上の割り当てられたデータフィールドを有する。このシナリオでは、視覚変数に割り当てられたデータフィールドの順序(例えば、データフィールドがユーザによって視覚変数に割り当てられた順序)は、通常、データ視覚化がどのように生成され、表示されるかに影響する。
【0035】
いくつかの実装形態では、オブジェクトモデル108を使用して、適切なデータ視覚化を構築する。場合によっては、オブジェクトモデルは1つのデータソース(例えば、1つのSQLデータベースまたは1つのスプレッドシートファイル)に適用されるが、オブジェクトモデルは2つ以上のデータソースを包含し得る。通常、無関係のデータソースは、別個のオブジェクトモデルを有している。場合によっては、オブジェクトモデルは、物理的データソースのデータモデルを厳密に模倣する(例えば、SQLデータベースのテーブルに対応するオブジェクトモデルのクラス)。しかしながら、場合によっては、オブジェクトモデルは、物理的データソースよりも正規化されている(または正規化されていない)。オブジェクトモデルは、互いに1対1関係にある属性(例えば、データフィールド)をグループ化してクラスを形成し、クラス間の多対1関係を識別する。場合によっては、多対1関係が矢印で示され、各関係の「多」側が、関係の「1」側を指していることもある。オブジェクトモデルはまた、データフィールド(属性)の各々をディメンションまたはメジャーのいずれかとしても識別する。以下では、文字「D」(または「d」)を使用してディメンションを表し、後者の「M」(または「m」)を使用してメジャーを表す。ディメンションは、個別の値を格納するカテゴリデータフィールドである(例えば、文字列データ型のデータフィールド)。メジャーは通常、数値データフィールドであり、集計することができる(例えば、平均を合計または計算する)。オブジェクトモデル108が構造されるとき、それは、ユーザが選択するデータフィールドに基づいてデータ視覚化を構築することを容易にすることができる。単一のオブジェクトモデルは無制限の数の他の人々が使用できるため、データソースのオブジェクトモデルの構築は通常、データソースの相対的な専門家である人に委任される。
【0036】
ユーザが(例えば、グラフィカルユーザインターフェースを使用して、データフィールドをシェルフに配置することによって間接的に)データフィールドを視覚仕様に追加すると、データ視覚化アプリケーション222(またはウェブアプリケーション322)は、オブジェクトモデル108に従ってユーザが選択したデータフィールドをグループ化する(110)。このようなグループは、データフィールドセット294と呼ばれる。多くの場合、ユーザが選択したデータフィールドはすべて、単一のデータフィールドセット294内にある。場合によっては、2つ以上のデータフィールドセット294が存在する。各メジャーmは、正確に1つのデータフィールドセット294内にあるが、各ディメンションdは、2つ以上のデータフィールドセット294内にあり得る。
【0037】
データ視覚化アプリケーション222(またはウェブアプリケーション322)は、第1のデータフィールドセット294についてデータソース106にクエリを実行し(112)、次いで、取得されたデータに対応する第1のデータ視覚化122を生成する。第1のデータ視覚化122は、第1のデータフィールドセット294からデータフィールド284を割り当てた視覚仕様104における視覚変数282に従って構造される。データフィールドセット294が1つしかない場合、視覚仕様104におけるすべての情報は、第1のデータ視覚化122を構築するために使用される。2つ以上のデータフィールドセット294が存在する場合、第1のデータ視覚化122は、第1のデータフィールドセット294に関連するすべての情報からなる第1の視覚副仕様に基づく。例えば、元の視覚仕様104が、データフィールドfを使用するフィルタを含むと仮定する。フィールドfが第1のデータフィールドセット294に含まれる場合、フィルタは第1の視覚的副仕様の一部であり、したがって第1のデータ視覚化122を生成するために使用される。
【0038】
第2の(または後続の)データフィールドセット294が存在する場合、データ視覚化アプリケーション222(またはウェブアプリケーション322)は、第2の(または後続の)データフィールドセット294についてデータソース106にクエリを行い(114)、次に、取得されたデータに対応する第2の(または後続の)データ視覚化124を生成する。このデータ視覚化124は、第2の(または後続の)データフィールドセット294からデータフィールド284を割り当てた視覚仕様104における視覚変数282に従って構造される。
【0039】
図1Bは、いくつかの実装形態による例示的なデータ視覚化のデスクトップバージョン132を示している。この例は、ビュー内のマークのセットの基礎となるデータソース内のすべての行の値を表示するためにユーザが使用できるビューデータコマンド134を示している。ビューデータコマンドはまた、ユーザがビュー内の集計に基づいて要約データを表示することも可能にする。いくつかの実装形態では、ビューデータコマンドにより、ユーザはマークに関連付けられた集計値を確認するか、または外れ値などの対象データに関連付けられた個々の行を分離およびエクスポートすることもできる。いくつかの実装形態はまた、ユーザが、マークの選択のために、データペインのフィールドのために、またはユーザがデータに接続しているときにデータを視認することも可能にする。いくつかの実装形態では、ビューデータコマンドはリレーショナルデータベースおよび多次元データベースと連携して機能する。いくつかの実装形態では、データベースでドリルスルーが有効になっている。いくつかの実装形態は、デスクトップバージョンのデータ視覚化ソフトウェアでの多次元データソースの表示をサポートしている。
【0040】
図1Bに示されている例示的なビューに戻ると、2つの製品ディメンション(カテゴリ136とサブカテゴリ138)の売上が棒グラフ140として示されている。ユーザが各ペイン内に最大のマークのデータを視認したいとする。いくつかの実装形態(例えば、デスクトップバージョン)では、ユーザはマークを選択し、ビューを右クリック(またはcontrolキーを押しながらクリック)して、コンテキストメニューの「ビューデータ」を選択する。または、ユーザが分析を選択してから、ビューデータメニュー項目を選択する。いくつかの実装形態(例えば、オンラインバージョンまたはサーバーバージョン)では、ユーザがマークを選択し、ツールチップメニューの「ビューデータ」をクリックする。
【0041】
図1Cは、いくつかの実装形態による図1Bのデータ視覚化に示されるフィールドの集計データの要約の例示的なビュー142を示している。示されている例では、要約されたデータが「要約」タブ141に示されている。いくつかの実装形態では、集計されたデータは、ビューに示されるフィールドの集計データのテキストテーブルとして提供される。
【0042】
図1Dは、いくつかの実装形態による図1Bのデータ視覚化における選択されたマークのデータの例示的なビュー144を示している。いくつかの実装形態では、選択されたマークのデータは、「完全なデータ」タブ143に表示される。いくつかの実装形態では、ダイアログボックスの右下に、基礎となるデータの行数145が示される。いくつかの実装形態では、データブレンディングを使用する場合、完全なデータタブには一次データソースからのデータのみが示される。
【0043】
図1Eは、いくつかの実装形態による図1Bの例示的なデータ視覚化のウェブバージョン146を示している。図1Fは、いくつかの実装形態による図1Eのデータ視覚化に示されるフィールドの集計データの要約の例示的なビュー148を示している。図1Gは、いくつかの実装形態による図1Eのデータ視覚化における選択されたマークのデータの例示的なビュー150を示している。
【0044】
図2は、データ視覚化アプリケーション222またはデータ視覚化ウェブアプリケーション322を実行してデータ視覚化122を表示することができるコンピューティングデバイス200を示すブロック図である。いくつかの実装形態では、コンピューティングデバイスは、データ視覚化アプリケーション222のためのグラフィカルユーザインターフェース102を表示する。コンピューティングデバイス200には、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、およびディスプレイと、データ視覚化アプリケーション222を実行できるプロセッサとを備えた他のコンピューティングデバイスが含まれる。コンピューティングデバイス200は、通常、メモリ214に格納されたモジュール、プログラム、および/または命令を実行し、それによって処理動作を実行するための1つ以上の処理ユニット/コア(CPU)202と、1つ以上のネットワークまたは他の通信インターフェース204と、メモリ214と、これらの構成要素を相互接続するための1つ以上の通信バス212と、を含む。通信バス212は、システム構成要素間の通信を相互接続および制御する回路網を含み得る。コンピューティングデバイス200は、ディスプレイ208および1つ以上の入力デバイスまたは機構210を含むユーザインターフェース206を含む。いくつかの実装形態では、入力デバイス/機構はキーボードを含む。いくつかの実装形態では、入力デバイス/機構は、ディスプレイ208に必要に応じて表示される「ソフト」キーボードを含み、ユーザがディスプレイ208に表示される「キーを押す」ことを可能にする。いくつかの実装形態では、ディスプレイ208および入力デバイス/機構210は、タッチスクリーンディスプレイ(タッチセンシティブディスプレイとも称される)を含む。いくつかの実装形態では、ディスプレイは、コンピューティングデバイス200の統合された部分である。いくつかの実装形態では、ディスプレイは別個のディスプレイデバイスである。
【0045】
いくつかの実装形態では、メモリ214は、DRAM、SRAM、DDR RAM、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリを含む。いくつかの実装形態では、メモリ214は、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、または他の不揮発性固体記憶デバイスなどの不揮発性メモリを含む。いくつかの実装形態では、メモリ214は、CPU202から遠隔に位置付けられている1つ以上の記憶デバイスを含む。メモリ214、または代替的にメモリ214内の不揮発性メモリデバイスは、非一時的コンピュータ可読記憶媒体を含む。いくつかの実装形態では、メモリ214、またはメモリ214のコンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらのサブセットを格納する:
・様々な基本的なシステムサービスを処理し、ハードウェアに依存するタスクを実施するための手順を含むオペレーティングシステム216。
・通信モジュール218。コンピューティングデバイス200を他のコンピュータおよびデバイスに接続するために使用され、これは1つ以上の通信ネットワークインターフェース204(有線または無線)および1つ以上の通信ネットワーク、例えばインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどのような通信ネットワークを介して行われる。
・ユーザがネットワークを用いて遠隔のコンピュータまたはデバイスと通信することを可能にするウェブブラウザ220(または他のクライアントアプリケーション)。
・ユーザが視覚グラフィックス(例えば、個々のデータ視覚化または複数の関連するデータ視覚化を備えたダッシュボード)を構造するためのグラフィカルユーザインターフェース102を提供するデータ視覚化アプリケーション222。いくつかの実装形態では、データ視覚化アプリケーション222は、スタンドアロンアプリケーション(例えば、デスクトップアプリケーション)として実行される。いくつかの実装形態では、データ視覚化アプリケーション222は、ウェブブラウザ220内で(例えば、ウェブアプリケーション322として)以下を実行する。
・以下の図4に示すように、ユーザが要素を視覚的に指定することによってデータ視覚化を構築することを可能にするグラフィカルユーザインターフェース102。
・いくつかの実装形態では、ユーザインターフェース102は、所望のデータ視覚化の特性を指定するために使用される複数のシェルフ領域250を含む。いくつかの実装形態では、シェルフ領域250は、列シェルフ230および行シェルフ232を含み、これらは、所望のデータ視覚化におけるデータの配置を指定するために使用される。一般に、列シェルフ230に配置されるフィールドは、データ視覚化における列を定義するために使用される(例えば、視覚マークのx座標)。同様に、行シェルフ232に配置されたフィールドは、データ視覚化における行を定義する(例えば、視覚マークのy座標)。いくつかの実装形態では、シェルフ領域250は、フィルタシェルフ262を含み、これにより、ユーザは、選択されたデータフィールドに従って表示されるデータを制限することが可能になる(例えば、特定のフィールドが特定の値を有するか、または特定の範囲内に値を有する行にデータを制限する)。いくつかの実装形態では、シェルフ領域250は、データマークの様々な符号化を指定するために使用されるマークシェルフ264を含む。いくつかの実装形態では、マークシェルフ264は、(データフィールドに基づいてデータマークの色を指定するための)色符号化アイコン270、(データフィールドに基づいてデータマークのサイズを指定するための)サイズ符号化アイコン272、(データマークに関連付けられたラベルを指定するための)テキスト符号化アイコン、および(データ視覚化の詳細レベルを指定または変更するための)ビューレベル詳細アイコン228を含む。
・所望のデータ視覚化の特性を定義するために使用される視覚的仕様104。いくつかの実装形態では、視覚仕様104は、ユーザインターフェース102を使用して構築される。視覚仕様は、識別されたデータソース280を含み(すなわち、データソースが何であるかを指定する)、これは、データソース106を見つけるのに十分な情報(例えば、データソース名またはネットワークフルパス名)を提供する。視覚仕様104はまた、視覚変数282、および視覚変数の各々に割り当てられたデータフィールド284も含む。いくつかの実装形態では、視覚仕様は、シェルフ領域250の各々に対応する視覚変数を有する。いくつかの実装形態では、視覚変数は、コンピューティングデバイス200に関するコンテキスト情報、ユーザ選好情報、またはシェルフ領域として実装されていない他のデータ視覚化機能(例えば、分析機能)などの他の情報を含む。
・データソース106の構造を識別する1つ以上のオブジェクトモデル108。オブジェクトモデルでは、データフィールド(属性)はクラスに編成され、各クラスにおける属性は互いに1対1で対応する。オブジェクトモデルには、クラス間の多対1関係も含まれる。場合によっては、オブジェクトモデルは、データベース内の各テーブルをクラスにマッピングし、クラス間の多対1関係は、テーブル間の外部キー関係に対応する。場合によっては、基礎となるソースのデータモデルが、この単純な方法でオブジェクトモデルにきれいにマッピングされないため、オブジェクトモデルには、生データを適切なクラスオブジェクトに変換する方法を指定する情報が含まれる。場合によっては、生データソースは単純なファイル(例えば、スプレッドシート)であり、複数のクラスに変換される。
・視覚仕様に従ってデータ視覚化を生成および表示するデータ視覚化ジェネレータ290。図1Aに示すように、選択されたデータフィールドは、1つ以上のデータフィールドセット294にグループ化される。いくつかの実装形態によれば、データ視覚化ジェネレータ290は、オブジェクトモデル108を使用して、クエリ298を生成し、かつ/またはクエリオプティマイザ296を使用してクエリを最適化する。クエリの生成と最適化の手法の詳細は、いくつかの実装形態によれば、図5A図11を参照して以下に説明されている。
・視覚仕様104およびデータソース106によって提供される情報以外の、データ視覚化アプリケーション222によって使用される情報を含む視覚化パラメータ236。
・データ視覚化アプリケーション222によって使用される、ゼロ個以上のデータベースまたはデータソース106(例えば、第1のデータソース106-1)。いくつかの実装形態では、データソースは、スプレッドシートファイル、CSVファイル、XMLファイル、フラットファイル、JSONファイル、リレーショナルデータベースのテーブル、クラウドデータベース、または統計データベースとして格納される。
【0046】
上述の識別された実行可能モジュール、アプリケーション、または手順のセットの各々は、前述のメモリデバイスのうちの1つ以上に格納され得、かつ上述の機能を実行するための命令のセットに対応する。上述の識別されたモジュールまたはプログラム(すなわち、命令のセット)は、別個のソフトウェアプログラム、手順、またはモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実装形態において組み合わされるか、または別様に再配置され得る。いくつかの実装形態では、メモリ214は、上述の識別されたモジュールおよびデータ構造のサブセットを格納する。いくつかの実装形態では、メモリ214は、上述されていない追加のモジュールまたはデータ構造を格納し得る。
【0047】
図2は、コンピューティングデバイス200を示しているが、図2は、本明細書で説明されている実装形態の構造的概略としてではなく、むしろ存在し得る様々な特徴の機能的説明としてより意図されている。実際には、当業者によって認識されるように、別々に示されたアイテムを組み合わせることができ、いくつかのアイテムを分離することができる。
【0048】
図3は、いくつかの実装形態によるデータ視覚化サーバ300のブロック図である。データ視覚化サーバ300は、1つ以上のデータベース328をホストすることができ、または様々な実行可能アプリケーションまたはモジュールを提供することができる。サーバ300は、通常、1つ以上の処理ユニット/コア(CPU)302、1つ以上のネットワークインターフェース304、メモリ314、およびこれらのコンポーネントを相互接続するための1つ以上の通信バス312を含む。いくつかの実装形態では、サーバ300は、ディスプレイ308と、キーボードおよびマウスなどの1つ以上の入力デバイス310とを含むユーザインターフェース306を含む。いくつかの実装形態では、通信バス312は、システムコンポーネント間の通信を相互接続および制御する回路(チップセットと呼ばれることもある)を含む。
【0049】
いくつかの実装形態では、メモリ314は、DRAM、SRAM、DDR RAM、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリを含み、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、または他の不揮発性固体記憶デバイスなどの不揮発性メモリを含んでもよい。いくつかの実装形態では、メモリ314は、CPU302から遠隔に位置付けられている1つ以上の記憶デバイスを含む。メモリ314、または代替的にメモリ314内の不揮発性メモリデバイスは、非一時的コンピュータ可読記憶媒体を含む。
【0050】
いくつかの実装形態では、メモリ314、またはメモリ314のコンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらのサブセットを格納する:
・様々な基本的なシステムサービスを処理し、ハードウェアに依存するタスクを実施するための手順を含むオペレーティングシステム316。
・1つ以上の通信ネットワークインターフェース304(有線または無線)およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどのような1つ以上の通信ネットワークを介して、サーバ300を他のコンピュータに接続するために使用されるネットワーク通信モジュール318。
・ユーザからのウェブ要求を受信し、応答ウェブページまたは他のリソースを提供することで応答する(HTTPサーバなどの)ウェブサーバ320。
・ユーザのコンピューティングデバイス200上のウェブブラウザ220によってダウンロードおよび実行され得るデータ視覚化ウェブアプリケーション322。一般に、データ視覚化ウェブアプリケーション322は、デスクトップデータ視覚化アプリケーション222と同じ機能を有するが、ネットワーク接続を備えたいずれかの場所のいずれかのデバイスからのアクセスの柔軟性を提供し、インストールおよびメンテナンスを必要としない。いくつかの実装形態では、データ視覚化ウェブアプリケーション322は、特定のタスクを実行するための様々なソフトウェアモジュールを含む。いくつかの実装形態では、ウェブアプリケーション322は、ウェブアプリケーション322のすべての態様に対してユーザインターフェースを提供するユーザインターフェースモジュール324を含む。いくつかの実装形態では、ユーザインターフェースモジュール324は、コンピューティングデバイス200について上述したように、シェルフ領域250を指定する。
・データ視覚化ウェブアプリケーションは、ユーザが所望のデータ視覚化の特性を選択するときに、視覚仕様104も格納する。視覚仕様104、およびそれらが格納するデータは、コンピューティングデバイス200について上述されている。
・コンピューティングデバイス200について上で説明したように、1つ以上のオブジェクトモデル108。
・ユーザが選択したデータソースおよびデータフィールド、ならびにデータソース106を記述する1つ以上のオブジェクトモデルに従ってデータ視覚化を生成および表示するデータ視覚化ジェネレータ290。データ視覚化ジェネレータの動作は、コンピューティングデバイス200に関連して上述した。
・いくつかの実装形態では、ウェブアプリケーション322は、データ検索モジュール326を含み、これは、クエリを構築および実行して、1つ以上のデータソース106からデータを検索する。データソース106は、サーバ300上に局所的に格納され得るか、または外部データベースに格納され得る。いくつかの実装形態では、2つ以上のデータソースからのデータがブレンドされる場合がある。いくつかの実装形態では、データ検取得モジュール326は、図2のコンピューティングデバイス200について上で説明したように、視覚仕様104を使用してクエリを構築する。
・いくつかの実装形態では、メモリ314は、コンピューティングデバイス200について上述したように、視覚化パラメータ236を格納する。
・データ視覚化ウェブアプリケーション322またはデータ視覚化アプリケーション222によって使用または作成されたデータを格納する1つ以上のデータベース328。データベース328は、生成されたデータ視覚化で使用されるデータを提供するデータソース106を格納することができる。各データソース106は、1つ以上のデータフィールド330を含む。いくつかの実装形態では、データベース328は、ユーザ選好を格納する。いくつかの実装形態では、データベース328は、データ視覚化履歴ログ334を含む。いくつかの実装形態では、履歴ログ334は、データ視覚化ウェブアプリケーション322がデータ視覚化をレンダリングするたびに追跡する。
【0051】
データベース328は、多くの異なるフォーマットでデータを格納することができ、一般に、それぞれが複数のデータフィールド330を有する多くの別個のテーブルを含む。いくつかのデータソースは、単一のテーブルを含む。データフィールド330は、データソースからの生フィールド(例えば、データベーステーブルからの列またはスプレッドシートからの列)と、1つ以上の他のフィールドから計算または構造され得る派生データフィールドの両方とを含む。例えば、派生データフィールドには、日付フィールドからの月または四半期の計算、2つの日付フィールド間の期間の計算、定量フィールドの累積合計の計算、成長率の計算などが含まれる。場合によっては、派生データフィールドは、データベース内のストアドプロシージャまたはビューによってアクセスされる。いくつかの実装形態では、派生データフィールド330の定義は、データソース106とは別々に格納される。いくつかの実装形態では、データベース328は、各ユーザのユーザ選好のセットを格納する。ユーザ選好は、データ視覚化ウェブアプリケーション322(またはアプリケーション222)がデータフィールドのセット330を表示する方法について推奨を行うときに使用することができる。いくつかの実装形態では、データベース328は、生成された各データ視覚化に関する情報を格納するデータ視覚化履歴ログ334を格納する。いくつかの実装形態では、データベース328は、データ視覚化アプリケーション222またはデータ視覚化ウェブアプリケーション322によって使用される他の情報を含む、他の情報を格納する。データベース328は、データ視覚化サーバ300から分離していてもよく、またはデータ視覚化サーバ(またはその両方)とともに含まれていてもよい。
【0052】
いくつかの実装形態では、データ視覚化履歴ログ334は、ユーザによって選択された視覚仕様104を格納し、これは、ユーザ識別子、データ視覚化が作成されたときのタイムスタンプ、データ視覚化で使用されるデータフィールドのリスト、データの視覚化のタイプ(「ビュータイプ」または「チャートタイプ」と呼ばれることもある)タイプ、データ符号化(例えば、マークの色とサイズ)、選択したデータの関係、および使用するコネクタを含み得る。いくつかの実装形態では、各データ視覚化の1つ以上のサムネイル画像も格納される。いくつかの実装形態は、データソースの名前と場所、データ視覚化に含まれていたデータソースの行数、データ視覚化ソフトウェアのバージョンなど、作成されたデータ視覚化に関する追加情報を格納する。
【0053】
上述の識別された実行可能モジュール、アプリケーション、または手順のセットの各々は、前述のメモリデバイスのうちの1つ以上に格納され得、かつ上述の機能を実行するための命令のセットに対応する。上述の識別されたモジュールまたはプログラム(すなわち、命令のセット)は、別個のソフトウェアプログラム、手順、またはモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実装形態において組み合わされるか、または別様に再配置され得る。いくつかの実装形態では、メモリ314は、上述の識別されたモジュールおよびデータ構造のサブセットを格納する。いくつかの実装形態では、メモリ314は、上述されていない追加のモジュールまたはデータ構造を格納し得る。
【0054】
図3は、データ視覚化サーバ300を示しているが、図3は、本明細書で説明されている実装形態の構造的概略としてではなく、むしろ存在し得る様々な特徴の機能的説明としてより意図されている。実際には、当業者によって認識されるように、別々に示されたアイテムを組み合わせることができ、いくつかのアイテムを分離することができる。加えて、サーバ300に関連して上に示したプログラム、機能、手順、またはデータのいくつかは、コンピューティングデバイス200上に格納または実行され得る。いくつかの実装形態では、機能および/またはデータは、コンピューティングデバイス200と1つ以上のサーバ300との間で割り当てられ得る。さらに、当業者は、図3が単一の物理デバイスを表す必要がないことを認識している。いくつかの実装形態では、サーバ機能は、サーバシステムを備える複数の物理デバイスに割り当てられる。本明細書で使用される場合、「サーバ」または「データ視覚化サーバ」への言及は、説明された機能を提供するサーバの様々なグループ、集まり、または配列を含み、物理サーバは物理的に併置される必要はない(例えば、個々の物理デバイスは米国全体または世界中に広がり得る)。
【0055】
図4A~4G、図5A~5D、図6、および図7A~7Iは、いくつかの実装形態による、オブジェクトモデルを使用してデータ視覚化を生成するためのユーザインターフェースのスクリーンショットである。
【0056】
図4Aは、いくつかの実装形態によるデータ視覚化ユーザインターフェース102を示している。いくつかの実装形態では、ユーザインターフェース102は、データペインとも呼ばれるスキーマ情報領域を含む。スキーマ情報領域は、データ視覚化を構築するために選択および使用され得る名前付きデータ要素(例えば、フィールド名)を提供する。いくつかの実装形態では、フィールド名のリストは、ディメンションのグループとメジャーのグループ(通常は数量)に分けられる。いくつかの実装形態には、パラメータのリストも含まれる。グラフィカルユーザインターフェース102はまた、データ視覚化領域412も含む。データ視覚化領域412は、列シェルフ領域230および行シェルフ領域232などの複数のシェルフ領域を含む。これらは、列シェルフ230および行シェルフ232とも呼ばれる。加えて、このユーザインターフェース102は、1つ以上のフィルタ424を含み得るフィルタシェルフ262を含む。
【0057】
本明細書に示すように、データ視覚化領域412はまた、視覚グラフィックを表示するための大きなスペースも有する。図4Aでは、表示された視覚的グラフィック428は散布図である。
【0058】
ユーザは、1つ以上のデータソース106(コンピューティングデバイス200に格納され得るか、または遠隔で格納され得る)を選択し、データソースからデータフィールドを選択し、選択されたフィールドを使用して視覚グラフィックを定義する。データ視覚化アプリケーション222(またはウェブアプリケーション322)は、生成されたグラフィック428をデータ視覚化領域412に表示する。いくつかの実装形態では、ユーザが提供する情報は、視覚仕様104として格納される。
【0059】
いくつかの実装形態では、データ視覚化領域412は、マークシェルフ264を含む。マークシェルフ264は、ユーザがデータマークの様々な符号化426を指定することを可能にする。いくつかの実装形態では、マークシェルフは、1つ以上のアイコン(例えば、データ視覚化の詳細レベルを指定または変更するために使用することができる、色符号化アイコン270、サイズ符号化アイコン、テキスト符号化アイコン、および/またはビューレベル詳細アイコン228)を含む。
【0060】
いくつかの実装形態では、データ視覚化プラットフォームにより、ユーザは1つ以上の論理テーブルを使用してドラッグアンドドロップアクションを通じて視覚化を構築できる。ユーザは、ピボット、結合、および統合を含むことができる物理モデリングを介して論理テーブルを構築する。物理モデリングを通じて結合されたテーブルは、論理テーブル自体を表す。いくつかのデータ視覚化プラットフォームでは、クエリ生成モデルが、ユーザアクションを基礎となるクエリに自動的にマッピングする。いくつかの実装形態では、アナリストがデータセットのオブジェクトモデルを作成する。
【0061】
オブジェクトモデルを使用すると、視覚化の基礎となるデータを2つ以上の論理テーブルから取得できる。メジャーは、異なる詳細レベルで集計される。本明細書に開示されているユーザインターフェースは、メジャーがオブジェクトモデルでどのように集計されるかをユーザが理解するのに役立つ。いくつかの実装形態は、すべてのフィールドの詳細を有する単一のテーブルを表示するのではなく、各メジャーの基礎となるデータを示す。
【0062】
図4Aは、いくつかの実装形態による、ユーザがデータ視覚化428のために「ビューデータ」を選択した後のユーザインターフェース102のスクリーンショットを示している。いくつかの実装形態では、図4Aに示すようにポップアップウィンドウ436が開く。ポップウィンドウ436は、ロイヤルティ報酬ポイント432および単価434を含む、データソース内のすべてのフィールドを含む分解されたクエリの結果を示す。いくつかの実装形態は、視覚化を通じてこの詳細レベルが使用されていない場合でも、「ビューデータ」に完全に結合された詳細レベルを示す。2つの異なるオブジェクトからのメジャー(製品テーブルのAVG(単価)および顧客テーブルのAVG(ロイヤルティ報酬ポイント))が表示される。この例は、ロイヤルティ報酬ポイント432のレプリケーション430を示している。すべての値(複製された値を含む)の平均は、要約タブ(図示せず)に誤った値をもたらす。ユーザにとって、値が複製されているのか、または値が実際に同一であるのかは明確ではない言い換えれば、視覚化428がこの複製を反映していなくても、ビューは複製されたデータを示す。視覚化は正しいが、「ビューデータ」はユーザが集計を理解するのに役立たない。
【0063】
図4Bは、いくつかの実装形態による、ユーザがデータ視覚化428のために「ビューデータ」を選択した後のユーザインターフェース102のスクリーンショットを示している。図4Aとは対照的に、ディスプレイには、互いに独立したメジャー(製品テーブルのAVG(単価)および顧客テーブルのAVG(ロイヤルティ報酬ポイント))が表示される。示されている例では、各メジャーは、ポップアップウィンドウ436のそれぞれのタブ(例えば、タブ438および440)に表示されている。各メジャーは異なる詳細レベルを有することができるため、メジャーを別々のタブに示すと、必要に応じて各メジャーを異なる詳細レベルで示すことができる。言い換えれば、各メジャーは独立して集計される。
【0064】
図4Cは、いくつかの実装形態によるユーザインターフェース102の別のスクリーンショットを示している。この例では、ノースダコタ州の2人の顧客が注文した。タブ438は、2人の顧客が獲得したロイヤルティ報酬ポイント(列442で示されている)に対応している。コンピュータは、いくつかの実装形態に従って、各メジャーに対応するテーブル(タブ438および440にそれぞれ対応する)を表示する。図4Dは、いくつかの実装形態によるユーザインターフェース102の別のスクリーンショットを示している。この例では、ノースダコタ州で7つの製品が販売された。タブ440は、7つの製品の単価(列444で示されている)に対応している。いくつかの実装形態では、対応するテーブルが各メジャーに対して表示される(それぞれタブ438および440に対応する)。いくつかの実装形態では、各メジャーは、異なる詳細レベルを有し得る。例では、752.0のAVG(ロイヤルティ報酬ポイント)に対して顧客テーブルから平均化された2行があり、36.0のAVG(単価)に対して製品テーブルから平均化された7行があることが示されている。
【0065】
図4Eは、いくつかの実装形態によるユーザインターフェース102の別のスクリーンショットを示している。いくつかの実装形態は、各メジャーにコンテキスト関連の情報(例えば、列446)を提供する。いくつかの実装形態は、参照されたディメンションを視覚化に含め、視覚仕様内のそれらの位置によってディメンションを並べ替える(448)。したがって、いくつかの実装形態は、各メジャーに適切に分解された詳細レベルを提供する。
【0066】
図4Fは、いくつかの実装形態によるユーザインターフェース102の別のスクリーンショットを示している。いくつかの実装形態は、各メジャーの参照列のみを示す。例えば、図4Fでは、メジャー438に対応するテーブルは、すべてのフィールドを示すオプション454がチェックされていない場合、州(複数可)450およびロイヤルティ報酬ポイント452のみを示している。いくつかの実装形態は、エイリアスを示すためのオプション456を提供する。図4Gは、いくつかの実装形態によるユーザインターフェース102の別のスクリーンショットを示している。いくつかの実装形態は、各メジャーのすべての列を示している。例えば、図4Fでは、メジャー438に対応するテーブルは、すべてのフィールドを示すオプション454がチェックされていない場合、州(複数可)450、ロイヤルティ報酬ポイント452、および他の列458を示している。この例では、ユーザは2人の顧客がいることを確認できる。
【0067】
したがって、様々な実装形態では、図4B~4Fに示されているユーザインターフェースは、各メジャーの基礎となるデータを示すのに有利である。いくつかの実装形態は、各メジャーに対してタブを示し、それによって各メジャーが他のメジャーから独立した詳細レベルでどのように集計されるかを示す。いくつかの実装形態は、完全に結合されたデータソースからのデータを示すときに通常発生する、データの複製または誤った詳細レベルを示すことを回避する。
【0068】
図5A~5Dは、いくつかの実装形態による、(データ視覚化502の)メジャーが同じテーブルに由来場合のシナリオのユーザインターフェース102のスクリーンショットを示している。データ視覚化502は、利益対売上の散布図である。ビューデータウィンドウ436の要約タブ504が示すように、利益および売上は同じテーブルラインアイテムからのものである。図5Bおよび5Cでは、利益タブ506と売上タブ510はそれぞれ同じテーブルを示している。いくつかの実装形態では、メジャーに対応するそれぞれの列(図5Bの列508および図5Cの列512など、参照列と呼ばれることもある)が強調表示される。これらの例では、各メジャーは同じ詳細レベルを有するが、2つのタブが同じデータで示されている。いくつかの実装形態は、同じテーブルを示して、メジャーが同じテーブルに由来することをユーザに知らせる。いくつかの実装形態は、同じテーブルのすべてのメジャーを1つのタブに折り畳み、かつ/またはテーブル名でラベルを付けする。いくつかの実装形態は、他のオブジェクトからの視覚化からの再生にディメンションを含む。このように、いくつかの実装形態は、冗長な情報を削除する。図5Dに示すように、いくつかの実装形態は、メジャーがオブジェクトタブに折り畳まれる。いくつかの実装形態はまた、参照されたディメンションも示し、その結果、オブジェクトごとにデータを表示するときにディメンションを表示する。図5Dでは、同一の売上タブおよび利益タブではなく、単一のラインアイテムタブ514が、このオブジェクトおよびテーブルの他の列から参照されるディメンション(例えば、他のオブジェクトから参照されるディメンション)とともに表示される。いくつかの実装形態では、オブジェクトに属さない計算が別のタブに表示される。いくつかの実装形態は、タブをオブジェクトタブに折り畳んでディメンションを保持し、それらの独自のタブに計算を示す。
【0069】
図6は、いくつかの実装形態による、単一オブジェクトデータソースのユーザインターフェース102のスクリーンショットを示している。いくつかの実装形態では、「ビューデータ」ウィンドウ436の「完全なデータ」タブ602は、データ視覚化604に対して同様の機能(図5A~5Dを参照して上で説明した)を提供する。
【0070】
図7A~7Iは、いくつかの実装形態による、計算のためのユーザインターフェース102のスクリーンショットを示している。図7A~7Cに示される例では、データ視覚化702は、異なる製品に対するSUM(売上-利益)についての棒グラフである。図示するように、参照される計算は、別個のタブ704に示される(図5A~5Dを参照して上で説明されたように、メジャーが別個のタブに表示される方法と同様)。いくつかの実装形態では、計算式で参照されるメジャーは、ユーザにより良いコンテキストを提供するために表示される。いくつかの実装形態はまた、ユーザが行レベルの計算を検証することも可能にする。図7Bに示すように、いくつかの実装形態によれば、計算によって参照されるフィールドが表示される(例えば、すべてのフィールドを示すがユーザによってオフになっている場合でも)。いくつかの実装形態では、図7Cに示すように、ユーザがすべてのフィールドを示すをオンにすると、計算のテーブルのすべてのフィールドが示される。
【0071】
図7D~7Fは、いくつかの実装形態による、マルチオブジェクト行レベル計算のためのユーザインターフェース102のスクリーンショットを示している。視覚化706は、異なる詳細レベルにある異なるテーブルからの列を使用する行レベルの計算に対応している。いくつかの実装形態は、ユーザが行レベルの計算を検証することを可能にする。計算[利益]-[単価]は異なるテーブルを使用し、各々異なる詳細レベルを有するため、いくつかの実装形態は追加の列を追加しない。図7Dの例は、(タブ708に)複製された単価を示している(一方で利益は複製されていない)。ユーザは、[利益]-[単価]行の平均が要約結果と等しいことを確認することができる。いくつかの実装形態は、[単価が実際に複製されているかどうかを示す。図7Eおよび7Fに示すように、いくつかの実装形態は、参照される計算によって使用される各メジャーのタブ(例えば、タブ710および712)を表示する。いくつかの実装形態はまた、メジャーのテーブルのフィールドのコンテキスト情報も表示する。このようにして、各メジャーの様々な詳細レベルを表示できる。例えば、[単価]および[利益]は、いくつかの実装形態に応じて、図7Eおよび7Fに様々な詳細レベルで示されている。
【0072】
図7G~7Iは、いくつかの実装形態による集計計算のためのユーザインターフェース102のスクリーンショットを示している。視覚化706(棒グラフ)は、集計計算SUM([売上])/SUM([単価])に対応している。いくつかの視覚化プラットフォームは、行レベルの計算などの集計計算を意味する分解されたデータを誤って示しており、その例が図7Hに示されている。表示は、売上が各行(例えば、行714)の単価で除算されていることを誤って示している。いくつかの実装形態では、図7Gに示すように、各メジャーが個別に集計された後、SUM(売上])がSUM([単価])で除算される。いくつかの実装形態は、計算タブのデータ視覚化の基礎となるデータの集計ビューを示す。例えば、いくつかの実装形態では、売上の合計と単価の合計が集計計算とともに単一の行に表示される。いくつかの実装形態では、これは要約タブに表示されるものと似ているが、SUM(売上)とSUM(単価)がある。いくつかの実装形態では、図7Iに示すように、上述の他のマルチオブジェクトシナリオと同様に、計算からのメジャーが独自のタブに表示され、その結果、様々なレベルの詳細を表示できる。例えば、図7Iでは、売上と単価が別々のタブ716および718に表示されている。したがって、計算から参照される各メジャーに対して、様々なレベルの詳細を表示できる。
【0073】
いくつかの実装形態では、詳細レベル(LOD)の計算が個別のタブに表示される。LODの計算は、視覚化および/または基礎となるデータソースとは異なる詳細レベルで行うことができる。包含および除外LOD計算は、視覚化LODとディメンションを共有するが、例えば、Fixed LOD計算は、視覚化と共通の任意のディメンションを有しない場合がある。いくつかの実装形態では、ディメンションが単一のオブジェクトに由来するFixed LOD計算がそのオブジェクトに割り当てられる。例えば、Fixed LOD計算がそのテーブルタブに追加される。いくつかの実装形態では、他のすべてのタイプのLOD計算は、特定のテーブルに属していないため、別々のタブに示される。いくつかの実装形態は、すべてのタイプのLOD計算を別々のタブに示す(例えば、ディメンションが単一のオブジェクトからのFixed LOD計算でさえ、別々のタブに表示される)。
【0074】
いくつかの実装形態は、最小共通祖先(LCA)オブジェクトを決定し、そのオブジェクトのタブの下に計算を示すことによって、マルチオブジェクトLOD計算を示す。例えば、{FIXED[ラインアイテムID]、[州]:SUM([売上])}は、スキーマビューアのラインアイテムテーブルの一部として示されるが、「ビューデータ」ウィンドウのラインアイテムタブの一部としては表示されない。
【0075】
図8A~8Dは、いくつかの実装形態による、上述の手法に従ってオブジェクトモデルを使用してデータ視覚化を生成する(802)ための方法800のフローチャートを提供する。この方法800は、1つ以上のプロセッサおよびメモリを有するコンピューティングデバイス200において実行される(804)。メモリは、1つ以上のプロセッサによる実行のために構成されている1つ以上のプログラムを格納する(806)。
【0076】
いくつかの実装形態では、コンピュータは、複数のデータソースを(例えば、接続領域に)表示する。各データソースは、それぞれ1つ以上のテーブルに関連付けられている。
【0077】
コンピュータは、データソースのユーザ選択(例えば、複数のデータソースのうちの1つの選択)を受信する(808)。応答として、コンピュータは、データ視覚化をデータ視覚化ユーザインターフェース内に、ユーザインターフェースのシェルフ内の、データソースからのデータフィールドの配置に従って表示する(810)。データ視覚化は、データソースからのデータを表す複数の視覚データマークを含む。コンピュータは、視覚データマークのサブセットを選択するための第1のユーザ入力を検出する(812)。
【0078】
次に図8Bを参照すると、第1のユーザ入力の検出に応答して、コンピュータは、視覚データマークの選択されたサブセットの要約を含むビューデータウィンドウを表示する(816)。いくつかの実装形態では、第1のユーザ入力の検出に応答して、コンピュータは、視覚データマークの選択されたサブセットを視覚的に強調表示する(818)。いくつかの実装形態では、コンピュータは、ビューデータウィンドウをサイドパネルまたはポップアップウィンドウとして表示する(820)。
【0079】
コンピュータはまた、データソースを論理テーブルのツリーとして符号化するデータモデルも取得する(822)。各論理テーブルは、その独自の物理表現を有し、それぞれの1つ以上の論理フィールドを含む。各論理フィールドは、1つ以上の論理テーブルにまたがるデータフィールドまたは計算のいずれかに対応する。ツリーの各エッジは、関連する2つの論理テーブルを接続し、各データフィールドはメジャーまたはディメンションのいずれかである。コンピュータはまた、データモデルに基づいて、視覚データマークの選択されたサブセットに対応するメジャーである1つ以上の集計メジャーも決定する(824)。各集計メジャーは、データモデルの複数の論理テーブルから集計される。コンピュータは、ビューデータウィンドウに1つ以上の集計メジャーの各集計メジャーを表示する(826)。いくつかの実装形態では、各集計メジャーは、ビューデータウィンドウのタブとして表示される(828)。
【0080】
次に図8Cを参照すると、いくつかの実装形態では、コンピュータはまた、その分解された詳細レベルに従って、各集計メジャーも表示する(830)。いくつかの実装形態では、コンピュータはまた、データ視覚化の1つ以上の集計メジャー内で参照される1つ以上のディメンションも表示する(832)。いくつかの実装形態では、コンピュータは、視覚仕様に従って1つ以上のディメンションを並べ替える(834)。
【0081】
次に図8Dを参照すると、いくつかの実装形態では、コンピュータはまた、それぞれの集計メジャーのデータフィールドを表示するための第2のユーザ入力も検出する(836)。第2のユーザ入力の検出に応答して、コンピュータは、それぞれの集計メジャーのデータフィールドを表示する(838)。
【0082】
次に図8Eを参照すると、いくつかの実装形態では、複数の集計メジャーが同じ論理テーブルのセットから集計されるという決定に従って、コンピュータは、複数の集計メジャーの単一のインスタンスをビューデータウィンドウ内に表示する(840)。
【0083】
次に図8Fを参照すると、いくつかの実装形態では、複数の集計メジャーが第1の論理テーブルから集計されるという決定に従って、コンピュータは、ビューデータウィンドウ内で、少なくとも(i)複数の集計メジャーの表示を停止する動作、および(ii)第1の論理テーブルを表示する(842)動作を実施する。
【0084】
次に図8Gを参照すると、いくつかの実装形態では、いくつかの実装形態では、コンピュータは、視覚データマークの選択されたサブセット内で参照されるディメンションおよび計算を、ビューデータウィンドウに表示する(844)。いくつかの実装形態では、コンピュータはまた、視覚データマークの選択されたサブセットで参照される各計算に対して、1つ以上のメジャーをビューデータウィンドウ内に表示する(846)。
【0085】
次に図8Hを参照すると、いくつかの実装形態では、コンピュータは、視覚データマークの選択されたサブセット内で参照される1つ以上の詳細レベルの計算を、ビューデータウィンドウ内に表示する(848)。いくつかの実装形態では、コンピュータは、Fixed計算タイプを有し、かつ単一の論理テーブルを使用して単一の論理テーブルに由来するディメンションを有する詳細レベルの計算を表示する(850)。いくつかの実装形態では、コンピュータは、Fixed以外の計算タイプを有する詳細レベルの計算を別々に表示する(852)。いくつかの実装形態では、2つ以上の論理テーブルを参照する各詳細レベルの計算は、対応する最小共通祖先(LCA)論理テーブルを使用して表示される(854)。
【0086】
次に図8Iを参照すると、いくつかの実装形態では、コンピュータディスプレイ(856)は、ビューデータウィンドウ内に、各集計メジャーを識別するためのそれぞれのラベルまたは名前を表示する。
【0087】
本明細書で本発明の説明に使用される専門用語は、特定の実装形態を説明することのみを目的としており、本発明を限定することを意図するものではない。本発明の説明および添付の特許請求の範囲で使用される場合、単数形「a」、「an」、および「the」は、特に文脈が明示しない限り、複数形も含むことが意図される。本明細書で使用される「および/または」という用語は、1つ以上の関連するリストされたアイテムのありとあらゆる可能な組み合わせを指し、それらを包含することも理解されよう。本明細書で使用される場合、「含む」および/または「含んでいる」という用語は、述べられた特徴、ステップ、動作、要素、および/または構成要素の存在を指定するが、1つもしくは複数の他の特徴、ステップ、動作、要素、構成要素、および/またはそれらの群の存在または追加を排除しないことがさらに理解されよう。
【0088】
前述の記載は、説明の目的で、特定の実装形態を参照して記載されてきた。しかしながら、上記の例示的な論議は、網羅的であること、または本発明を開示された正確な形態に限定することを意図していない。上記の教示を考慮して、多くの修正および変形が可能である。実装形態は、本発明の原理およびその実際の応用を最もよく解説するために選択および記載され、それにより、当業者は、本発明および企図される特定の用途に好適な様々な修正を伴う様々な実装形態を最大限に利用することができる。
図1A
図1B
図1C
図1D
図1E
図1F
図1G
図2
図3
図4A
図4B
図4C
図4D
図4E
図4F
図4G
図5A
図5B
図5C
図5D
図6
図7A
図7B
図7C
図7D
図7E
図7F
図7G
図7H
図7I
図8A
図8B
図8C
図8D
図8E
図8F
図8G
図8H
図8I