JP7535171B2 - Method and user interface for generating level of detail calculations for data visualization - Patent Application 20070123633 - Google Patents
Method and user interface for generating level of detail calculations for data visualization - Patent Application 20070123633 Download PDFInfo
- Publication number
- JP7535171B2 JP7535171B2 JP2023506339A JP2023506339A JP7535171B2 JP 7535171 B2 JP7535171 B2 JP 7535171B2 JP 2023506339 A JP2023506339 A JP 2023506339A JP 2023506339 A JP2023506339 A JP 2023506339A JP 7535171 B2 JP7535171 B2 JP 7535171B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- data field
- visualization
- measure
- shelf
- 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.)
- Active
Links
- 238000013079 data visualisation Methods 0.000 title claims description 103
- 238000004364 calculation method Methods 0.000 title claims description 97
- 238000000034 method Methods 0.000 title claims description 57
- 230000002776 aggregation Effects 0.000 claims description 22
- 238000004220 aggregation Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 19
- 230000004913 activation Effects 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 230000000007 visual effect Effects 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 8
- 238000012800 visualization Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 238000003058 natural language processing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000006187 pill Substances 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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/24—Querying
- G06F16/242—Query formulation
- G06F16/2423—Interactive query statement specification based on a database schema
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
Description
関連出願
[0001] 本出願は、その全体をそれぞれ参照により援用する2020年10月5日申請の米国仮特許出願第63/087,862号:題名“Methods and User Interfaces for Generating Level of Detail Calculations for Data Visualizations”への優先権を主張する2020年11月11日申請の米国特許出願第17/095,696号:題名“Methods and User Interfaces for Generating Level of Detail Calculations for Data Visualizations”の継続出願である。
Related Applications
[0001] This application is a continuation of U.S. patent application Ser. No. 17/095,696, entitled "Methods and User Interfaces for Generating Level of Detail Calculations for Data Visualizations," filed on November 11, 2020, which claims priority to U.S. Provisional Patent Application Ser. No. 63/087,862, entitled "Methods and User Interfaces for Generating Level of Detail Calculations for Data Visualizations," filed on October 5, 2020, each of which is incorporated by reference in its entirety.
[0002] 本出願は、その全体をそれぞれ参照により本明細書に援用する2019年11月11日申請の米国仮特許出願第62/933,940号:題名“Methods and User Interfaces for Determining Level of Detail for Data Visualizations”及び2018年10月21日申請の米国特許出願第16/166,125号:題名“Determining Levels of Detail for Data Visualizations Using Natural Language Constructs”に関係する。 [0002] This application is related to U.S. Provisional Patent Application No. 62/933,940, entitled "Methods and User Interfaces for Determining Level of Detail for Data Visualizations," filed November 11, 2019, and U.S. Provisional Patent Application No. 16/166,125, entitled "Determining Levels of Detail for Data Visualizations Using Natural Language Constructs," filed October 21, 2018, each of which is incorporated herein by reference in its entirety.
技術分野
[0003] 開示される実装形態は、一般的にはデータ可視化に関し、そして具体的には、ユーザがドラッグアンドドロップ(drag-and-drop)操作を使用することによりデータ可視化と相互作用し、そしてデータを分析することを可能にするシステム、方法及びユーザインターフェースに関する。
Technical Field
[0003] The disclosed implementations relate generally to data visualization, and specifically to systems, methods, and user interfaces that enable users to interact with data visualizations and analyze data by using drag-and-drop operations.
背景
[0004] データ可視化アプリケーションは、ユーザがデータセットを視覚的に理解することを可能にする。分布、傾向、外れ値及び他の要因を含むデータセットの視覚的分析は経営判断を行うために重要である。いくつかのデータセットは非常に大きい又は複雑であり、多くのデータフィールドを含む。視覚的分析タスクに役立つ複数のデータ可視化及び自然言語インターフェースを有するダッシュボードを含む様々なツールがデータを理解及び分析するのを助けるために使用され得る。特に、詳細度(Level of Detail,LOD)表現は、様々なレベルにおいてデータを集約するための強力なツールである。
background
[0004] Data visualization applications allow users to visually understand a data set. Visual analysis of a data set, including distributions, trends, outliers, and other factors, is important for making business decisions. Some data sets are very large or complex and contain many data fields. Various tools can be used to help understand and analyze the data, including dashboards with multiple data visualizations and natural language interfaces that aid in visual analysis tasks. In particular, Level of Detail (LOD) representations are a powerful tool for aggregating data at various levels.
概要
[0005] 視覚的分析システムとの相互作用を支援する改善されたシステム及び方法の必要性がある。本開示は、視覚的分析システム(例えばデータ可視化アプリケーション)に対して実行され得る正式なクエリに対するユーザインターフェース上のユーザ入力を解決する方法を説明する。本方法はさらに、単一データ可視化における複数の集約レベルをサポートする。したがって、本方法及びユーザインターフェースは、ユーザに対する認識負荷を低減し、そしてより効率的なヒューマンマシンインターフェースを生成する。
overview
[0005] There is a need for improved systems and methods to support interaction with visual analytics systems. This disclosure describes a method for resolving user input on a user interface to formal queries that may be executed against a visual analytics system (e.g., a data visualization application). The method further supports multiple aggregation levels in a single data visualization. Thus, the method and user interface reduce the cognitive load on the user and create a more efficient human-machine interface.
[0006] 詳細度(Level of Detail)表現(LOD表現としても知られる)は、ユーザがデータソースレベル及び可視化レベルにおいて値を計算することを可能にする。LOD表現は、計算のための粒度のレベルに関する制御を提供し得る。例えば、LOD表現は、粒度をより細かなレベルにて(INCLUDE)、粒度をより大きなレベルにして(EXCLUDE)、又は完全な個別にして(FIXED)実行され得る。いくつかの実装形態は、ユーザが直観的グラフィックユーザインターフェースを介しこのようなLOD表現を規定又は生成、及び/又は修正することを可能にする。 [0006] Level of Detail representations (also known as LOD representations) allow users to calculate values at the data source level and the visualization level. LOD representations may provide control over the level of granularity for the calculations. For example, LOD representations may be performed at a finer level of granularity (INCLUDE), at a greater level of granularity (EXCLUDE), or completely separate (FIXED). Some implementations allow users to define or create and/or modify such LOD representations via an intuitive graphic user interface.
[0007] いくつかの実装形態によると、データ可視化のための詳細度計算を生成する方法が提供される。本方法は、ディスプレイ、1つ又は複数のプロセッサ、及び1つ又は複数のプロセッサによる実行のために構成された1つ又は複数のプログラムを格納するメモリを有するコンピューティングデバイスにおいて行われる。本方法は、データソースのユーザ選択を受信することを含む。本方法はまた、データ可視化インターフェースを表示することを含み、データ可視化インターフェースは:データ可視化領域;複数のシェルフを有するシェルフ領域であって、各シェルフは各シェルフ上へのデータフィールドの配置に基づきデータ可視化のそれぞれの特徴を定義する、シェルフ領域;及び複数のデータオブジェクトを表示するスキーマ情報領域であって、各データオブジェクトは1つ又は複数の選択可能データフィールドを有し、そして各データフィールドは次元又は測度として指定される、スキーマ情報領域を含む。本方法はまた、スキーマ情報領域から測度データフィールド及び次元データフィールドを選択するためにユーザ入力を受信することを含む。本方法はまた、ユーザ入力に応答して:次元データフィールドの別個の(distinct)データ値によりグループ分けされた測度データフィールドのデータを集約するカスタム計算を生成すること;及びカスタム計算を次元データフィールドに対応するデータオブジェクトに関連付けられた新しい選択可能データフィールドとして格納することを含む。本方法はまた、新しい選択可能データフィールドのユーザ選択とシェルフ領域内の第1のシェルフ上への新しい選択可能データフィールドの配置とを受信することであって、第1のシェルフは第1のデータ可視化特徴を定義する、受信すること;及びデータ可視化領域内にデータ可視化を生成し表示することであって、データ可視化の特徴的な第1のデータ可視化はカスタム計算のデータ値に従って判断される、生成し表示することを含む。 [0007] According to some implementations, a method for generating a level of detail calculation for a data visualization is provided. The method is performed in a computing device having a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors. The method includes receiving a user selection of a data source. The method also includes displaying a data visualization interface, the data visualization interface including: a data visualization area; a shelf area having a plurality of shelves, each shelf defining a respective characteristic of the data visualization based on an arrangement of data fields on each shelf; and a schema information area displaying a plurality of data objects, each data object having one or more selectable data fields, and each data field designated as a dimension or a measure. The method also includes receiving user input to select a measure data field and a dimension data field from the schema information area. The method also includes, in response to user input: generating a custom calculation that aggregates data of the measure data fields grouped by distinct data values of the dimension data fields; and storing the custom calculation as a new selectable data field associated with the data object corresponding to the dimension data field. The method also includes receiving a user selection of the new selectable data field and placement of the new selectable data field on a first shelf in the shelf area, the first shelf defining a first data visualization characteristic; and generating and displaying a data visualization in the data visualization area, the first data visualization characteristic of the data visualization being determined according to the data values of the custom calculation.
[0008] いくつかの実装形態では、ユーザ入力は、測度データフィールドをドラッグすることと、測度データフィールドを次元データフィールドの上にドロップすることとを含むドラッグアンドドロップ操作である。いくつかの実装形態では、次元データフィールドは次元データフィールドに対応するデータオブジェクトのプライマリキー又は代替キーである。いくつかの実装形態では、ユーザ入力はさらに:測度データフィールド又は次元データフィールドに関連付けられたコンテキストメニューのユーザによる開始;及びカスタム計算を構築するためにコンテキストメニュー選択肢を選択することを含む。いくつかの実装形態では、本方法はさらに、コンテキストメニュー選択肢のユーザ選択に応答して:生成されたカスタム計算が含まれるダイアログウィンドウを表示すること;及びカスタム計算を編集するためにダイアログウィンドウ内の第2のユーザ入力を検出することを含み、カスタム計算を新しい選択可能データフィールドとして格納することは、ダイアログウィンドウ内の保存アフォーダンス(save affordance)のユーザ活性化を検知することに応答する。 [0008] In some implementations, the user input is a drag-and-drop operation that includes dragging a measure data field and dropping the measure data field onto a dimension data field. In some implementations, the dimension data field is a primary or alternate key of a data object that corresponds to the dimension data field. In some implementations, the user input further includes: a user initiation of a context menu associated with the measure data field or the dimension data field; and selecting a context menu option to build a custom calculation. In some implementations, the method further includes, in response to a user selection of the context menu option: displaying a dialog window including the generated custom calculation; and detecting a second user input in the dialog window to edit the custom calculation, where storing the custom calculation as a new selectable data field is in response to detecting a user activation of a save affordance in the dialog window.
[0009] 以下に示される具体例は単一次元データフィールド及び単一測度データフィールドを使用するが、同じ技術は追加フィールドへ適用され得る。例えば、ユーザは2つ以上の次元フィールドを選択し、次に測度フィールドを次元フィールドのうちの任意の1つへドラッグし得る。この場合、データ可視化アプリケーションは、規定次元データフィールドの全てのデータフィールドの組み合わせによるグループ分けによりLOD表現を生成する。例えば、2つの次元及び1つの測度では、生成されるLOD表現は{FIXED[次元1],[次元2]:SUM([測度])}である。 [0009] The examples shown below use a single dimension and a single measure data field, but the same techniques can be applied to additional fields. For example, a user may select two or more dimension fields and then drag a measure field onto any one of the dimension fields. In this case, the data visualization application generates an LOD representation with a combined grouping of all data fields in the specified dimension data field. For example, with two dimensions and one measure, the generated LOD representation is {FIXED[dimension 1], [dimension 2]: SUM([measure])}.
[0010] いくつかの実装形態では、カスタム計算は、形式{FIXED[フィールド1]:AGG([フィールド2])}のものであり、ここで、「フィールド1」は次元データフィールドの名前であり、「AGG」は集約演算子(aggregation operator)であり、そして「フィールド2」は測度データフィールドの名前である。いくつかの実装形態では、集約演算子はSUM、COUNT、AVERAGE、MIN及びMAXのうちの1つである。 [0010] In some implementations, the custom calculation is of the form {FIXED[field1]:AGG([field2])}, where "field1" is the name of a dimension data field, "AGG" is the aggregation operator, and "field2" is the name of a measure data field. In some implementations, the aggregation operator is one of SUM, COUNT, AVERAGE, MIN, and MAX.
[0011] いくつかの実装形態では、データ可視化領域内にデータ可視化を生成し表示することは:スキーマ情報領域からシェルフ領域内のシェルフ上へのデータフィールドのユーザ配置(新しい選択可能データフィールドの第1のシェルフ上への配置を含む)に従ってデータソースに向けられる1つ又は複数のデータベースクエリを生成すること;1つ又は複数のデータセット(次元データフィールドに従ってグループ分けされた測度データフィールドの集約データを含む)をデータソースから取り出すために1つ又は複数のデータベースクエリを実行すること;及び取り出されたデータセットに従ってデータ可視化を生成し表示することを含む。 [0011] In some implementations, generating and displaying a data visualization in the data visualization area includes: generating one or more database queries directed to a data source according to a user placement of data fields from the schema information area onto shelves in the shelf area (including placement of a new selectable data field onto a first shelf); executing one or more database queries to retrieve one or more data sets from the data source (including aggregate data of measure data fields grouped according to dimension data fields); and generating and displaying a data visualization according to the retrieved data sets.
[0012] いくつかの実装形態では、コンピューティングデバイスは1つ又は複数のプロセッサ、メモリ、ディスプレイ、及びメモリ内に格納された1つ又は複数のプログラムを含む。プログラムは1つ又は複数のプロセッサによる実行のために構成される。1つ又は複数のプログラムは、本明細書において説明される方法のうちの任意の方法を行うための指令を含む。 [0012] In some implementations, a computing device includes one or more processors, a memory, a display, and one or more programs stored in the memory. The programs are configured for execution by the one or more processors. The one or more programs include instructions for performing any of the methods described herein.
[0013] いくつかの実装形態では、非一時的コンピュータ可読ストレージ媒体が、1つ又は複数のプロセッサ、メモリ及びディスプレイを有するコンピューティングデバイスによる実行のために構成された1つ又は複数のプログラムを格納する。1つ又は複数のプログラムは、本明細書において説明される方法のうちの任意の方法を行うための指令を含む。 [0013] In some implementations, a non-transitory computer-readable storage medium stores one or more programs configured for execution by a computing device having one or more processors, a memory, and a display. The one or more programs include instructions for performing any of the methods described herein.
[0014] したがって、ユーザがデータ可視化と容易に相互作用し、そして自然言語表現を使用することによりデータを分析することを可能にする方法、システム及びグラフィックユーザインターフェースが開示される。 [0014] Accordingly, a method, system and graphical user interface are disclosed that allows a user to easily interact with data visualizations and analyze data by using natural language expressions.
図面の簡単な説明
[0015] 前述のシステム、方法及びグラフィックユーザインターフェースだけでなく、データ可視化分析を提供する追加システム、方法及びグラフィックユーザインターフェースのよりよい理解のために、同様な参照符号が添付図面を通して対応構成部品を指す以下の図面と併せて以下の実装形態の説明を参照すべきである。
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] For a better understanding of the above-mentioned systems, methods and graphic user interfaces, as well as additional systems, methods and graphic user interfaces for providing data visualization analysis, reference should be made to the following description of implementations in conjunction with the following drawings, in which like reference characters refer to corresponding components throughout the accompanying drawings.
[0024] その例が添付図面に示される実装形態を次に参照する。以下の説明では、多くの具体的詳細が、本発明を十分に理解するために記載される。しかし、本発明がこれらの特定の詳細を必要とすることなく実行され得るということは当業者により明らかになる。 [0024] Reference will now be made to implementations, examples of which are illustrated in the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without the need for these specific details.
実装形態の説明
[0025] 図1は対話式データ分析のためのグラフィックユーザインターフェース100を示す。ユーザインターフェース100はいくつかの実装形態によるデータタブ114及び分析タブ116を含む。データタブ114が選択されると、ユーザインターフェース100はスキーマ情報領域110(データペインとも呼ばれる)を表示する。スキーマ情報領域110は、データ可視化を構築するために選択及び使用され得る名前付きデータ要素(例えばフィールド名)を提供する。いくつかの実装形態では、フィールド名のリストは一群の次元(例えばカテゴリ的データ)と一群の測度(例えば数量)とへ分離される。いくつかの実装形態はまたパラメータのリストを含む。分析タブ116が選択されると、ユーザインターフェースはデータ要素(示されない)の代わりに分析関数のリストを表示する。
Implementation Description
[0025] Figure 1 illustrates a graphic user interface 100 for interactive data analysis. The user interface 100 includes a data tab 114 and an analysis tab 116 according to some implementations. When the data tab 114 is selected, the user interface 100 displays a schema information area 110 (also called a data pane). The schema information area 110 provides named data elements (e.g., field names) that can be selected and used to build a data visualization. In some implementations, the list of field names is separated into a set of dimensions (e.g., categorical data) and a set of measures (e.g., quantities). Some implementations also include a list of parameters. When the analysis tab 116 is selected, the user interface displays a list of analysis functions instead of data elements (not shown).
[0026] グラフィックユーザインターフェース100はまたデータ可視化領域112を含む。データ可視化領域112は、列シェルフ領域120及び行シェルフ領域122などの複数のシェルフ領域を含む。これらは列シェルフ120及び行シェルフ122とも呼ばれる。本明細書に示されるように、データ可視化領域112はまた、視覚的グラフィックを表示する(本明細書ではデータ可視化とも呼ばれる)ための大きな空間を有する。いかなるデータ要素もまだ選択されていないので、空間は当初、視覚的グラフィックを有しない。いくつかの実装形態では、データ可視化領域112は、シートと呼ばれる複数の層を有する。いくつかの実装形態では、データ可視化領域112はデータ可視化フィルタのための領域126を含む。 [0026] The graphic user interface 100 also includes a data visualization area 112. The data visualization area 112 includes multiple shelf areas, such as a column shelf area 120 and a row shelf area 122, which are also referred to as column shelves 120 and row shelves 122. As shown herein, the data visualization area 112 also has a large space for displaying visual graphics (also referred to herein as data visualization). The space is initially empty of visual graphics because no data elements have yet been selected. In some implementations, the data visualization area 112 has multiple layers, called sheets. In some implementations, the data visualization area 112 includes an area 126 for data visualization filters.
[0027] いくつかの実装形態では、グラフィックユーザインターフェース100はまた、自然言語命令を受信するための自然言語入力ボックス124(命令ボックスとも呼ばれる)を含む。ユーザは、命令を提供するために命令ボックスと相互作用し得る。例えば、ユーザはボックス124内の命令をタイプすることにより自然言語命令を提供し得る。加えて、ユーザは、命令を提供するためにマイクロホン220内へ話しかけることにより命令ボックスと間接的に相互作用し得る。いくつかの実装形態では、データ要素は、(例えば、スキーマ情報領域110から列シェルフ120及び/又は行シェルフ122へのドラッグアンドドロップ操作を使用することにより)列シェルフ120及び行シェルフ122に当初関連付けられる。初期関連付け後、ユーザは、表示データ可視化をさらに探求するために(例えば自然言語ボックス124内の)自然言語命令を使用し得る。いくつかの事例では、ユーザは、自然言語入力ボックス124を使用することにより初期関連付けを生成し、この結果、1つ又は複数のデータ要素が列シェルフ120及び行シェルフ122内に置かれる。例えば、ユーザは、データ要素Xとデータ要素Yとの関係を生成するための命令を提供し得る。命令を受信することに応答して、列シェルフ120及び行シェルフ122はデータ要素が含まれ(populate)得る(例えば、列シェルフ120はデータ要素Xが含まれ得、行シェルフ122はデータ要素Yが含まれ得る、又は逆も同様)。 [0027] In some implementations, the graphic user interface 100 also includes a natural language input box 124 (also referred to as a command box) for receiving natural language commands. A user may interact with the command box to provide commands. For example, a user may provide natural language commands by typing commands in the box 124. In addition, a user may indirectly interact with the command box by speaking into the microphone 220 to provide commands. In some implementations, data elements are initially associated with the column shelf 120 and the row shelf 122 (e.g., by using a drag-and-drop operation from the schema information area 110 to the column shelf 120 and/or the row shelf 122). After the initial association, a user may use the natural language commands (e.g., in the natural language box 124) to further explore the display data visualization. In some cases, a user creates an initial association by using the natural language input box 124, which results in one or more data elements being placed in the column shelf 120 and the row shelf 122. For example, a user may provide an instruction to create a relationship between data element X and data element Y. In response to receiving the instruction, column shelf 120 and row shelf 122 may be populated with data elements (e.g., column shelf 120 may be populated with data element X and row shelf 122 may be populated with data element Y, or vice versa).
[0028] 図2は、いくつかの実装形態によるグラフィックユーザインターフェース100を表示し得るコンピューティングデバイス200を示すブロック図である。コンピューティングデバイス200の様々な例は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、及びディスプレイとデータ可視化アプリケーション230を実行することができるプロセッサとを有する他のコンピューティングデバイスを含む。コンピューティングデバイス200は通常、1つ又は複数の処理ユニット(プロセッサ又はコア)202、1つ又は複数のネットワーク又は他の通信インターフェース204、メモリ206、及びこれらの部品を相互接続するための1つ又は複数の通信バス208を含む。通信バス208は任意選択的に、システム部品間の通信を相互接続及び制御する回路構成(時に、チップセットと呼ばれる)を含む。コンピューティングデバイス200はユーザインターフェース210を含む。ユーザインターフェース210は通常、ディスプレイデバイス212を含む。いくつかの実装形態では、コンピューティングデバイス200はキーボード、マウス、及び/又は他の入力ボタン216などの入力デバイスを含む。その代わりに又はそれに加えて、いくつかの実装形態では、ディスプレイデバイス212は接触感知面214を含み、この場合、ディスプレイデバイス212は接触感知ディスプレイである。いくつかの実装形態では、接触感知面214は、様々なスワイプジェスチャ(例えば垂直及び/又は水平方向の連続ジェスチャ)及び/又は他のジェスチャ(例えばシングル/ダブルタップ)を検出するように構成される。接触感知ディスプレイ214を有するコンピューティングデバイスでは、物理的キーボードはオプションである(例えば、キーボード入力が必要とされるとソフトキーボードが表示され得る)。ユーザインターフェース210はまた、オーディオ出力デバイス218(スピーカ、又はスピーカへ接続されるオーディオ出力接続、イヤホン又はヘッドホンなど)を含む。さらに、いくつかのコンピューティングデバイス200は、マイクロホンと、キーボードを補足又は置換するための音声認識とを使用する。任意選択的に、コンピューティングデバイス200は、オーディオ(例えばユーザからのスピーチ)を捕捉するためにオーディオ入力デバイス220(例えばマイクロホン)を含む。 2 is a block diagram illustrating a computing device 200 that may display the graphical user interface 100 according to some implementations. Various examples of computing devices 200 include desktop computers, laptop computers, tablet computers, and other computing devices having a display and a processor capable of executing a data visualization application 230. The computing device 200 typically includes one or more processing units (processors or cores) 202, one or more network or other communication interfaces 204, memory 206, and one or more communication buses 208 for interconnecting these components. The communication bus 208 optionally includes circuitry (sometimes referred to as a chipset) that interconnects and controls communication between the system components. The computing device 200 includes a user interface 210. The user interface 210 typically includes a display device 212. In some implementations, the computing device 200 includes input devices such as a keyboard, a mouse, and/or other input buttons 216. Alternatively or additionally, in some implementations, the display device 212 includes a touch-sensitive surface 214, in which case the display device 212 is a touch-sensitive display. In some implementations, the touch-sensitive surface 214 is configured to detect various swipe gestures (e.g., vertical and/or horizontal continuous gestures) and/or other gestures (e.g., single/double taps). In computing devices with a touch-sensitive display 214, a physical keyboard is optional (e.g., a soft keyboard may be displayed when keyboard input is required). The user interface 210 also includes an audio output device 218 (such as a speaker, or an audio output connection connected to a speaker, earphones or headphones, etc.). In addition, some computing devices 200 use a microphone and voice recognition to supplement or replace a keyboard. Optionally, the computing device 200 includes an audio input device 220 (e.g., a microphone) to capture audio (e.g., speech from a user).
[0029] いくつかの実装形態では、メモリ206は、DRAM、SRAM、DDR RAM又は他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリを含み;そして1つ又は複数の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス又は他の不揮発性固体ストレージデバイスなどの不揮発性メモリを含み得る。いくつかの実装形態では、メモリ206は、プロセッサ202から離れて配置された1つ又は複数のストレージデバイスを含む。メモリ206は、又はその代わりにメモリ206内の不揮発性メモリデバイスは、非一時的コンピュータ可読ストレージ媒体を含む。いくつかの実装形態では、メモリ206又はメモリ206のコンピュータ可読ストレージ媒体は、以下のプログラム、モジュール及びデータ構造、又はその部分集合又は上位集合を格納する:
●様々な基本システムサービスを取り扱うための及びハードウェア依存タスクを行うための手順を含むオペレーティングシステム222;
●インターネット、他の広域ネットワーク、ローカルエリアネットワーク、都市域ネットワーク等などの1つ又は複数の通信インターフェース204(有線又は無線)を介しコンピューティングデバイス200と他のコンピュータ及びデバイスとを接続するために使用される通信モジュール224;
●任意選択的に、ユーザがリモートコンピュータ又はデバイスとネットワーク上で通信することを可能にするウェブブラウザ226(又はウェブページを表示することができる他のアプリケーション);
●任意選択的に、オーディオ入力デバイス220により捕捉されるオーディオを処理するためのオーディオ入力モジュール228(例えばマイクロホンモジュール)。捕捉されたオーディオはリモートサーバへ送信され得る及び/又はコンピューティングデバイス200上で実行するアプリケーション(例えばデータ可視化アプリケーション230)により処理され得る;
●データ可視化及び関連特徴を生成するためのデータ可視化アプリケーション230。いくつかの実装形態では、データ可視化アプリケーション230はまた、以下のものを含む:
○ユーザが視覚的グラフィックスを構築するためのグラフィックユーザインターフェース100。いくつかの実装形態では、グラフィックユーザインターフェースは、自然言語ボックス124(図1)を介しユーザ入力を受信するためのユーザ入力モジュール234を含む。例えば、ユーザは、1つ又は複数のデータソース242を識別する及び/又はデータソースからデータフィールドを識別する自然言語命令又は表現を自然言語ボックス124内に入力する(これはコンピューティングデバイス200上に格納され得る又は遠隔的に格納され得る)。いくつかの実装形態では、自然言語表現はオーディオ入力デバイス220により捕捉された音声発生である。選択されたフィールドは視覚的グラフィックを定義するために使用され得る。次に、データ可視化アプリケーション230は生成された視覚的グラフィックをグラフィックユーザインターフェース100内に表示する。いくつかの実装形態では、データ可視化アプリケーション230はスタンドアロンアプリケーション(例えばデスクトップアプリケーション)として実行する。いくつかの実装形態では、データ可視化アプリケーション230は、ウェブサーバにより提供されるウェブページを使用することによりウェブブラウザ226又は別のアプリケーション内で以下のものを実行する;
○ユーザ入力(例えば自然言語入力)を使用することにより対応視覚的グラフィック(「データ可視化」又は「データviz」とも呼ばれる)を自動的に生成し表示するデータ可視化生成モジュール236;
○任意選択的に、自然言語ボックス124を使用することにより受信された自然言語入力(例えば命令)を処理(例えば解釈)するための自然言語処理モジュール238。いくつかの実装形態では、自然言語処理モジュール238は自然言語命令を(例えばトークンへ)構文分析して中間言語(例えばArkLang)へ変換する。自然言語処理モジュール238は、自然言語命令の中間表現を形成するために自然言語処理モジュール238により使用される分析表現239を含む。自然言語処理モジュール238はまた、クエリをデータベース又はデータソース242に対し発行するために、そしてデータベース又はデータソース242から1つ又は複数のデータセットを取り出すために、可視化クエリ言語を採用することにより中間表現をデータベースクエリへ変換(例えばコンパイル)する;
○所望データ可視化の特徴を定義するために使用される視覚的仕様240。いくつかの実装形態では、ユーザが提供する情報(例えばユーザ入力)は視覚的仕様として格納される。いくつかの実装形態では、視覚的仕様240は、ユーザから受信された前の自然言語命令、又は自然言語命令を介しユーザにより規定された特性を含む。いくつかの実装形態では、視覚的仕様240は、様々な詳細度に基づく2つ以上の集約を含む。詳細度に関するさらなる情報は、その全体を参照により本明細書に援用する2015年7月16日申請の米国特許出願第14/801,750号:題名“Systems and Methods for using Multiple Aggregation Levels in a Single Data Visualization”に見出され得る;
●データ可視化アプリケーション230により使用される零又は複数のデータベース又はデータソース242(例えば第1のデータソース244及び第2のデータソース246)。いくつかの実装形態では、データソースは、スプレッドシートファイル、CSVファイル、XMLファイル、フラットファイル、又はJSONファイルとして格納される、又はリレーショナルデータベース内に格納される。例えば、ユーザは、1つ又は複数のデータベース又はデータソース242(コンピューティングデバイス200上に格納され得る又は遠隔的に格納され得る)を選択し、データソースからデータフィールドを選択し、選択されたフィールドを、視覚的グラフィックを定義するために使用する;
●零又は複数のオブジェクトモデル248(例えばデータソース244に対応する第1のオブジェクトモデル248-1、及びデータソース246に対応する第2のオブジェクトモデル。オブジェクトモデル248は、いくつかの実装形態によるデータソース内の表(又はオブジェクト)の論理構成を表す。いくつかの実装形態では、オブジェクトモデル248はデータソースの論理的及び/又は物理的表間の関係を符号化する;及び、
●データソースのデータフィールド(例えば次元、測度)又はオブジェクトのユーザ選択に基づきカスタム計算252(例えばカスタム計算252-2、252-4;詳細度(LOD)計算と時に呼ばれる)を生成及び/又は格納するカスタム計算生成モジュール250。
[0029] In some implementations, memory 206 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices; and may include non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. In some implementations, memory 206 includes one or more storage devices located remotely from processor 202. Memory 206, or alternatively a non-volatile memory device within memory 206, includes a non-transitory computer-readable storage medium. In some implementations, memory 206 or the computer-readable storage medium of memory 206 stores the following programs, modules, and data structures, or a subset or superset thereof:
• An operating system 222 that contains procedures for handling various basic system services and for performing hardware dependent tasks;
• A communications module 224 used to connect computing device 200 with other computers and devices via one or more communications interfaces 204 (wired or wireless), such as the Internet, other wide area networks, local area networks, metropolitan area networks, etc.;
Optionally, a web browser 226 (or other application capable of displaying web pages) that allows the user to communicate over the network with remote computers or devices;
- Optionally, an audio input module 228 (e.g., a microphone module) for processing audio captured by the audio input device 220. The captured audio may be transmitted to a remote server and/or processed by an application (e.g., data visualization application 230) executing on the computing device 200;
A data visualization application 230 for generating data visualizations and associated features. In some implementations, the data visualization application 230 also includes:
A graphical user interface 100 for a user to construct visual graphics. In some implementations, the graphical user interface includes a user input module 234 for receiving user input via a natural language box 124 (FIG. 1). For example, a user enters natural language instructions or expressions into the natural language box 124 (which may be stored on the computing device 200 or may be stored remotely) that identify one or more data sources 242 and/or identify data fields from the data sources. In some implementations, the natural language expressions are speech utterances captured by the audio input device 220. The selected fields may be used to define the visual graphics. The data visualization application 230 then displays the generated visual graphics in the graphical user interface 100. In some implementations, the data visualization application 230 executes as a standalone application (e.g., a desktop application). In some implementations, the data visualization application 230 executes within the web browser 226 or another application by using a web page provided by a web server:
o A data visualization generation module 236 that automatically generates and displays corresponding visual graphics (also called "data visualizations" or "data viz") by using user input (e.g., natural language input);
Optionally, a natural language processing module 238 for processing (e.g., interpreting) the received natural language input (e.g., instructions) by using the natural language box 124. In some implementations, the natural language processing module 238 parses (e.g., into tokens) and converts the natural language instructions into an intermediate language (e.g., ArkLang). The natural language processing module 238 includes an analyzed representation 239 that is used by the natural language processing module 238 to form an intermediate representation of the natural language instructions. The natural language processing module 238 also converts (e.g., compiles) the intermediate representation into a database query by employing a visualization query language to issue queries to a database or data source 242 and to retrieve one or more data sets from the database or data source 242;
○ A visual specification 240 that is used to define the characteristics of the desired data visualization. In some implementations, information provided by a user (e.g., user input) is stored as a visual specification. In some implementations, the visual specification 240 includes previous natural language instructions received from a user or characteristics defined by a user via natural language instructions. In some implementations, the visual specification 240 includes two or more aggregations based on various levels of detail. More information regarding levels of detail can be found in U.S. Patent Application Serial No. 14/801,750, filed July 16, 2015, entitled "Systems and Methods for using Multiple Aggregation Levels in a Single Data Visualization," which is incorporated herein by reference in its entirety;
Zero or more databases or data sources 242 (e.g., a first data source 244 and a second data source 246) used by the data visualization application 230. In some implementations, the data sources are stored as spreadsheet files, CSV files, XML files, flat files, or JSON files, or are stored in a relational database. For example, a user selects one or more databases or data sources 242 (which may be stored on the computing device 200 or may be stored remotely), selects data fields from the data sources, and uses the selected fields to define a visual graphic;
zero or more object models 248 (e.g., a first object model 248-1 corresponding to data source 244, and a second object model corresponding to data source 246. The object models 248 represent the logical organization of tables (or objects) in the data sources according to some implementations. In some implementations, the object models 248 encode the relationships between the logical and/or physical tables of the data sources; and
• A custom calculation generation module 250 that generates and/or stores custom calculations 252 (eg, custom calculations 252-2, 252-4; sometimes referred to as level of detail (LOD) calculations) based on user selection of data fields (eg, dimensions, measures) or objects of a data source.
[0030] 図2は、コンピューティングデバイス200を示すが、本明細書において説明される実装形態の構造的概略図として意図されているのではではなくむしろ存在し得る様々な特徴の機能記述として意図されている。実際、そして、当業者により認識されるように、別々に示されるアイテムは組み合わせられる可能性があり、そしていくつかのアイテムは分離される可能性がある。 [0030] FIG. 2 illustrates a computing device 200, but is not intended as a structural schematic of the implementations described herein, but rather as a functional description of various features that may be present. In fact, and as will be recognized by those skilled in the art, items shown separately may be combined and some items may be separated.
[0031] 上記識別された実行可能モジュール、アプリケーション又は手順のセットのそれぞれは、1つ又は複数の前述のメモリデバイス内に格納され得、そして上述の機能を行うための一組の指示に対応する。上記識別されたモジュール又はプログラム(すなわち指示の集合)は別個のソフトウエアプログラム、手順又はモジュールとして実装される必要はなく、したがって、様々な実装形態ではこれらのモジュールの様々な部分集合が組み合わせられ得る、又はそうでなければ再配置され得る。いくつかの実装形態では、メモリ206は上記識別されたモジュール及びデータ構造の部分集合を格納する。さらに、メモリ206は上述されない追加モジュール又はデータ構造を格納し得る。 [0031] Each of the identified executable modules, applications, or sets of procedures may be stored in one or more of the memory devices described above and correspond to a set of instructions for performing the functions described above. The identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus, in various implementations, various subsets of these modules may be combined or otherwise rearranged. In some implementations, memory 206 stores a subset of the identified modules and data structures. Additionally, memory 206 may store additional modules or data structures not described above.
ユーザインターフェース上のユーザ入力に基づきデータ可視化のための詳細度を生成すること
[0032] 図3A、3Bは、いくつかの実装形態による詳細度(LOD)表現を生成するためのグラフィックユーザインターフェース100を示す。いくつかの実装形態は、ユーザが測度データフィールドを次元データフィールド上へドラッグすることによりLOD表現を生成することを可能にする。例えば、ユーザは売上データフィールドを製品データフィールド上へドラッグし得、そして本システム(例えばカスタム計算生成モジュール250)は、製品毎売上を集約するLOD表現を自動的に生成する。LOD表現は{FIXED[製品]:SUM([売上])}である。いくつかの実装形態では、この計算は、新計算フィールドとして名前を割り当てられ、そして新計算フィールドは選択可能フィールドとしてスキーマ情報領域110内に出現する。いくつかの実装形態では、新LOD計算が生成された後、次に、LOD計算は任意の他のデータフィールドのように使用され得る。
Generating a level of detail for data visualization based on user input on a user interface
3A and 3B show a graphic user interface 100 for generating a level of detail (LOD) representation according to some implementations. Some implementations allow a user to generate an LOD representation by dragging a measure data field onto a dimension data field. For example, a user can drag a sales data field onto a product data field, and the system (e.g., the custom calculation generation module 250) automatically generates an LOD representation that aggregates sales per product. The LOD expression is {FIXED [product]: SUM ([sales])}. In some implementations, this calculation is assigned a name as a new calculation field, and the new calculation field appears in the schema information area 110 as a selectable field. In some implementations, after the new LOD calculation is generated, the LOD calculation can then be used like any other data field.
[0033] ドラッグアンドドロップ操作の代案として、いくつかの実装形態は、ユーザが次元及び測度を選択し、そして次にコンテキストメニューを起動することを可能にする(例えば次元データフィールドからの右クリックを使用することにより)。いくつかの実装形態では、これは、生成されたLOD表現が事前に含められたダイアログウィンドウを起動する。次に、ユーザはこれを保存する前に表現を修正し得る(必要に応じ)。いくつかの実装形態では、この計算は、ダイアログウィンドウを起動すること無く新データフィールドとして自動的に保存される。 [0033] As an alternative to drag-and-drop operations, some implementations allow the user to select dimensions and measures and then invoke a context menu (e.g., by using a right-click from a dimension data field). In some implementations, this invokes a dialog window pre-populated with the generated LOD representation. The user may then modify the representation (if necessary) before saving it. In some implementations, the calculation is automatically saved as a new data field without invoking a dialog window.
[0034] 図3A、3Bでは、価格データフィールド302(版表300からの測度である)は、売上表304のプライマリキーである次元データフィールドISBN(売上Q1+)306の上にドラッグされる。いくつかの実装形態は、新LOD表現308を生成するためにデータフィールドISBN 306のコンテキスト内の価格データフィールド302の複製を生成する。いくつかの実装形態は、ユーザがコンテキストメニューを介しLOD表現を生成することを可能にする(上及び下に説明される)。いくつかの実装形態は、ユーザが(例えばコマンドキー又はコントロールキーを使用することにより又はデータフィールドを生成するための同様なジェスチャを使用することにより)データフィールドをドラッグアンドドロップすることによりLOD表現を生成することを可能にする。いくつかの実装形態は、ユーザが新データフィールドのコンテキスト内に測度を生成することを可能にする。 3A and 3B, the price data field 302 (which is a measure from the version table 300) is dragged onto the dimension data field ISBN (Sales Q1+) 306, which is the primary key of the sales table 304. Some implementations create a copy of the price data field 302 in the context of the data field ISBN 306 to create a new LOD representation 308. Some implementations allow the user to create the LOD representation via a context menu (described above and below). Some implementations allow the user to create the LOD representation by dragging and dropping the data fields (e.g., by using command or control keys or similar gestures to create the data fields). Some implementations allow the user to create the measure in the context of the new data field.
[0035] 図3C、3D、3Eは、いくつかの実装形態によるオブジェクトモデルを生成及び/又は可視化するための例示的ユーザインターフェース310を示す。ユーザインターフェース310は、データソースを表示する接続領域312を含む。接続領域318は、データベース(又はデータソース)をホストするデータベースサーバへの接続を提供する。各データソースは、オブジェクトモデルを構築するために選択され使用され得るデータ320の1つ又は複数の表を含む。いくつかの実装形態では、表のリストはグループ分けされる(例えば表の論理構成に従って)。グラフィックユーザインターフェース310はまたオブジェクトモデル可視化領域314を含む。オブジェクトモデル可視化領域314はオブジェクトモデル(例えばデータオブジェクトのツリー又はグラフ)を表示する。表示されるオブジェクトモデルは1つ又は複数のデータオブジェクトアイコン(例えばアイコン322-2、322-4、322-6、322-8、322-10、322-12、322-14)を含む。図3Cでは、オブジェクトモデル可視化領域314内に示されるオブジェクトモデルは図3A、3Bに示される表の構造に対応する。各データオブジェクトアイコンは表(例えば物理的表)、又は1つ又は複数の表の論理的組み合わせのいずれかを表す。例えば、アイコン322-2は書籍表を表し、アイコン322-4は著者表を表し、アイコン322-6は賞表を表し、アイコン322-8は版表300を表し、アイコン322-10は発行者表を表し、アイコン322-12は売上表304を表し、そしてアイコン322-14は採点表を表す。いくつかの実装形態では、インターフェース310はまた、オブジェクトモデル可視化領域314内に表示される1つ又は複数のデータオブジェクトアイコンのデータフィールドを表示するデータグリッド領域306を含む。いくつかの実装形態では、グリッド領域316は、オブジェクトモデル可視化領域314内のユーザ入力を検出することに応答して更新又はリフレッシュされる。図3Cでは、可視化領域314は、ハイライトされたオブジェクトアイコン322-2を示し、グリッド領域316はオブジェクトアイコン322-2に対応する書籍表の詳細(例えばデータフィールド)を表示する。いくつかの実装形態では、グリッド領域は、ユーザ入力を検出することなく、開始する(例えば既存オブジェクトモデルがロードされると)第1の表(例えば論理表又はオブジェクトモデルのツリーのルート)を示す。ユーザがナビゲートから外れれば及び/又は代替オブジェクトアイコン(例えばアイコン322-4)を選択すれば、グリッド領域は代替オブジェクトアイコン(例えば版表300の詳細)に対応する論理表(又は物理的表)の詳細を示すために更新される。いくつかの実装形態では、ユーザはその物理的表を視るために論理表をダブルクリック324し得る。 3C, 3D, and 3E show an exemplary user interface 310 for creating and/or visualizing an object model according to some implementations. The user interface 310 includes a connection area 312 that displays data sources. The connection area 318 provides a connection to a database server that hosts a database (or data source). Each data source includes one or more tables of data 320 that can be selected and used to build an object model. In some implementations, the list of tables is grouped (e.g., according to the logical organization of the tables). The graphical user interface 310 also includes an object model visualization area 314. The object model visualization area 314 displays an object model (e.g., a tree or graph of data objects). The displayed object model includes one or more data object icons (e.g., icons 322-2, 322-4, 322-6, 322-8, 322-10, 322-12, 322-14). In Figure 3C, the object model shown in the object model visualization area 314 corresponds to the structure of the tables shown in Figures 3A and 3B. Each data object icon represents either a table (e.g., a physical table) or a logical combination of one or more tables. For example, icon 322-2 represents a books table, icon 322-4 represents an authors table, icon 322-6 represents an awards table, icon 322-8 represents an editions table 300, icon 322-10 represents a publishers table, icon 322-12 represents a sales table 304, and icon 322-14 represents a scores table. In some implementations, the interface 310 also includes a data grid area 306 that displays data fields of one or more data object icons displayed in the object model visualization area 314. In some implementations, the grid area 316 is updated or refreshed in response to detecting a user input in the object model visualization area 314. In FIG. 3C, the visualization area 314 shows a highlighted object icon 322-2, and the grid area 316 displays the details (e.g., data fields) of the book table that corresponds to the object icon 322-2. In some implementations, the grid area shows the first table (e.g., the logical table or the root of the object model tree) to start with (e.g., when an existing object model is loaded) without detecting user input. If the user navigates away and/or selects an alternative object icon (e.g., icon 322-4), the grid area updates to show details of the logical table (or physical table) that corresponds to the alternative object icon (e.g., details of the edition table 300). In some implementations, the user may double-click 324 on a logical table to view its physical table.
[0036] LOD表現を生成するプロセスをさらに示すために、ユーザが価格データフィールド302を版表300から売上表304へドラッグすると、本システムは、売上表304の行レベル価格情報である測度を生成する。ユーザはその後、生成された測度(例えばデータフィールド308)を1レベル(例えば版表300に対し)又はさらには複数レベル(例えば書籍表に対し最大2レベル)上へドラッグし得る。計算された測度をドラッグアンドドロップすることにより、ユーザは、当該コンテキスト(例えば表又はデータフィールド)の正しい詳細度において新測度を生成し得る。このようにして、ユーザがLOD計算(時に、カスタム計算と呼ばれる)を生成するために既存測度をドラッグアンドドロップすることを可能にすることに加えて、いくつかの実装形態は、ユーザがさらなる計算を生成するためにカスタム計算をコンテキストへドラッグすることを可能にし、既存測度に似たカスタム計算を処理する。他の計算の内部でカスタム計算(LOD表現を含む)を入れ子にするこのプロセスは、必要に応じ任意の深さまで拡張され得る。 [0036] To further illustrate the process of generating LOD expressions, when a user drags a price data field 302 from the edition table 300 to the sales table 304, the system generates a measure that is row-level price information in the sales table 304. The user may then drag the generated measure (e.g., data field 308) up one level (e.g., for the edition table 300) or even multiple levels (e.g., up to two levels for the books table). By dragging and dropping a calculated measure, the user may generate a new measure at the correct level of detail for the context (e.g., table or data field). Thus, in addition to allowing a user to drag and drop existing measures to generate LOD calculations (sometimes called custom calculations), some implementations allow a user to drag custom calculations into the context to generate further calculations, processing the custom calculations similar to existing measures. This process of nesting custom calculations (including LOD expressions) inside other calculations may be extended to any depth as needed.
[0037] 図4A~4Dは、いくつかの実装形態によるコンテキストメニューを使用することによりLOD表現を生成するための別のやり方を示す。いかなる測度も生成される前に、図4Aに示すように、ユーザがデータフィールド(例えば書籍表内のシリーズID情報フィールド400)を選択すると、本システムはいかなるLOD計算も示さない。次に、図4Bに示すように、次元及び測度が選択された後、ユーザがデータフィールド(例えば書籍ID情報フィールド404)を選択し、別のデータフィールド(例えば期待収益データフィールド406)上の右クリックが続くと、本システムは、いくつかの実装形態に従ってLOD計算を生成するためにコンテキストメニュー408を示す。ユーザが選択肢としてLOD計算を選択すると、本システムはいくつかの実装形態に従ってLOD計算を生成するためにポップアップウィンドウ410を示す。これは図4Cに示される。図4Dはポップアップウィンドウ410の拡大図を示す。いくつかの実装形態は、ユーザが計算412を指名することを可能にする。いくつかの実装形態は、ユーザがLOD計算416を編集することを可能にする。例えば、ユーザはSUM414をAVG又は同様な計算へ変更し得る。いくつかの実装形態は、LOD計算を検証する及び/又は検証の結果(例えば情報418)を示す。いくつかの実装形態は、LOD計算を適用する(例えばLOD計算の有効性を照査する)ために及び/又はエントリを受理する又はポップアップウィンドウを閉じるためにアフォーダンス(例えば適用ボタン420及びOKボタン422)を示す。 4A-4D show another way to generate an LOD representation by using a context menu according to some implementations. Before any measures are generated, as shown in FIG. 4A, if the user selects a data field (e.g., the series ID information field 400 in the book table), the system does not show any LOD calculations. Then, as shown in FIG. 4B, after a dimension and a measure are selected, if the user selects a data field (e.g., the book ID information field 404), followed by a right click on another data field (e.g., the expected revenue data field 406), the system shows a context menu 408 to generate an LOD calculation according to some implementations. If the user selects an LOD calculation as an option, the system shows a pop-up window 410 to generate an LOD calculation according to some implementations. This is shown in FIG. 4C. FIG. 4D shows an expanded view of the pop-up window 410. Some implementations allow the user to name a calculation 412. Some implementations allow the user to edit the LOD calculation 416. For example, the user may change SUM 414 to AVG or a similar calculation. Some implementations validate the LOD calculation and/or show the results of the validation (e.g., information 418). Some implementations show affordances (e.g., an Apply button 420 and an OK button 422) to apply the LOD calculation (e.g., to check the validity of the LOD calculation) and/or to accept the entries or close the pop-up window.
[0038] 図5Aは、いくつかの実装形態に従って以前に生成されたLOD計算の詳細を視る及び/又は編集するための例示的ユーザインターフェースを示す。示された例では、ユーザがLOD計算308(図3A~3Eを参照して上述のように生成された)を選択すると、本システムは、フィールドを編集するための選択肢502を含むドロップダウン(drop-down)メニュー500を示すことにより応答する。ユーザがフィールドを編集することを選択すると仮定すると、本システムは、データフィールド308の詳細を視る及び/又は編集するためのポップアップウィンドウ504(図5Bに示す)を示す。図5Cは、いくつかの実装形態によるポップアップウィンドウ504の拡大図を示す。図4Dと同様に、ユーザはいくつかの実装形態に従ってLOD計算506のフィールドを編集し得る。 [0038] FIG. 5A shows an exemplary user interface for viewing and/or editing details of a previously generated LOD calculation according to some implementations. In the example shown, when the user selects LOD calculation 308 (generated as described above with reference to FIGS. 3A-3E), the system responds by presenting a drop-down menu 500 with options 502 for editing fields. Assuming the user selects to edit the fields, the system presents a pop-up window 504 (shown in FIG. 5B) for viewing and/or editing details of data fields 308. FIG. 5C shows an expanded view of pop-up window 504 according to some implementations. Similar to FIG. 4D, the user may edit the fields of LOD calculation 506 according to some implementations.
[0039] いくつかの実装形態は表のプライマリキー及び外部キーを追跡する。ユーザが測度を表へドラッグする(表のデータフィールドとは対照的に)と仮定すると、いくつかの実装形態は、表のプライマリキーに基づきLOD計算を生成する。例えば、図6に示すように、ユーザが価格データフィールドを版表から売上表304の上にドラッグすると仮定する。それに応答して、本システムは、売上表304がプライマリキーを有するということを検出し、そしてLOD計算を生成するためのデータフィールドとして当該プライマリキーを使用する。いくつかの実装形態は、ユーザがLOD計算を生成するための複数のデータフィールド使用することを可能にする。例えば、ユーザは、測度を第1のデータフィールドの上にドラッグした後に第2のデータフィールドを選択し、そしてこれにより第1のデータフィールド及び第2のデータフィールドに基づきLOD計算を生成し得る。 [0039] Some implementations track primary and foreign keys of tables. Suppose a user drags a measure onto a table (as opposed to a data field of the table), some implementations generate LOD calculations based on the primary key of the table. For example, as shown in FIG. 6, suppose a user drags a price data field from the edition table onto the sales table 304. In response, the system detects that the sales table 304 has a primary key and uses the primary key as a data field for generating LOD calculations. Some implementations allow a user to use multiple data fields for generating LOD calculations. For example, a user may drag a measure onto a first data field and then select a second data field, thereby generating an LOD calculation based on the first and second data fields.
[0040] 図7は、いくつかの実装形態によるデータ可視化のための詳細度計算を生成する(702)ための方法700のフローチャートを提供する。方法700はプロセスとも呼ばれる。 [0040] FIG. 7 provides a flowchart of a method 700 for generating 702 a level of detail calculation for data visualization according to some implementations. The method 700 may also be referred to as a process.
[0041] 方法700は、ディスプレイ212、1つ又は複数のプロセッサ202及びメモリ206を有するコンピューティングデバイス200において行われる(704)。メモリ206は、1つ又は複数のプロセッサ202による実行のために構成された1つ又は複数のプログラムを格納する(706)。いくつかの実装形態では、コンピューティングデバイスにより行われる操作は、メモリ206又は他の非一時的コンピュータ可読ストレージ媒体内に格納された指令に対応する。コンピュータ可読ストレージ媒体は、磁気若しくは光ディスクストレージデバイス、フラッシュメモリなどの固体ストレージデバイス、又は他の不揮発性メモリデバイス若しくはデバイス群を含み得る。コンピュータ可読ストレージ媒体上に格納される指令はソースコード、アセンブリ言語コード、オブジェクトコード、又は1つ又は複数のプロセッサにより解釈される他の指令フォーマットのうちの1つ又は複数を含み得る。本方法におけるいくつかの操作は組み合わせられ得る、及び/又はいくつかの操作の順序は変更され得る。 [0041] The method 700 is performed (704) on a computing device 200 having a display 212, one or more processors 202, and a memory 206. The memory 206 stores (706) one or more programs configured for execution by the one or more processors 202. In some implementations, the operations performed by the computing device correspond to instructions stored in the memory 206 or other non-transitory computer-readable storage medium. The computer-readable storage medium may include magnetic or optical disk storage devices, solid-state storage devices such as flash memory, or other non-volatile memory device or devices. The instructions stored on the computer-readable storage medium may include one or more of source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations in the method may be combined and/or the order of some operations may be changed.
[0042] 本方法は、データソースのユーザ選択を受信すること(708)を含む。例えば、図3において、ユーザは書籍データソースを選択する。本方法はまた、データ可視化インターフェースを表示すること(710)を含み、データ可視化インターフェースは、データ可視化領域112;複数のシェルフ(例えばシェルフ120、122)を有するシェルフ領域であって、各シェルフは各シェルフ上へのデータフィールドの配置に基づきデータ可視化のそれぞれの特徴を定義する、シェルフ領域;及び複数のデータオブジェクトを表示するスキーマ情報領域110(時に表と呼ばれる)を含む。各データオブジェクトは1つ又は複数の選択可能データフィールドを有し、そして各データフィールドは次元又は測度として指定される。 [0042] The method includes receiving (708) a user selection of a data source. For example, in FIG. 3, the user selects the books data source. The method also includes displaying (710) a data visualization interface, the data visualization interface including a data visualization area 112; a shelf area having a number of shelves (e.g., shelves 120, 122), each shelf defining respective characteristics of the data visualization based on the placement of data fields on each shelf; and a schema information area 110 (sometimes called a table) displaying a number of data objects. Each data object has one or more selectable data fields, and each data field is designated as a dimension or measure.
[0043] 本方法はまた、スキーマ情報領域から測度データフィールド及び次元データフィールドを選択するためにユーザ入力を受信すること(712)を含む。このようなユーザ入力の例は、いくつかの実装形態に従って図3A-3Eを参照して上に説明された。 [0043] The method also includes receiving (712) user input to select measure data fields and dimension data fields from the schema information area. Examples of such user input are described above with reference to Figures 3A-3E according to some implementations.
[0044] 本方法はまた、ユーザ入力に応答して:次元データフィールドの別個のデータ値によりグループ分けされた測度データフィールドのデータを集約するカスタム計算を生成すること;及びカスタム計算を次元データフィールドに対応するデータオブジェクトに関連付けられた新しい選択可能データフィールドとして格納すること(714)を含む。カスタム計算を生成し、そしてカスタム計算を選択可能データフィールドとして格納する例は、いくつかの実装形態に従って図3A-3Eを参照して上に説明された。 [0044] The method also includes, in response to user input: generating a custom calculation that aggregates data of the measure data fields grouped by distinct data values of the dimension data fields; and storing (714) the custom calculation as a new selectable data field associated with the data object corresponding to the dimension data field. Examples of generating a custom calculation and storing the custom calculation as a selectable data field are described above with reference to Figures 3A-3E according to several implementations.
[0045] 本方法はまた、新しい選択可能データフィールドのユーザ選択とシェルフ領域内の第1のシェルフ上への新しい選択可能データフィールドの配置とを受信すること(716)であって、第1のシェルフは第1のデータ可視化特徴を定義する、受信すること;及びデータ可視化領域内にデータ可視化を生成し表示すること(718)であって、データ可視化の第1のデータ可視化特徴はカスタム計算のデータ値に従って判断される、生成し表示することを含む。新データフィールドのユーザ選択、シェルフ領域上へのデータフィールドの配置、及び/又はデータ可視化を生成し表示することの例は、いくつかの実装形態による図1、2、3A~3E、4A~4Dを参照して上に説明された。 [0045] The method also includes receiving (716) a user selection of a new selectable data field and placement of the new selectable data field on a first shelf in the shelf area, the first shelf defining a first data visualization characteristic; and generating and displaying (718) a data visualization in the data visualization area, the first data visualization characteristic of the data visualization being determined according to a data value of the custom calculation. Examples of user selection of a new data field, placement of a data field on a shelf area, and/or generating and displaying a data visualization are described above with reference to Figures 1, 2, 3A-3E, 4A-4D according to several implementations.
[0046] いくつかの実装形態では、ユーザ入力は、測度データフィールドをドラッグすることと、測度データフィールドを次元データフィールドの上にドロップすることとを含むドラッグアンドドロップ操作である。いくつかの実装形態では、次元データフィールドは次元データフィールドに対応するデータオブジェクトのプライマリキー又は代替キーである。いくつかの実装形態では、ユーザ入力はさらに:測度データフィールド又は次元データフィールドに関連付けられたコンテキストメニューのユーザによる開始;及びカスタム計算を構築するためにコンテキストメニュー選択肢を選択することを含む。いくつかの実装形態では、本方法はさらに、コンテキストメニュー選択肢のユーザ選択に応答して:生成されたカスタム計算が含まれるダイアログウィンドウを表示すること;及びカスタム計算を編集するためにダイアログウィンドウ内の第2のユーザ入力を検出することを含み、カスタム計算を新しい選択可能データフィールドとして格納することはダイアログウィンドウ内の保存アフォーダンスのユーザ活性化を検知することに応答する。 [0046] In some implementations, the user input is a drag-and-drop operation that includes dragging a measure data field and dropping the measure data field onto a dimension data field. In some implementations, the dimension data field is a primary or alternate key of a data object corresponding to the dimension data field. In some implementations, the user input further includes: a user initiation of a context menu associated with the measure data field or the dimension data field; and selecting a context menu option to build a custom calculation. In some implementations, the method further includes, in response to a user selection of the context menu option: displaying a dialog window including the generated custom calculation; and detecting a second user input in the dialog window to edit the custom calculation, and storing the custom calculation as a new selectable data field is in response to detecting a user activation of a save affordance in the dialog window.
[0047] いくつかの実装形態では、カスタム計算は形式{FIXED[フィールド1]:AGG([フィールド2])}のものであり、ここで、「フィールド1」は次元データフィールドの名前であり、「AGG」は集約演算子であり、そして「フィールド2」は測度データフィールドの名前である。いくつかの実装形態では、集約演算子はSUM、COUNT、AVERAGE、MIN及びMAXのうちの1つである。 [0047] In some implementations, custom calculations are of the form {FIXED[field1]:AGG([field2])}, where "field1" is the name of a dimension data field, "AGG" is the aggregation operator, and "field2" is the name of a measure data field. In some implementations, the aggregation operator is one of SUM, COUNT, AVERAGE, MIN, and MAX.
[0048] いくつかの実装形態では、データ可視化領域内にデータ可視化を生成し表示することは:スキーマ情報領域からシェルフ領域内のシェルフ上へのデータフィールドのユーザ配置(新しい選択可能データフィールドの第1のシェルフ上への配置を含む)に従ってデータソースに向けられる1つ又は複数のデータベースクエリを生成すること;1つ又は複数のデータセット(次元データフィールドに従ってグループ分けされた測度データフィールドの集約データを含む)をデータソースから取り出すために1つ又は複数のデータベースクエリを実行すること;及び取り出されたデータセットに従ってデータ可視化を生成し表示することを含む。 [0048] In some implementations, generating and displaying a data visualization in the data visualization area includes: generating one or more database queries directed to a data source according to a user placement of data fields from the schema information area onto shelves in the shelf area (including placement of a new selectable data field onto a first shelf); executing one or more database queries to retrieve one or more data sets from the data source (including aggregate data of measure data fields grouped according to dimension data fields); and generating and displaying a data visualization according to the retrieved data sets.
[0049] いくつかの実装形態によると、データ可視化のための詳細度を判断する方法が提供される。本方法は、ディスプレイ、1つ又は複数のプロセッサ、及び1つ又は複数のプロセッサによる実行のために構成された1つ又は複数のプログラムを格納するメモリを有するコンピューティングデバイスにおいて行われる。本方法は、データ可視化インターフェースをディスプレイ上に表示すること、データソースのユーザ選択を受信すること、及びデータソースへ向けられた詳細度表現のタイプを規定するために入力を検出することを含む。本方法はまた、入力を検知することに応答して:(i)第1の集約内の集約タイプ、(ii)第1の集約のために集約されるデータフィールド、及び(iii)第1の集約のためのグループ分けを入力に基づき判断すること;集約タイプ、データフィールド及びグループ分けに基づき、データソースに従って第1の集約を含む1つ又は複数のデータベースクエリを生成すること;第1の集約に従って集約された1つ又は複数のデータセットをデータソースから取り出すために1つ又は複数のデータベースクエリを実行すること;並びに取り出されたデータセットの更新されたデータ可視化を生成し表示することを含む。 [0049] According to some implementations, a method for determining a level of detail for a data visualization is provided. The method is performed in a computing device having a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors. The method includes displaying a data visualization interface on the display, receiving a user selection of a data source, and detecting an input to specify a type of level of detail representation directed to the data source. The method also includes, in response to detecting the input: determining (i) an aggregation type in a first aggregation, (ii) data fields aggregated for the first aggregation, and (iii) a grouping for the first aggregation based on the input; generating one or more database queries including the first aggregation according to the data source based on the aggregation type, data fields, and grouping; executing one or more database queries to retrieve one or more data sets from the data source aggregated according to the first aggregation; and generating and displaying an updated data visualization of the retrieved data sets.
[0050] いくつかの実装形態では、第1の集約は測度であり、データフィールドはデータソースの次元である。いくつかの実装形態では、入力は、第1の集約をドラッグすることと、データフィールドの上にドロップすることを含むドラッグアンドドロップ操作である。いくつかの実装形態では、入力はデータフィールド上の右クリック操作であり、そして本方法はさらに、ユーザが測度又は計算を規定することを可能にするコンテキストメニュー又はダイアログを表示すること、及び測度又は計算に基づき第1の集約を判断することを含む。 [0050] In some implementations, the first aggregation is a measure and the data field is a dimension of the data source. In some implementations, the input is a drag-and-drop operation that includes dragging the first aggregation and dropping it onto the data field. In some implementations, the input is a right-click operation on the data field, and the method further includes displaying a context menu or dialog that allows a user to specify the measure or calculation, and determining the first aggregation based on the measure or calculation.
[0051] いくつかの実装形態では、入力は、第1の集約をドラッグし表の上にドロップすることを含むドラッグアンドドロップ操作であり、そして本方法はさらに、表に関連付けられたプライマリキーを取り出すこと、及びプライマリキーをデータフィールドとして使用することを含む。 [0051] In some implementations, the input is a drag-and-drop operation that includes dragging and dropping the first aggregate onto a table, and the method further includes retrieving a primary key associated with the table and using the primary key as the data field.
[0052] いくつかの実装形態では、本方法はさらに:第1の集約を表示すること;第1の集約の詳細を視るために第2の入力を検出すること;第2の入力を検知することに応答して、第1の集約に対応する計算又は測度を表示すること;計算又は測度を修正するために第3の入力を検出すること;及び第3の入力を検知することに応答して第1の集約を更新することを含む。 [0052] In some implementations, the method further includes: displaying the first aggregate; detecting a second input to view details of the first aggregate; displaying a calculation or measure corresponding to the first aggregate in response to detecting the second input; detecting a third input to modify the calculation or measure; and updating the first aggregate in response to detecting the third input.
[0053] いくつかの実装形態は、ユーザがドラッグアンドドロップ操作を使用することによりLODを規定することを可能にする。いくつかの実装形態は計算されたフィールドをスキーマビューア内に生成する。いくつかの実装形態は計算ダイアログを含む。いくつかの実装形態は、ユーザがアドホック計算を規定すること及び/又はLODを規定するための他のピル(例えばピルコンテキストメニュー)を規定することを可能にする。いくつかの実装形態は、それらの計算がそれらの期待値を満足するかどうかをユーザが知ることを可能にするためのユーザフィードバックユーザを提供する。 [0053] Some implementations allow users to define LOD by using drag and drop operations. Some implementations generate calculated fields in the schema viewer. Some implementations include a calculation dialog. Some implementations allow users to define ad-hoc calculations and/or other pills (e.g. pill context menu) for defining LOD. Some implementations provide user feedback to allow users to know if their calculations meet their expectations.
[0054] いくつかの実装形態は、ユーザが以下の構文のうちの1つを使用することによりLODのタイプを規定することを可能にする:{FIXED dims:calcs}(FIXED,INCLUDE,又はEXCLUDE),{calcs},{INCLUDE:calcs}(INCLUDE,又はEXCLUDE)。 [0054] Some implementations allow the user to specify the type of LOD by using one of the following syntaxes: {FIXED dims:calcs} (FIXED, INCLUDE, or EXCLUDE), {calcs}, {INCLUDE:calcs} (INCLUDE, or EXCLUDE).
[0055] いくつかの実装形態は、ユーザが様々なタイプのLOD(FIXED,INCLUDE,又はEXCLUDE)を選択することを可能にする。いくつかの実装形態は、ユーザが計算を次元上へドラッグすること又は一組の次元を計算上へドラッグすることを可能にする。いくつかの実装形態は、LOD計算の2つの部品間の相互作用は等価的であり、そしてその順序は暗黙的であるということを仮定する。いくつかの実装形態は、FIXEDタイプのLODをデフォルトで仮定し、ユーザがタイプを変更するためのコンテキストメニューを提供する。 [0055] Some implementations allow the user to select different types of LOD (FIXED, INCLUDE, or EXCLUDE). Some implementations allow the user to drag a calculation onto a dimension or drag a set of dimensions onto a calculation. Some implementations assume that the interactions between two parts of an LOD calculation are equivalent and that the order is implicit. Some implementations assume a FIXED type of LOD by default and provide a context menu for the user to change the type.
[0056] いくつかの実装形態は、右クリックドラッグを検出する、及び/又は様々なタイプのLODを選択するためにユーザがマウスを放した後に選択肢を示す。 [0056] Some implementations detect right-click drags and/or present options after the user releases the mouse to select different types of LOD.
[0057] いくつかの実装形態は、初期ドロップ後に二次ドロップ標的を検出するが、これは、いくつかのデータ可視化プラットホームが分析の改善ためのユーザ入力(例えば表、ペイン又はセルの分析ペイン内に提供される入力)を検出するやり方と似ている。 [0057] Some implementations detect secondary drop targets after the initial drop, similar to how some data visualization platforms detect user input to refine an analysis (e.g., input provided within an analysis pane of a table, pane, or cell).
[0058] いくつかの実装形態はデータフィールド間の相互作用を判断するためにユーザ入力を検出する。 [0058] Some implementations detect user input to determine interactions between data fields.
[0059] いくつかの実装形態は、ユーザ入力を及び/又はオブジェクトに関係するメタデータ情報を検出することに基づきオブジェクト(例えばプライマリキーのフレンドリーフィールド名)の定義次元を判断する。 [0059] Some implementations determine the defining dimensions of an object (e.g., the friendly field name of a primary key) based on user input and/or detecting metadata information related to the object.
[0060] いくつかの実装形態は、次元及び計算又は測度間の相互作用を判断するためにユーザ入力を検出する。いくつかの実装形態は、次元間又は次元及び階層型データベースモデル間の相互作用を判断するためにユーザ入力を検出する。 [0060] Some implementations detect user input to determine interactions between dimensions and calculations or measures. Some implementations detect user input to determine interactions between dimensions or between dimensions and hierarchical database models.
[0061] いくつかの実装形態は、次元を判断するために及び/又は各次元をストリング、日時フィールド、一組のビン、組み合わせフィールドの一部、又は階層の一部として類別するためにユーザ入力を検出する。 [0061] Some implementations detect user input to determine the dimensions and/or categorize each dimension as a string, a datetime field, a set of bins, part of a combination field, or part of a hierarchy.
[0062] いくつかの実装形態は、測度に関する集約を変更するためにユーザ入力を検出する。 [0062] Some implementations detect user input to change the aggregation for a measure.
[0063] いくつかの実装形態は、特定タイプのLOD(例えば{FIXED dim:COUNTD(dim2)},{FIXED年(発注日):SUM(売上)})を判断するためにユーザ入力を検出する。いくつかの実装形態は次元内の階層を変更するためにユーザ入力を検出する。 [0063] Some implementations detect user input to determine a particular type of LOD (e.g., {FIXED dim:COUNTD(dim2)}, {FIXED year(order date):SUM(sales)}). Some implementations detect user input to change the hierarchy within a dimension.
[0064] 本明細書における本発明の説明に使用される用語は、特定の実装形態を説明することだけを目的とするものであり、本発明を制限するようには意図されていない。本発明の説明と添付の特許請求の範囲において使用されるように、文脈が明示しない限り単数形の定冠詞と不定冠詞は複数形も同様に含むように意図されている。本明細書で使用される用語「及び/又は」は、関連リストアイテムのうちの1つ又は複数のリストアイテムの全ての可能な組み合わせを指し且つ包含するということも理解されることになる。用語「含む」は、本明細書で使用される場合、陳述された特徴、工程、操作、要素、及び/又は部品の存在を明示するが、1つ又は複数の他の特徴、工程、操作、要素、部品、及び/又はこれらのグループの存在又は追加を排除するものではないということもさらに理解されることになる。 [0064] The terms used in the description of the invention herein are for the purpose of describing particular implementations only and are not intended to limit the invention. As used in the description of the invention and the appended claims, the singular definite and indefinite articles are intended to include the plural as well, unless the context clearly indicates otherwise. It will also be understood that the term "and/or" as used herein refers to and includes all possible combinations of one or more of the associated list items. It will also be further understood that the term "comprising," as used herein, specifies the presence of stated features, steps, operations, elements, and/or components, but does not exclude the presence or addition of one or more other features, steps, operations, elements, components, and/or groups thereof.
[0065] これまでの説明は、説明を目的としており、特定の実装形態を参照し行われた。しかし、上記例示的論述は、網羅的であること又は本発明を開示された正確な形式に限定することを意図するものではない。上記教示を考慮することにより多くの修正及び変形が可能である。上記実装形態は、本発明の原理及び実用化について最も良く説明するために、そしてこれにより当業者が、企図される特定の使用に適するような様々な修正により本発明及び様々な実装形態を最も良く利用できるようにするために、選択され説明された。 [0065] The foregoing description has been provided for purposes of explanation and has been made with reference to specific implementations. However, the illustrative discussion is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above teachings. The implementations have been chosen and described in order to best explain the principles and practical applications of the invention and to thereby enable others skilled in the art to best utilize the invention and its various implementations with various modifications as may be suited to the particular use contemplated.
Claims (20)
ディスプレイ、1つ又は複数のプロセッサ、及び前記1つ又は複数のプロセッサによる実行のために構成された1つ又は複数のプログラムを格納するメモリを有するコンピューティングデバイスにおいて、前記1つ又は複数のプロセッサが、
データソースのユーザ選択を受信することと、
データ可視化インターフェースを表示することであって、前記データ可視化インターフェースは、
データ可視化領域、
複数のシェルフを有するシェルフ領域であって、各シェルフは前記各シェルフ上へのデータフィールドの配置に基づきデータ可視化のそれぞれの特徴を定義する、シェルフ領域、及び
複数のデータオブジェクトを表示するスキーマ情報領域であって、各データオブジェクトは1つ又は複数の選択可能データフィールドを有し、各データフィールドは次元又は測度として指定される、スキーマ情報領域を含む、表示することと、
前記スキーマ情報領域から測度データフィールド及び次元データフィールドを選択するためにユーザ入力を受信することと、
前記ユーザ入力に応答して、前記次元データフィールドの別個のデータ値によりグループ分けされた前記測度データフィールドのデータを集約するカスタム計算を生成すること、及び、前記カスタム計算を前記次元データフィールドに対応するデータオブジェクトに関連付けられた新しい選択可能データフィールドとして格納することと、
前記新しい選択可能データフィールドのユーザ選択と前記シェルフ領域内の第1のシェルフ上への前記新しい選択可能データフィールドの配置とを受信することであって、前記第1のシェルフは第1のデータ可視化特徴を定義する、受信することと、
前記データ可視化領域内にデータ可視化を生成し表示することであって、前記データ可視化の前記第1のデータ可視化特徴は前記カスタム計算のデータ値に従って判断される、生成し表示することと、
を含む方法。 1. A method for generating a level of detail calculation for data visualization, comprising:
1. A computing device having a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors, the one or more processors:
Receiving a user selection of a data source;
displaying a data visualization interface, the data visualization interface comprising:
Data visualization area,
displaying a shelf area having a plurality of shelves, each shelf defining a respective characteristic of a data visualization based on an arrangement of data fields on each shelf, and a schema information area displaying a plurality of data objects, each data object having one or more selectable data fields, each data field designated as a dimension or measure;
receiving user input to select measure data fields and dimension data fields from the schema information area;
generating a custom calculation in response to the user input that aggregates data in the measure data fields grouped by distinct data values of the dimensional data fields, and storing the custom calculation as a new selectable data field associated with a data object corresponding to the dimensional data field;
receiving a user selection of the new selectable data field and placement of the new selectable data field on a first shelf within the shelf area, the first shelf defining a first data visualization feature;
generating and displaying a data visualization within the data visualization area, the first data visualization characteristic of the data visualization being determined according to a data value of the custom calculation;
The method includes:
前記測度データフィールド又は前記次元データフィールドに関連付けられたコンテキストメニューのユーザによる開始、及び
前記カスタム計算を構築するためのコンテキストメニュー選択肢の選択を含む、請求項1に記載の方法。 The user input further comprises:
The method of claim 1 , comprising: a user initiation of a context menu associated with the measure data field or the dimension data field; and a selection of a context menu option to construct the custom calculation.
前記生成されたカスタム計算が含まれるダイアログウィンドウを表示すること、及び
前記カスタム計算を編集するために前記ダイアログウィンドウ内の第2のユーザ入力を検出することをさらに含む、方法であって、
前記カスタム計算を新しい選択可能データフィールドとして格納することは、前記ダイアログウィンドウ内の保存アフォーダンスのユーザ活性化を検知することに応答して行われる、請求項4に記載の方法。 in response to the user selection of the context menu option;
displaying a dialog window including the generated custom calculation; and detecting a second user input in the dialog window to edit the custom calculation,
The method of claim 4 , wherein storing the custom calculation as a new selectable data field occurs in response to detecting user activation of a save affordance in the dialog window.
前記スキーマ情報領域から前記シェルフ領域内のシェルフ上へのデータフィールドのユーザ配置であって、前記新しい選択可能データフィールドの前記第1のシェルフ上への配置を含む、ユーザ配置に従って前記データソースに対する1つ又は複数のデータベースクエリを生成すること、
1つ又は複数のデータセットであって、前記次元データフィールドに従ってグループ分けされた前記測度データフィールドの集約データを含む、1つ又は複数のデータセットを前記データソースから取り出すために前記1つ又は複数のデータベースクエリを実行すること、及び
前記取り出されたデータセットに従って前記データ可視化を生成し表示することを含む、請求項1に記載の方法。 Generating and displaying the data visualization in the data visualization area includes:
generating one or more database queries against the data source according to a user arrangement of data fields from the schema information area onto shelves in the shelf area, including arrangement of the new selectable data field onto the first shelf;
2. The method of claim 1 , comprising: executing the one or more database queries to retrieve one or more data sets from the data sources, the data sets comprising aggregated data of the measure data fields grouped according to the dimensional data fields; and generating and displaying the data visualization according to the retrieved data sets.
前記1つ又は複数のプロセッサへ結合されたメモリであって、前記1つ又は複数のプロセッサにより実行されるように構成された1つ又は複数のプログラムを格納するメモリを含むコンピューティングデバイスであって、前記1つ又は複数のプログラムは、
データソースのユーザ選択を受信することと、
データ可視化インターフェースを表示することであって、前記データ可視化インターフェースは、
データ可視化領域、
複数のシェルフを有するシェルフ領域であって、各シェルフは前記各シェルフ上へのデータフィールドの配置に基づきデータ可視化のそれぞれの特徴を定義する、シェルフ領域、及び
複数のデータオブジェクトを表示するスキーマ情報領域であって、各データオブジェクトは1つ又は複数の選択可能データフィールドを有し、各データフィールドは次元又は測度として指定される、スキーマ情報領域を含む、表示することと、
前記スキーマ情報領域から測度データフィールド及び次元データフィールドを選択するためにユーザ入力を受信することと、
前記ユーザ入力に応答して、前記次元データフィールドの別個のデータ値によりグループ分けされた前記測度データフィールドのデータを集約するカスタム計算を生成すること、及び、前記カスタム計算を前記次元データフィールドに対応するデータオブジェクトに関連付けられた新しい選択可能データフィールドとして格納することと、
前記新しい選択可能データフィールドのユーザ選択と前記シェルフ領域内の第1のシェルフ上への前記新しい選択可能データフィールドの配置とを受信することであって、前記第1のシェルフは第1のデータ可視化特徴を定義する、受信することと、
前記データ可視化領域内にデータ可視化を生成し表示することであって、前記データ可視化の前記第1のデータ可視化特徴は前記カスタム計算のデータ値に従って判断される、生成し表示することと、
を行うための指令を含むコンピューティングデバイス。 1. A computing device comprising: one or more processors; and a memory coupled to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising:
Receiving a user selection of a data source;
displaying a data visualization interface, the data visualization interface comprising:
Data visualization area,
displaying a shelf area having a plurality of shelves, each shelf defining a respective characteristic of a data visualization based on an arrangement of data fields on each shelf, and a schema information area displaying a plurality of data objects, each data object having one or more selectable data fields, each data field designated as a dimension or measure;
receiving user input to select measure data fields and dimension data fields from the schema information area;
generating a custom calculation in response to the user input that aggregates data in the measure data fields grouped by distinct data values of the dimensional data fields, and storing the custom calculation as a new selectable data field associated with a data object corresponding to the dimensional data field;
receiving a user selection of the new selectable data field and placement of the new selectable data field on a first shelf within the shelf area, the first shelf defining a first data visualization feature;
generating and displaying a data visualization within the data visualization area, the first data visualization characteristic of the data visualization being determined according to a data value of the custom calculation;
A computing device that contains instructions to perform the steps described above.
前記測度データフィールド又は前記次元データフィールドに関連付けられたコンテキストメニューのユーザによる開始、及び
前記カスタム計算を構築するためのコンテキストメニュー選択肢の選択を含む、請求項9に記載のコンピューティングデバイス。 The user input further comprises:
The computing device of claim 9 , further comprising: a user initiation of a context menu associated with the measure data field or the dimension data field; and a selection of a context menu option to construct the custom calculation.
前記生成されたカスタム計算が含まれるダイアログウィンドウを表示すること、及び
前記カスタム計算を編集するために前記ダイアログウィンドウ内の第2のユーザ入力を検出すること、
により前記コンテキストメニュー選択肢の前記ユーザ選択に応答するための指令を含み、
前記カスタム計算を新しい選択可能データフィールドとして格納することは、前記ダイアログウィンドウ内の保存アフォーダンスのユーザ活性化を検知することに応答して行われる、請求項12に記載のコンピューティングデバイス。 The one or more programs further comprise:
displaying a dialog window including the generated custom calculation; and detecting a second user input in the dialog window to edit the custom calculation.
instructions for responding to the user selection of the context menu option by
The computing device of claim 12 , wherein storing the custom calculation as a new selectable data field occurs in response to detecting user activation of a save affordance in the dialog window.
前記スキーマ情報領域から前記シェルフ領域内のシェルフ上へのデータフィールドのユーザ配置であって、前記新しい選択可能データフィールドの前記第1のシェルフ上への配置を含む、ユーザ配置に従って前記データソースに対する1つ又は複数のデータベースクエリを生成すること、
1つ又は複数のデータセットであって、前記次元データフィールドに従ってグループ分けされた前記測度データフィールドの集約データを含む、1つ又は複数のデータセットを前記データソースから取り出すために前記1つ又は複数のデータベースクエリを実行すること、及び
前記取り出されたデータセットに従って前記データ可視化を生成し表示すること、
を行うための指令を含む、請求項9に記載のコンピューティングデバイス。 The instructions for generating and displaying the data visualization in the data visualization area further include:
generating one or more database queries against the data source according to a user arrangement of data fields from the schema information area onto shelves in the shelf area, including arrangement of the new selectable data field onto the first shelf;
executing the one or more database queries to retrieve one or more data sets from the data sources, the data sets including aggregated data of the measure data fields grouped according to the dimension data fields; and generating and displaying the data visualization according to the retrieved data sets.
10. The computing device of claim 9, further comprising instructions for:
データソースのユーザ選択を受信することと、
データ可視化インターフェースを表示することであって、前記データ可視化インターフェースは、
データ可視化領域、
複数のシェルフを有するシェルフ領域であって、各シェルフは前記各シェルフ上へのデータフィールドの配置に基づきデータ可視化のそれぞれの特徴を定義する、シェルフ領域、及び
複数のデータオブジェクトを表示するスキーマ情報領域であって、各データオブジェクトは1つ又は複数の選択可能データフィールドを有し、各データフィールドは次元又は測度として指定される、スキーマ情報領域を含む、表示することと、
前記スキーマ情報領域から測度データフィールド及び次元データフィールドを選択するためにユーザ入力を受信することと、
前記ユーザ入力に応答して、前記次元データフィールドの別個のデータ値によりグループ分けされた前記測度データフィールドのデータを集約するカスタム計算を生成すること、及び、前記カスタム計算を前記次元データフィールドに対応するデータオブジェクトに関連付けられた新しい選択可能データフィールドとして格納することと、
前記新しい選択可能データフィールドのユーザ選択と前記シェルフ領域内の第1のシェルフ上への前記新しい選択可能データフィールドの配置とを受信することであって、前記第1のシェルフは第1のデータ可視化特徴を定義する、受信することと、
前記データ可視化領域内にデータ可視化を生成し表示することであって、前記データ可視化の前記第1のデータ可視化特徴は前記カスタム計算のデータ値に従って判断される、生成し表示することと、
を行うための指令を含む非一時的コンピュータ可読ストレージ媒体。 1. A non-transitory computer-readable storage medium storing one or more programs configured for execution by a computer system having one or more processors and a memory, the one or more programs comprising:
Receiving a user selection of a data source;
displaying a data visualization interface, the data visualization interface comprising:
Data visualization area,
displaying a shelf area having a plurality of shelves, each shelf defining a respective characteristic of a data visualization based on an arrangement of data fields on each shelf, and a schema information area displaying a plurality of data objects, each data object having one or more selectable data fields, each data field designated as a dimension or measure;
receiving user input to select measure data fields and dimension data fields from the schema information area;
generating a custom calculation in response to the user input that aggregates data in the measure data fields grouped by distinct data values of the dimensional data fields, and storing the custom calculation as a new selectable data field associated with a data object corresponding to the dimensional data field;
receiving a user selection of the new selectable data field and placement of the new selectable data field on a first shelf within the shelf area, the first shelf defining a first data visualization feature;
generating and displaying a data visualization within the data visualization area, the first data visualization characteristic of the data visualization being determined according to a data value of the custom calculation;
A non-transitory computer-readable storage medium comprising instructions for performing the steps of:
前記測度データフィールド又は前記次元データフィールドに関連付けられたコンテキストメニューのユーザによる開始、及び
前記カスタム計算を構築するためのコンテキストメニュー選択肢の選択を含む、請求項17に記載のコンピュータ可読ストレージ媒体。 The user input further comprises:
20. The computer-readable storage medium of claim 17, further comprising: a user initiation of a context menu associated with the measure data field or the dimension data field; and a selection of a context menu option to construct the custom calculation.
前記生成されたカスタム計算が含まれるダイアログウィンドウを表示すること、及び
前記カスタム計算を編集するために前記ダイアログウィンドウ内の第2のユーザ入力を検出すること、
により前記コンテキストメニュー選択肢の前記ユーザ選択に応答するための指令を含み、
前記カスタム計算を新しい選択可能データフィールドとして格納することは、前記ダイアログウィンドウ内の保存アフォーダンスのユーザ活性化を検知することに応答して行われる、請求項19に記載のコンピュータ可読ストレージ媒体。 The one or more programs further comprise:
displaying a dialog window including the generated custom calculation; and detecting a second user input in the dialog window to edit the custom calculation.
instructions for responding to the user selection of the context menu option by
20. The computer-readable storage medium of claim 19, wherein storing the custom calculation as a new selectable data field occurs in response to detecting user activation of a save affordance in the dialog window.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063087862P | 2020-10-05 | 2020-10-05 | |
US63/087,862 | 2020-10-05 | ||
US17/095,696 | 2020-11-11 | ||
US17/095,696 US11429271B2 (en) | 2019-11-11 | 2020-11-11 | Methods and user interfaces for generating level of detail calculations for data visualizations |
PCT/US2021/052578 WO2022076220A1 (en) | 2020-10-05 | 2021-09-29 | Methods and user interfaces for generating level of detail calculations for data visualizations |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023543543A JP2023543543A (en) | 2023-10-17 |
JP7535171B2 true JP7535171B2 (en) | 2024-08-15 |
Family
ID=81126188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023506339A Active JP7535171B2 (en) | 2020-10-05 | 2021-09-29 | Method and user interface for generating level of detail calculations for data visualization - Patent Application 20070123633 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4182807A1 (en) |
JP (1) | JP7535171B2 (en) |
CN (1) | CN116235162A (en) |
WO (1) | WO2022076220A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12159116B1 (en) * | 2021-04-07 | 2024-12-03 | Tableau Software, LLC | Contextual utterance recommendations for natural language interfaces that support conversational visual analysis |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070300172A1 (en) | 2002-04-18 | 2007-12-27 | Sap Ag | Manipulating A Data Source Using A Graphical User Interface |
US20180129513A1 (en) | 2016-11-06 | 2018-05-10 | Tableau Software Inc. | Data Visualization User Interface with Summary Popup that Includes Interactive Objects |
JP2020504347A (en) | 2016-11-07 | 2020-02-06 | タブロー ソフトウェア,インコーポレイテッド | User interface to prepare and curate data for subsequent analysis |
JP2022504230A (en) | 2018-10-08 | 2022-01-13 | タブロー ソフトウェア,インコーポレイテッド | Determining the level of detail of data visualization using natural language structure |
-
2021
- 2021-09-29 EP EP21806455.8A patent/EP4182807A1/en active Pending
- 2021-09-29 CN CN202180057913.5A patent/CN116235162A/en active Pending
- 2021-09-29 WO PCT/US2021/052578 patent/WO2022076220A1/en unknown
- 2021-09-29 JP JP2023506339A patent/JP7535171B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070300172A1 (en) | 2002-04-18 | 2007-12-27 | Sap Ag | Manipulating A Data Source Using A Graphical User Interface |
US20180129513A1 (en) | 2016-11-06 | 2018-05-10 | Tableau Software Inc. | Data Visualization User Interface with Summary Popup that Includes Interactive Objects |
JP2020504347A (en) | 2016-11-07 | 2020-02-06 | タブロー ソフトウェア,インコーポレイテッド | User interface to prepare and curate data for subsequent analysis |
JP2022504230A (en) | 2018-10-08 | 2022-01-13 | タブロー ソフトウェア,インコーポレイテッド | Determining the level of detail of data visualization using natural language structure |
Also Published As
Publication number | Publication date |
---|---|
JP2023543543A (en) | 2023-10-17 |
EP4182807A1 (en) | 2023-05-24 |
CN116235162A (en) | 2023-06-06 |
WO2022076220A1 (en) | 2022-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019246901B2 (en) | Graphical user interface that simplifies user creation of custom calculations for data visualizations | |
US10515121B1 (en) | Systems and methods of using natural language processing for visual analysis of a data set | |
US9830058B2 (en) | Generating an insight view while maintaining report context | |
US11797614B2 (en) | Incremental updates to natural language expressions in a data visualization user interface | |
US9619110B2 (en) | Assistive overlay for report generation | |
CN107111639B (en) | Building reports | |
US11068131B1 (en) | Integrated drill down within a natural language interface for a data analysis platform | |
US20120174013A1 (en) | Add and combine reports | |
US11625163B2 (en) | Methods and user interfaces for generating level of detail calculations for data visualizations | |
JP7535171B2 (en) | Method and user interface for generating level of detail calculations for data visualization - Patent Application 20070123633 | |
US12039348B1 (en) | User interface models providing dynamic analytical capability | |
US11704319B1 (en) | Table calculations for visual analytics using concise level of detail semantics | |
JP7554288B2 (en) | A conversational natural language interface for data analysis. | |
US12067358B1 (en) | Using a natural language interface to explore entity relationships for selected data sources | |
US12067368B1 (en) | Using semantic models determined based on data source and context in a natural language interface for visual data analysis | |
US12216646B2 (en) | Data retreival framework and use thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230630 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240628 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240628 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240729 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240802 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7535171 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |