JP2018500680A - レポートの構築 - Google Patents

レポートの構築 Download PDF

Info

Publication number
JP2018500680A
JP2018500680A JP2017532792A JP2017532792A JP2018500680A JP 2018500680 A JP2018500680 A JP 2018500680A JP 2017532792 A JP2017532792 A JP 2017532792A JP 2017532792 A JP2017532792 A JP 2017532792A JP 2018500680 A JP2018500680 A JP 2018500680A
Authority
JP
Japan
Prior art keywords
data
field
relationship
report
data structure
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.)
Granted
Application number
JP2017532792A
Other languages
English (en)
Other versions
JP6518768B2 (ja
Inventor
ラディヴォイェヴィック,ドゥサン
モス,ピーター
Original Assignee
アビニシオ テクノロジー エルエルシー
アビニシオ テクノロジー エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アビニシオ テクノロジー エルエルシー, アビニシオ テクノロジー エルエルシー filed Critical アビニシオ テクノロジー エルエルシー
Publication of JP2018500680A publication Critical patent/JP2018500680A/ja
Application granted granted Critical
Publication of JP6518768B2 publication Critical patent/JP6518768B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2423Interactive query statement specification based on a database schema
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2448Query languages for particular applications; for extensibility, e.g. user defined types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Computer Interaction (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

レポートを構築するために、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む、方法、システム、および装置。方法のうちの1つは、関係構造化データに基づいてモデルを作成することを含み、構造化データはデータ構造を含み、各データ構造はデータ要素を有し、各データ要素はフィールドを有し、各フィールドは名前を有する。方法は、モデル内にオブジェクトの階層を生成することを含み、階層は、オブジェクト上の関係フィールドに従い、開始オブジェクトに関してオブジェクトを編成する。方法は、階層内のオブジェクトのうちの1つまたは複数についての要素を含むユーザインターフェースを生成することを含み、ユーザインターフェースは、ユーザがレポートを作成し、新しい名前を使用してレポートをフィルタリングできるようにするものである。方法は、要素からの要素のユーザ選択を受信することを含む。方法は、レポートを生成することも含む。

Description

本明細書は、レポートの構築に関する。
データベースは大量の情報を記憶することができる。情報が記憶される様式は、必ずしも直観的ではない。代わりに、データベースの構造は、参照整合性の維持、アクセスの速度、および冗長性の最小化などの要因に基づいて決定される。論理的にまとめてグループ化することができるデータを、別々のエンティティに記憶することが可能である。複雑な関係は、物理的な対応先を持たない追加のエンティティを追加することによって解決可能である。
一般に、本明細書で説明する本主題の態様1は、構造化データに基づいてモデルを作成するアクションを含む方法において具体化可能であり、構造化データはデータ構造を含み、各データ構造はデータ要素を有し、各データ要素はフィールドを有し、各フィールドは名前を有する。モデルを作成することは、構造化データ内のデータ構造に基づいてモデル内にオブジェクトを作成すること、データ構造内のフィールドの名前を自然言語名に変換すること、新しい名前を有するオブジェクト上にフィールドを作成すること、および、構造化データ内のデータ構造間の関係に基づいてオブジェクト上に関係フィールドを作成することを含む。方法は、モデル内にオブジェクトの階層を生成することを含み、階層は、オブジェクト上の関係フィールドに従い、開始オブジェクトに関してオブジェクトを編成する。本態様は、階層内の1つまたは複数のオブジェクトについての要素を含むユーザインターフェースを生成することを含み、ユーザインターフェースは、ユーザがレポートを作成し、新しい名前を使用してレポートをフィルタリングできるようにするものである。方法は、要素からの要素のユーザ選択を受信することを含む。方法は、要素に対応するデータ構造を識別することを含むレポートを生成すること、データソース内で識別されたデータ構造内の少なくとも1つのフィールドからデータを取得すること、および、データをユーザに提示することを含む。
態様2は態様1に従い、名前を変換することは、ルックアップテーブルを使用して名前を変換することを含み得る。
態様3は態様1または2のいずれかに従い、関係フィールドは、データ構造内の1データ要素と第2のデータ構造内の第2の1データ要素との間の関係を表す参照フィールドとすることができる。
態様4は態様1、2、または3のいずれかに従い、関係フィールドは、データ構造内の1データ要素と第2のデータ構造内の第2のデータ要素との間の関係を表す集合フィールドとすることができる。
態様5は態様1、2、3、または4のいずれかに従い、ユーザインターフェースは、集合フィールド上で使用可能な集約関数を含むことができる。
態様6は態様1、2、3、4、または5のいずれかに従い、関係フィールドは、データ構造内の1データ要素とデータ構造内の第2のデータ要素との間の関係を表す親子フィールドとすることができる。
態様7は態様1、2、3、4、5、または6のいずれかに従い、構造化データは構造化データベースとすることができ、データ構造は構造化データベース内のテーブルである。
態様8は態様1、2、3、4、5、6、または7のいずれかに従い、構造化データは1つまたは複数のファイルとすることができる。
態様9は態様1、2、3、4、5、6、7、または8のいずれかに従い、レポートを生成することは、ユーザ選択の受信に応答して生じ得る。
態様10は態様1、2、3、4、5、6、7、8、または9のいずれかに従い、ユーザインターフェースは、見たままが得られる(what-you-see-is-what-you-get)インターフェースを使用したレポートのインタラクティブな作成を可能にし、ユーザインターフェースは、データ値を含むレポートの視覚フィードバックを、レポートのファイナライズ前にほぼリアルタイムで提供することができる。
態様11は態様1、2、3、4、5、6、7、8、9、または10のいずれかに従い、ユーザインターフェースを生成することは、開始オブジェクトの選択をユーザから受信することをさらに含むことができる。
態様12は態様1、2、3、4、5、6、7、8、9、10、または11のいずれかに従い、自然言語名は、構造化データに関する限定文字のセット内の少なくとも1つの文字を含むことができる。
態様13は態様1、2、3、4、5、6、7、8、9、10、11、または12のいずれかに従い、構造化データ内のデータ構造間の関係に基づいてオブジェクト上に関係フィールドを作成することは、構造化データ内の主キー対外部キーの関係を表すために関係オブジェクトを作成することを含むことができる。
本態様の他の実施形態は、対応するコンピュータシステム、装置、および、1つまたは複数のコンピュータ記憶デバイス上に記憶されたコンピュータプログラムを含み、各々が方法のアクションを実行するように構成される。1つまたは複数のコンピュータのシステムは、動作中、システムにアクションを実行させる、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを有することによって、特定のアクションを実行するように構成可能である。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行された場合、装置にアクションを実行させる命令を含むことによって、特定のアクションを実行するように構成可能である。
態様は、以下の利点のうちの1つまたは複数を含むことができる。レポートはリアルタイムで更新可能であり、ユーザはレポートの反響を即時に見ることができる。レポートは迅速に作成可能である。
本発明の他の特徴および利点は、以下の説明から、および特許請求の範囲から、明らかとなるであろう。
レポートを構築するための環境の例を示す図である。 リレーショナルデータベースをメタモデルにマッピングする例を示す図である。 レポートを構築するためのユーザインターフェースの例を示す図である。 レポートを構築するためのユーザインターフェースの例を示す図である。 レポートを構築するためのユーザインターフェースの例を示す図である。 レポートを構築するためのユーザインターフェースの例を示す図である。 レポートを構築するための例示的プロセスを示すフローチャートである。 レポートを構築するための例示的プロセスを示すフローチャートである。
レポーティングツールとは、データベース、XMLストリーム、またはスプレッドシートなどのソースからデータを取り、これを使用して特定の人間の読者を満足させる形式で文書を生成することを目的とする、コンピュータプログラムである。従来のレポーティングツールにおいて、熟練したユーザは、特定のレポートまたはレポートのセットのためのデータにアクセスできるビューをセットアップする。通常、ビューは、基礎となるデータ(たとえば、データベースの関係モデル)の構造を理解する技術系ユーザによってセットアップされる。ビューは、レポートを生成するために従来のレポートビルダによって使用および操作される。しかしながら、ビューのセットアップは手動プロセスであるため、ビューは典型的には基礎となるデータ方式の小部分を反映するか、または特定のビジネス上の問題に特有であり得る。
加えて、これらのビューは、通常、ユーザフレンドリなデータの表現を示さない。ビューは、通常、レポーティングツールのエンドユーザにとって直観的でない可能性のある関係モデル内に表される通りに、フィールドを提示する。
これに対してここで提示される手法は、レポートの作成プロセスを、エンドユーザにとってかなり直観的、インタラクティブ、および効率的にする、2つの新規な要素を含む。
その第1は、関係データをビジネスフレンドリな用語で記述するメタモデルの作成概念である。関係は、直観的な階層メタモデルを作成するようにモデル化される。
第2に、レポートビルダアプリケーションを使用して、ユーザが特別な公式レポートを迅速かつ容易に作成できるようにするために、非常にインタラクティブなユーザインターフェース(UI)内にメタモデルが提示される。レポートビルダUIは、ユーザがレポートを作成する際に、インスタントフィードバックを提供する。ドラッグアンドドロップインターフェースを介してレポートに列を追加することが可能であり、単純で容易な様式でフィルタを適用することが可能である。これらの機能により、ユーザは特別な調査活動を迅速に実行し、幅広いユーザのセットによる実行のためにより公式なレポートを作成することができる。
メタモデルは、基礎となるデータソースから直接、または基礎となるデータを記述する仕様から、生成することができる。メタモデルは、オブジェクト、オブジェクトのフィールド、オブジェクト間の関係、およびメタモデル内のオブジェクトと基礎となるデータとの間のマッピングを識別する。
これらの関係は対称的であり、いずれかの方向にナビゲート可能である。たとえば、ある関係が顧客に基づいたオーダーの識別を可能にする場合、対応する関係はオーダーに基づいた顧客の識別を可能にする。
図1は、レポートを構築するための環境100の例を示す。データソース102は、たとえばリレーショナルデータベース、オブジェクトデータベース、構造化データファイル(SGMLまたはXMLファイルなど)、階層型データベース、データ倉庫、または任意の他のデータ記憶システムとすることができる。一般に、データソース102は、内部でデータ記録が識別可能であり、そのデータ記録が個々のフィールドに関連付けられた値を含む、任意のデータストアとすることができる。
レポートの生成に先立ち、モデル生成器104は、以下でさらに説明するように、データソース102またはデータソースを記述する仕様を読み取り、メタモデルを生成することができる。メタモデルが生成されると、ユーザインターフェースによって後に使用するために保存される。通常、メタモデルはユーザインターフェースがデータソースのビジネスフレンドリフォームを提示することを可能にする。たとえば、メタモデルは、技術的理由で確立された制約および関係を消去または簡略化する一方で、ビジネス概念に対応するデータソース内に確立された制約および関係を反映することができる。
メタモデル内のオブジェクトは、異なる種類のフィールドを含むことができる。通常のフィールドは、名前、誕生日、量、および説明などのデータを、レポートに提供する単純なフィールドである。参照フィールドは、メタモデル内の他のオブジェクトを指し示すフィールドである。参照フィールドは、基礎となるデータソース内の外部キーから導出可能である。メタモデルは、集合フィールドを含むことも可能である。集合フィールドは、別のオブジェクトに関連付けられたオブジェクトの集合の論理的表現である。集合内のオブジェクトに対するオブジェクトの関係は1対多数である。通常、オブジェクトがターゲットオブジェクトのうちの最大で1つに関連付けられた場合、参照フィールドが使用され、オブジェクトがターゲットオブジェクトのうちの多くに関連付けられ得る場合、集合フィールドが使用される。
ユーザインターフェースモジュール106は、モデル生成器104によって生成されたメタモデルを読み取り、ユーザ112への提示のためにユーザインターフェース110を生成する。ユーザインターフェースモジュール106は、たとえば、クライアントデバイス上で実行されるウェブブラウザ上でユーザ112に提示されるウェブページまたはアプリケーションを生成することができる。
ユーザ112は、レポートを生成するためにユーザインターフェース110と対話する。たとえばユーザインターフェース110は、ユーザ選択レポート情報をユーザインターフェースモデル106に提供することができる。ユーザインターフェースモジュール106は、レポート情報をレポートモジュール108に提供することができる。レポートモジュール108は、データソース102に対してレポートを実行する。いくつかの実装において、レポートモジュール106は、レポート情報およびモデル生成器104からの情報(たとえば、メタモデル)を使用して、レポートを生成することができる。レポートモジュール108の出力は、ユーザ112への提示のために、ユーザインターフェースモジュール116を介してユーザインターフェース110に戻すことができる。これにより、ほぼリアルタイムな(たとえば、5秒未満のレイテンシでの)結果がユーザ112に提供される。このワークフローは、ユーザ112が、レポートが構築されているときにレポートに対して行われている変更の影響を見ることができる。
図2は、リレーショナルデータベースに基づくメタモデルの生成の例を示す。この例では、データソース102の構造がエンティティ関係モデル200内に反映されている。一般に、テーブル内のデータの行間の関係は、第2のテーブル内のデータの行内の主キーを参照する1つのテーブルのデータの行内に外部キーを含めることによって確立することができる。通常、外部キーは、外部キーが外部キーのないテーブル内の単一行に関連付けられた、テーブル内の複数の行を可能にする関係の側に記憶される。データベースは、1つのテーブルが別のテーブルとどのように関係しているかを記述することができる。データベース内の関係は、一般に関係の濃度と呼ばれる、2つのオブジェクト間の関係におけるいくつかの要素を記述することができる。「1対1」は、テーブルA内の1つの行がテーブルB内の1つの行に関係することを示す。「1対多数」は、テーブルA内の1つの行がテーブルB内の多数の行に関係することを示す。「多数対多数」は、テーブルA内の多数の行がテーブルB内の多数の行に関係することを示す。
この例において、顧客テーブル202内の行はオーダーテーブル210内の多くの行に関係付けることが可能であり、オーダーテーブル210内の各行は顧客テーブル202内の1行のみに関係付けることが可能である。前述のように、この関係は、顧客テーブル202内の行を識別する、オーダーテーブル内の外部キーの導入によって作成される。同様に、オーダーテーブル210内の行はラインアイテムテーブル212内の多くの行に関係付けることが可能であり、ラインアイテムテーブル212内の行はオーダーテーブル210内の1行のみに関係付けることが可能である。製品テーブル214内の行はラインアイテムテーブル212内の多くの行に関係付けることが可能であり、ラインアイテムテーブル212内の行は製品テーブル内の1行のみに関係付けることが可能である。
顧客テーブル202内の行は顧客アドレステーブル204内の多数の行に関係付けることが可能であり、顧客アドレステーブル204内の行は顧客テーブル202内の1行に関係付けることが可能である。顧客アドレステーブル204内の行はアドレステーブル206内の1行に関係付けることが可能であり、アドレステーブル206内の行は顧客アドレステーブル204内の多数の行に関係付けることが可能である。アドレステーブル206内の行は国テーブル208内の1行に関係付けることが可能であり、国テーブル208内の行はアドレステーブル206内の多数の行に関係付けることが可能である。
物理データベースの作成は、データベーステーブルの導入と、データベースの管理および維持を簡略化するためにのみ存在する関係とを含むことができる。たとえば、データベースの正規化は、冗長性を最小化するためにリレーショナルデータベースのフィールドおよびテーブルを編成するプロセスである。正規化は、通常、大きなテーブルを小さなテーブルに分割すること、およびそれらの間の関係を定義することを含む。正規化されたデータベースは、フィールドの追加、削除、および修正が1テーブル内でのみ実行された後、定義された関係を使用して残りのデータベース全体に伝搬できるように、データを分離する。データベースの正規化は、ビジネスユーザによって容易に理解される概念に必ずしも対応していないテーブルを導入することができる。たとえば、正規化されたデータベースは、通常、多数対多数の関係を解決するためのテーブルを導入する。たとえば、ある顧客は多数のアドレスを有し得、多くの顧客は同じアドレスに常駐することが可能であって、顧客テーブル202とアドレステーブル206との間のこの多数対多数の関係は、顧客アドレステーブル204の導入を介して解決される。他のテーブル間の多数対多数の関係を解決するためにのみ働くこれらのテーブルは、リンクテーブルと呼ぶことができる。一般に、リンクテーブルはビジネスユーザにとってほとんど意味がない可能性がある。
メタモデル生成器は、メタモデル216を生成する。一般に、メタモデル216は、ビジネスにより密接に関係し、データセットの物理的実装にはそれほど関係しないような、データ要素間の関係を記述する。メタモデル内の関係は双方向である。たとえば顧客218は1つまたは複数のアドレス220を有し、アドレス220は1人または複数の顧客218を有する。同様に、顧客218は1つまたは複数のオーダー226を有し、オーダー226は1人の顧客218を有する。
メタモデル内の関係は、参照関係として特徴付けることが可能であり、ここでオブジェクトは1つの他のオブジェクトのみに関連付けられる(たとえば、オーダーオブジェクト226と顧客218との間の関係)。代替として、メタモデル内の関係は、集合関係として特徴付けることが可能である(たとえば、顧客218とオーダー226との間の関係)。
モデル生成器は、初期に、リレーショナルデータベース内のテーブルについてオブジェクトを生成する。モデル生成器は、基礎となるテーブル内のフィールドに対応するオブジェクト上のフィールドを作成することができる。モデル生成器は、基礎となるデータ構造を分析することによって、メタモデル内のオブジェクト間の関係を識別することも可能であり、たとえばモデル生成器は、顧客テーブルとオーダーテーブルとの間の主キー対外部キー関係を識別することができる。オーダーテーブル内の顧客テーブルに対する外部キーの存在に基づいて、モデル生成器は、オーダーオブジェクトと顧客オブジェクトの間の参照関係、および顧客オブジェクトとオーダーオブジェクトの間の集合関係を作成する。
名前は、所定の命名規則に基づいて決定することができる。たとえば、データベース内のフィールドは、単語を分けるためにキャメルケースを用いてラベル付けすることができる(たとえば、「FirstName」)か、または、データベース内のフィールドは、下線を用いて命名することができる(たとえば、「first_name」)。モデル生成器は、規則をユーザフレンドリな名前に変換することに基づいて、メタモデルについてのフィールド「First Name」を作成することができる。変換は、ヒューリスティックス、正規表現、または明示的変換ルーチンを使用して実行可能である。いくつかの実装において、メタモデル内で使用される名前は自然言語名とすることができる。自然言語または日常言語は、人の脳内に自然発生的に生じる任意の言語である。したがって典型的には、これらは、人が会話、歌、触れ合い、または書くことによって、互いにコミュニケーションを取るために使用する言語である。これらは、コンピュータのプログラミングまたは論理の研究のために使用されるような、構造化言語および形式言語とは区別される。これらの名前は、予約文字を含む無制限文字セットから作成可能である。予約文字とは、別の場所でデータベースまたはオペレーティングシステムによって利用されているために、使用することができない文字または記号である。たとえば、多くのオペレーティングシステムは、文字「\、/、:、、?、”、<、>、および|」を予約し、これらの文字が使用されるのを許可しない。いくつかのデータベースは空白文字の使用を制限する。いくつかの実装において、制限文字のセットは、基礎となるデータベースまたはデータストアに依存することができる。
いくつかの実装において、モデルは、オブジェクトがレポートに含まれる場合、デフォルトフィールドとして働くデータの1つまたは複数のフィールドを識別することができる。たとえば顧客オブジェクトは、2つのデフォルトフィールドとして「first name」および「last name」を有することができる。いくつかの実装において、デフォルトフィールドは1つまたは複数のフィールドに適用される公式とすることが可能であり、たとえば顧客オブジェクトのデフォルトフィールドは、名前と名字の連結とすることができる。オーダーオブジェクト226のデフォルトフィールドは、オーダー番号とすることができる。製品オブジェクト228のデフォルトフィールドは、製品名とすることができる。モデル内の他のオブジェクトも各々、それらに関連付けられたデフォルトフィールドを有することができる。
メタモデル218は、データタイプを含むフィールドに関する情報およびフィールド上に配置された任意の制約を含むこともできる。たとえば顧客オブジェクト218は、文字列である名前フィールドと、日付である誕生日フィールドとを含むことができる。
ユーザは、メタモデルに濃縮を加えることができる。たとえば図2において点線で表されるように、ユーザは顧客オブジェクト218と製品オブジェクト230との間にリンクを作成することができる。モデル生成器は、選択されたオブジェクト間のナビゲーション経路に基づく関係の濃度を決定することができる。この例では、顧客オブジェクト210からオーダーオブジェクト226、ラインアイテムオブジェクト228、製品オブジェクト230までである。これらのオブジェクト間の関係に基づいて、モデル生成器は、2つの選択されたオブジェクト間の関係が1対1、1対多数、多数対1、または多数対多数の関係であるかどうかを判定することができる。
図3は、レポートを構築するためのユーザインターフェースの例を示す。この例において、ユーザインターフェースの左側302では、選択されたオブジェクトの要素が階層に編成されている。ユーザは、開始オブジェクトをレポートの主題オブジェクト(この例では、図2の顧客オブジェクト218)として選択する。主題オブジェクトは、ユーザインターフェースが表示される前に選択可能であるか、または、ユーザインターフェース上に表示されるユーザインターフェース要素(図示せず)を使用して選択することができる。
ユーザインターフェースは、主題オブジェクトを開始ポイントとして使用して、オブジェクトの階層を示す。
顧客要素304の下に、アドレス(複数)要素306およびオーダー(複数)要素310がある。アドレス(複数)要素の下に国要素307がある。オーダー(複数)要素の下にラインアイテム(複数)要素がある。ラインアイテム(複数)要素312の下に製品要素314がある。前述のように、メタモデルにおいて、各関係は、メタモデル内の関係を2方向に(たとえば、顧客オブジェクト218からオーダーオブジェクト226へ、およびオーダーオブジェクト226から顧客オブジェクト218へ)ナビゲートすることが可能な、対応する逆関係を有する。いくつかの実装において、ユーザインターフェースは逆関係を表示しない。たとえば、顧客要素304はネストされたアドレス(複数)要素306を有するが、顧客要素304は階層内でアドレス(複数)要素306の直前にあるため、ユーザインターフェースは顧客要素をアドレス(複数)要素306の下には表示しない。言い換えれば、ユーザインターフェースによって、ユーザが顧客からアドレスへとナビゲートし、再度顧客に戻ることはできない。ユーザインターフェースは、顧客からアドレスへとメタモデルをナビゲートすることに基づいてアドレス要素を表示するため、ユーザインターフェースは関係をアドレスから顧客へはナビゲートしないことになる。いくつかの実装において、ユーザインターフェースは、円形参照の提示を防ぐ論理を含む。
階層内のユーザインターフェースにおけるアイコンは、メタモデル内の2つのオブジェクト間の関係の濃度を示すことができる。たとえば図2を参照すると、モデル216は、1つの顧客オブジェクト218を多数のオーダー226に関係付けることができることを示し、すなわち、顧客オブジェクト218とオーダーオブジェクト226との間の関係の濃度は1対多数である。同様に、各オーダーオブジェクト226が1つの顧客オブジェクト218に関連付けられるため、オーダーオブジェクト226と顧客オブジェクト218との間の関係の濃度は多数対1である。再度図3を参照すると、顧客データ要素304の下にネストされたオーダーデータ要素310は、複数形(たとえば、「オーダー」に対して「オーダー(複数)」)で提示される。オブジェクト名を複数形で提示することで、顧客(より高位のデータ要素)が多数のオーダーに関係付けられていることを反映する。さらに、アイコンを使用して、視覚的な指示を提供することが可能であり、たとえばオーダー(複数)要素310の隣に存在するアイコンは複数のフォルダを表示し、顧客が複数のオーダーを有し得ることを示す。対照的に、製品要素314は単数名詞を使用して記述され、単一フォルダを表示するアイコンを含む。これは、各ラインアイテムが1製品のみを有し得ることを示す。
ユーザインターフェースは、モデル内の濃縮関係に基づいてオブジェクトを表示することも可能である。たとえば、製品(複数)315要素は顧客要素304の下にネストされる。
オブジェクトに加えて、ユーザインターフェースはオブジェクトのフィールド(たとえば、誕生日フィールド308)を表示することも可能である。フィールド名によって、ユーザはオブジェクトの追加フィールドをレポートに加えることができる。
いくつかの実装において、ユーザインターフェースはメタモデル全体をメモリ内にロードすることができる。メタモデルをメモリ内にロードすることはより効率的であり、他のレポートビルダには存在しない様式で階層をナビゲートすることができる。たとえばユーザインターフェース300は、図2のメタモデル216をメモリ内に保持することができる。ユーザが顧客要素304を展開する場合、ユーザインターフェース300は、階層をどのようにポピュレートするかを決定するためにメタモデル216を参照する。この例では、図2を参照すると、顧客オブジェクト218はオーダーオブジェクト226およびアドレスオブジェクト220に関係付けられる。したがって、再度図3を参照すると、ユーザインターフェースは、顧客要素の下にネストされた階層にオーダー要素306およびアドレス(複数)要素306を追加する。同様に、ユーザがオーダー(複数)要素306を展開する場合、ユーザインターフェース300は図2のメタモデル216を参照することができる。この例では、図2を参照すると、オーダーオブジェクト226はラインアイテムオブジェクト228に関係付けられる。したがって、再度図3を参照すると、ユーザインターフェースは、オーダー要素310の下にネストされた階層にラインアイテム(複数)要素312を追加する。
ユーザインターフェースは、以下でさらに考察するように、ユーザがレポートを作成できる右側を含むこともできる。図4を参照すると、ユーザはユーザインターフェースの左側302から要素を選択し、これを、ユーザインターフェースの右側にドラッグするか、さもなければユーザインターフェースの右側に要素を配置することができる。ユーザインターフェース300の右側338に要素を追加することで、追加された要素に基づいてレポート内に列を生成する。列は、ヘッダおよび基礎となるデータからのデータを含むことができる。たとえば、顧客要素304をユーザインターフェース300の右側338にドラッグすることで、顧客の名前を表示するレポートのための列340を生成する。同様に、オーダー(複数)要素310をユーザインターフェース300の右側338にドラッグすることで、オーダー番号列342がレポートに追加される。
たとえば、ユーザが顧客要素304をユーザインターフェース300の右側のキャンバス322上にドラッグした場合、レポートには基礎となるモデル内の顧客オブジェクトからデフォルトフィールドがポピュレートされる。この例では、デフォルトフィールドは顧客名である。レポートには、リアルタイムまたはほぼリアルタイムで、基礎となるデータソース(たとえば、図1のデータソース102)内の顧客テーブル内の行からの顧客名デフォルトフィールドに対応するフィールドまたはフィールド(複数)からの値をポピュレートすることができる。この例では、レポートには顧客名「John Smith」および「Steve Miller」がポピュレートされる。
いくつかの実装では、そのレポート主題に基づいて初期フィールドをレポートに追加することができる。
たとえば、一実装において、顧客要素304をキャンバス322上にドラッグすることで、以下のSQLステートメントを生成および実行することができる。
SELECT CUSTOMER_TABLE.CUSTOMER_NAME FROM CUSTOMER_TABLE;
ユーザがオーダー(複数)要素306をキャンバス322上にドラッグすると、レポートにはオーダーオブジェクトからのデフォルトフィールドがポピュレートされ、この例では、オーダーオブジェクトのデフォルトフィールドはオーダー番号326である。前述のように、オーダー要素がキャンバスに追加されるとすぐに、データベースのために対応する関係およびクエリを生成および取得することができる。一般に、オブジェクトおよびフィールドは、レポート内のいずれの位置に配置することも可能である。たとえばユーザは、新規オブジェクトを既存の列の前、後ろ、または間に配置することができる。ユーザインターフェースによって、ユーザは列を並べ替えることもできる。
レポートをポピュレートするために使用される値は、レポート内に既に存在する顧客に関係する、基礎となるデータソース内のオーダーテーブルの行から取られる。この場合、John Smithに関する顧客テーブル内のデータの行は、オーダー#12345およびオーダー#54321の2つのオーダーに関係する。たとえば、オーダー#12345を伴うオーダーテーブル内の行は、John Smithに関する顧客テーブル内の行に関連付けられた主キーを参照する外部キーであるフィールドを有する。Steve Millerに関する顧客テーブル内のデータの行は、オーダー#84053およびオーダー#12331のオーダーテーブル内の2つの行に関連付けられる。
たとえば、一実装において、顧客要素304の後のオーダー要素306をキャンバス322上にドラッグすることで、以下のSQLステートメントを生成および実行することができる。
SELECT CUSTOMER_TABLE.CUSTOMER_NAME, ORDER_TABLE.ORDER_NUMBER FROM CUSTOMER_TABLE, ORDER_TABLE
WHERE CUSTOMER_TABLE.CUSTOMER_ID=ORDER_TABLE.CUSTOMER_ID;
この例では、WHERE節内に記述された関係は、階層関係に基づいて、顧客要素304とオーダー要素306との間に含められる。
同様に、ユーザが製品要素308をキャンバス322上にドラッグした場合、製品データオブジェクトに関するデフォルトフィールド(この場合、製品名328)を表示するように、レポートを更新することができる。この場合、レポートは、階層的にオーダー要素306の下に配置された製品要素308の選択に基づく、製品テーブルとオーダーテーブルとの間の関係を含む。
この例では、オーダー#12345はゴルフボールおよびアイアンセットの2つの製品を含む。オーダー#54321はゴルフバッグ製品を含む。オーダー#84053は、ゴルフボールおよびゴルフティーの2つの製品を含む。オーダー#12331は、ドライバおよびウッドセット製品を含む。
ユーザインターフェースは、レポートに追加されることになる集約関数を提供する。集約関数は、フィールドの値に関する演算を自動的に実行する。集約関数の例はCOUNTを含み、(指定する属性に応じて)フィールド内の行の総数を表示する。具体的に言えば、COUNTはフィールド内の非NULL値の数を戻し、COUNTDISTINCTはフィールド内の固有値の数を表示し、MINはフィールド内の最小値を表示する。MAXはフィールド内の最大値を表示する。SUMはフィールドの値の合計を提供する。AVGはフィールドの平均値(算術平均)を表示し、これはフィールド内の値を合計し、その合計を値の総数で割るものであり、EXISTSは、フィールド内にいずれかの非NULL値が存在するかどうかを示すブール値(真または偽)を表示する。
いくつかの集約関数は、異なるタイプのフィールドについてのみ使用可能である。たとえば、MINおよびMAXは、日付フィールドおよび数値フィールドの両方で使用可能である。AVGおよびSUMは、数値フィールドでのみ使用可能である。
一般に、集約関数は集合フィールドに対して演算を実行する。集合フィールドは、集約関数が演算できる値のセットからなる。ユーザインターフェースは、フィールドが集約関数として有効な場合、集約関数を集合フィールドに対して使用可能にする。
ユーザインターフェースは、フィールドおよびタイプに適切な集約関数のみを表示することができる。たとえばユーザインターフェースは、文字列フィールド上にAVG集約を表示しない。集約関数が適切であるかどうかを決定することは、フィールド名、タイプ、および濃度についてメタモデルを分析することを含むことができる。たとえばユーザインターフェースは、集約を適切にするために、所与のオブジェクト(たとえば、顧客)と集約されているオブジェクトおよびフィールド(たとえば、オーダー、ラインアイテム)との間に1対多数の関係が存在しなければならないことを、決定することができる。
ユーザインターフェース300は、集約関数セクション316を含む。集約セクションは、レポートの選択されたレポート主題に基づいてポピュレートすることができる。この例では、集約関数316はオーダー集約関数318を含む。オーダー集約関数318の下に、オーダー(複数)のカウント関数320およびオーダー(複数の)個別カウント関数322(すなわち、固有値の数を提示する集約関数)がある。
メタモデルのさらなるナビゲーションに基づいて、追加の集約関数を表示することができる。たとえば、オーダー(複数)集約関数318の下に、ラインアイテム集約関数324がある。ラインアイテム集約関数は、ラインアイテム(複数)についてのカウント326および個別カウント328を含む。
ユーザインターフェースは、ユーザが列をまとめてグループ化すること、およびグループ化された列をまたぐ名前を追加することも可能にする。
ユーザインターフェースは、ユーザが(たとえば、ユーザインターフェース上の保存アイコン330を選択することによって)レポートを保存することも可能にし得る。保存機能は、選択された要素、フィルタ(以下でさらに考察)、および/または選択されたフィールドを、永続データストア(たとえば、フラットファイルシステム)内に記憶することができる。レポートを保存することは、保存されたレポートを識別するために使用可能な名前または参照を提供することを含むことができる。
ユーザインターフェースは、ユーザが(たとえば、ユーザインターフェース上のロードアイコン332を選択することによって)保存されたレポートをロードすることも可能にし得る。ユーザインターフェースは、ユーザが(たとえば、リフレッシュアイコン334を選択することによって)レポートをリフレッシュまたは再実行することも可能にし得る。これらの特徴の各々はアイコンに関して述べているが、リボン上の領域、ボタン、メニュー選択項目などを含むが限定されない、他の視覚的表現を使用することができる。
図5は、例示的レポートの作成を示す。ユーザインターフェース300は、単純フィールド、参照フィールド、または集合に関する追加の情報を表示することができる。たとえば、国要素307の上でホバリングすることで、ポップアップボックス502を表示させることができる。ポップアップボックスは、基礎となるデータセットの名前、基礎となるデータセット内の対応するフィールドの名前、およびフィールドのデータタイプを含む、国要素307に関する追加の情報を表示することができる。
ユーザインターフェース300は、ユーザが、レポート内のフィールドまたはレポートに含まれるオブジェクトに関するフィールドにフィルタを適用することを可能にすることもできる。たとえば、ユーザは顧客要素304のフィルタリングを選択することができる。システムは、フィルタユーザインターフェース領域504を提示することができる。フィルタユーザインターフェースは、その上でレポートのフィルタリングが可能な、異なるフィールドおよびオブジェクトの階層を含むことができる。たとえば、フィルタインターフェース領域504は、アドレス(複数)集合506、名前フィールド508、およびオーダー(複数)集合を含む。ユーザが、たとえばオーダー(複数)集合を選択した場合、オーダー(複数)集合は、前述のように、単純フィールド、参照フィールド、および、オーダーオブジェクトに関連付けられた集合フィールドを提示するために、展開することができる。
ユーザは、レポート内に含めるフィールドを選択するのと同様に、要素(たとえば、名前要素508)を選択し、この要素をユーザインターフェース300の右側322上にドラッグすることができる。ユーザインターフェースはフィルタ情報を表示することが可能であり、これはたとえば、レポートがフィルタリングされることになるフィールドの名前、ユーザがフィルタのタイプを選択できる選択ボックス514、およびユーザがテキスト情報をフィルタ内に提供できるようにする値フィールド516を含むことができる。フィルタのタイプは、フィールドが値で開始されるか、値で終了するか、値を含むか、正確な値であるか、および値でないかを決定することを含むが、これらに限定されない。データタイプに基づいていくつかのフィルタが使用可能であり、たとえば数値フィールドは、フィールドが値より大きいかまたは値より小さいかどうかを決定することなどのフィルタを含むことができる。
この例では、ユーザは名前フィールド508、「含む」フィルタ514を選択し、値として「Steve Miller」を入力した。フィールド、フィルタ動作、および値の選択に応答して、レポートはフィルタを反映するように更新された。たとえばキャンバス322上のレポートは、John Smithによって行われたかまたはJohn Smithに関連付けられたオーダーのみを提示する。いくつかの実装において、フィルタリングは、フィールドおよび値が選択されるとすぐに実行可能である。他の実装において、フィルタリングは、ユーザによるさらなるアクションを必要とする場合がある。たとえばユーザは、ユーザインターフェース上に提示されたフィルタアイコン(図示せず)を選択することが必要な場合がある。
異なるトップレベル要素を選択することで、結果として異なるレポートを提示および作成することができる。たとえば図6を参照すると、レポートを構築するためのユーザインターフェース600である。上記の例と同様に、ユーザインターフェースの左側602には、階層状に編成された選択されたオブジェクトの要素が示されている。この例では、ユーザは製品オブジェクトをレポートの主題オブジェクトとして選択している。
製品要素604の下に、ラインアイテム要素606および顧客(複数)要素がある。ラインアイテム要素606の下に、オーダー(複数)要素607がある。オーダー要素607の下に、顧客要素608がある。顧客要素608の下にアドレス(複数)要素610がある。顧客要素612の下にアドレス(複数)要素614がある。
ユーザは、ユーザインターフェースの左側602から要素を選択し、これをユーザインターフェースの右側にドラッグするか、あるいは右側に要素を配置することができる。ユーザインターフェース600の右側638に要素を追加することで、追加された要素に基づいてレポート内に列が生成される。列は、ヘッダと基礎となるデータからのデータを含むことができる。たとえば、ユーザインターフェース600の右側668に製品要素604をドラッグすることで、製品の名前を表示するレポートのための列640が生成される。同様に、顧客(複数)要素612をユーザインターフェース600の右側638にドラッグすることで、顧客列642がレポートに追加される。代替として、顧客要素608をユーザインターフェース600の右側668上にドラッグすることで、顧客(複数)要素612を右側にドラッグするのと同じ効果を得ることができる。
アドレス(複数)要素614をユーザインターフェースの右側668にドラッグすることで、アドレス列646がレポートに追加される。図7は、レポートを構築するための例示的プロセス700のフローチャートである。プロセス700は、プロセスを実行するコンピュータシステムによって実行可能である。
モデルが取得される(702)。モデルは、データソース内のデータ構造を表すオブジェクト、および、データ構造間の関係を表すオブジェクト間のリンクを含むことが可能であり、モデル内の各オブジェクトは対応するデータ構造内の少なくとも1つのデフォルトフィールドを識別する。データソースは、たとえばリレーショナルデータベースとすることができる。モデルは、データソース内のデータ構造から生成可能である。たとえば一実装において、モデルは、テーブル、およびリレーショナルデータベース内のテーブル間の関係に基づいて、生成可能である。
モデル内の各オブジェクトについて、モデルはオブジェクトに関連付けられたデフォルトフィールドを定義することも可能である。たとえば顧客オブジェクトは、デフォルトフィールドとして「顧客名」を有し得る。デフォルトフィールドは、データソースのデータ構造内の1つまたは複数のフィールドに対応し得る。いくつかの実装において、デフォルトフィールドは、データ構造に記憶されたデータの変換あるいは修正バージョンとすることができる。たとえば、デフォルトフィールドは2つまたはそれ以上の他のフィールドの連結であり得るか、あるいはデフォルトフィールドは異なるフォーマットに変換されたデータを含み得る。
ユーザインターフェースが生成される(704)。ユーザインターフェースは、階層状に編成された要素を含む。各要素はモデル内のオブジェクトに対応可能である。ユーザインターフェースは、カスタムスタンドアロンアプリケーション、またはクライアントデバイスに送信されたウェブページとすることができる。
要素のユーザ選択が受信される(706)。ユーザは、たとえば要素のクリック、ダブルクリック、階層からキャンバス上への要素のドラッグ、タッチベースユーザインターフェースのタッピング、または任意の他の選択機構を介して、要素を選択することができる。
レポートが生成される(708)。レポートを生成するために、プロセスは要素に対応するモデルのオブジェクトを識別することができる。たとえば、ユーザが「顧客」とラベル表示された要素を選択する場合、プロセスは、顧客オブジェクトを要求されたオブジェクトとして識別することができる。プロセスは、オブジェクトに対応するデータ構造を識別することができる。たとえばプロセスは、CUSTOMER_TABLEがモデル内の顧客オブジェクトに関連付けられている旨を識別することができる。プロセスは、データソース内で識別されたデータ構造内の少なくとも1つのデフォルトフィールドから、データを取得することができる。たとえば、顧客名が顧客オブジェクトに関連付けられたデフォルトフィールドである場合、プロセスは、データソース内の顧客データ構造から顧客名データを取得することができる。
データはユーザに提示される。データは、クライアントからの後続または介在アクションを必要とせずに提示可能である。データは、表レポートとして提示するか、あるいは他の方法で変換または修正することができる。たとえばデータは、集約する、解析する、作図する、バケットに入れる、あるいは他の方法で提示される前に修正することができる。
図8は、レポートを構築するための例示的なプロセス800のフローチャートである。プロセス800は、プロセスを実行するコンピュータシステムによって実行可能である。
モデルが作成される(802)。モデルは、構造化データ(たとえば、リレーショナルデータベースのデータベーススキーマ)に基づいて作成可能である。構造化データは、データ要素(たとえば、テーブル)を有するデータ構造を含むことができる。各データ要素は名前付きフィールドを有することができる。
モデルを作成することは、構造化データ内のデータ構造のうちの1つに基づいてモデル内にオブジェクトを作成することを含むことができる。構造内のフィールドの名前を自然言語名に変換する。フィールドの名前の変換は、ルックアップテーブル、ヒューリスティックス、変換関数を使用して、または任意の他の変換機構を介して実行可能である。
自然言語名を有するオブジェクト上に、フィールドが作成される。
モデルを作成することは、構造化データ内の2つのデータ構造間の関係を表す関係フィールドを作成することも含む。たとえば、関係フィールドは、リレーショナルデータベース内の主キー対外部キーの関係に基づいて作成可能である。関係フィールドは、いくつかの関係において複数のオブジェクトを単一オブジェクトに関連付け得る旨を表す集合とすることができる。
モデル内にオブジェクトの階層が生成される(804)。階層は、開始オブジェクトに関してオブジェクトを編成することによって生成可能である。いくつかのシナリオでは、開始オブジェクトはユーザインターフェースと対話するユーザによって選択可能である。
階層内のオブジェクトのうちの1つまたは複数についての要素を含むユーザインターフェースが生成される(806)。ユーザインターフェースは、モデル内のオブジェクトを表すユーザインターフェース要素を含むことができる。ユーザインターフェース要素は、階層に従って編成される。ユーザインターフェースは、ユーザがレポートを作成すること、および自然言語名を使用してレポートをフィルタリングすることを可能にし得る。ユーザインターフェースは、集約関数およびフィルタリング関数も含むことができる。集約関数は、ユーザがフィールドに関する情報を集約できるようにする。フィルタ関数は、ユーザがレポート内に提示される値を制限できるようにする。
ユーザから1つまたは複数の要素の選択を受信することができる(808)。ユーザは、たとえばスクリーンの一部からスクリーンの別の部分への要素のドラッグアンドドロップによって、要素を選択することができる。
レポートが生成される(808)。レポートを生成するために、システムは、選択された要素に対応するデータ構造を識別することができる。識別されたデータ構造内の少なくとも1つのフィールドから、データを取得する。さらに、データをユーザに提示する。レポートは、WYSIWYGインターフェースを使用して生成することができる。たとえば、ユーザはレポートにフィールドを追加することができ、レポートはデータソースからの値をリフレッシュおよび表示することができる。これによってユーザは、レポートの品質に関するフィードバックを即時に取得できるため、迅速な反復が可能になる。
前述のレポート構築手法は、好適なソフトウェアを実行するコンピューティングシステムを使用して実装可能である。たとえばソフトウェアは、
各々が、少なくとも1つのプロセッサ、少なくとも1つのデータ記憶システム(揮発性および/または不揮発性のメモリ、ならびに/あるいは記憶要素を含む)、および(少なくとも1つの入力デバイスまたはポートを使用して入力を受信するため、および、少なくとも1つの出力デバイスまたはポートを使用して出力を提供するための)少なくとも1つのユーザインターフェースを含む、1つまたは複数のプログラムされたまたはプログラム可能なコンピューティングシステム(分散型、クライアント/サーバ、またはグリッドなどの、様々なアーキテクチャであり得る)上で実行する、1つまたは複数のコンピュータプログラム内の手順を含むことが可能である。ソフトウェアは、たとえば、データフローグラフの設計、構成、および実行に関するサービスを提供する、より大きなプログラムの1つまたは複数のモジュールを含むことができる。プログラムのモジュール(たとえば、データフローグラフの要素)は、データリポジトリに記憶されたデータモデルに準拠するデータ構造または他の編成データとして実装可能である。
ソフトウェアは、CD−ROMまたは他のコンピュータ可読媒体(たとえば、汎用または特定用途向けのコンピューティングシステムまたはデバイスによって読み取り可能)などの、有形の非一時的媒体上に提供すること、あるいは、ネットワークの通信媒体を介して、実行されているコンピューティングシステムの有形の非一時的媒体に送達する(たとえば、伝搬信号内に符号化する)ことができる。処理の一部またはすべては、特定用途向けコンピュータ上で、あるいは、特定用途向けハードウェア(コプロセッサまたはフィールドプログラマブルゲートアレイ(FPGA)あるいは専用の特定用途向け集積回路(ASIC)など)を使用して、実行可能である。処理は、ソフトウェアによって指定された計算の異なる部分が異なるコンピューティング要素によって実行される、分散様式で実装可能である。こうしたコンピュータプログラムは、各々、本明細書で説明する処理を実行するために記憶デバイス媒体がコンピュータによって読み取られるときに、コンピュータを構成および動作させるために、好ましくは、汎用または特定用途向けプログラム可能コンピュータによるアクセスが可能な記憶デバイスの、コンピュータ可読記憶媒体(たとえば、ソリッドステートメモリまたは媒体、あるいは磁気または光媒体)に記憶するか、またはダウンロードされる。本発明のシステムは、コンピュータプログラムと共に構成された有形の非一時的媒体として実装されるものと見なすことも可能であり、媒体は、本明細書で説明する処理ステップのうちの1つまたは複数を実行するために、特定かつ事前定義された様式でコンピュータを実行させるように構成される。
以上、本発明のいくつかの実施形態について説明してきた。しかしながら、上記の説明は例示的なものであり、以下の特許請求の範囲によって定義される本発明の範囲を限定することは意図されていないことを理解されたい。したがって、他の実施形態も以下の特許請求の範囲内である。たとえば、本発明の範囲を逸脱することなく様々な修正を行うことができる。加えて、上述のステップのいくつかは順序に依存しない可能性があるため、説明した順序とは異なる順序で実行可能である。

Claims (39)

  1. コンピュータ実装方法であって、
    構造化データに基づいてモデルを作成することであって、前記構造化データはデータ構造を含み、各データ構造はデータ要素を有し、各データ要素はフィールドを有し、各フィールドは名前を有し、前記モデルを作成することは、
    前記構造化データ内のデータ構造に基づいて前記モデル内にオブジェクトを作成すること、
    前記データ構造内のフィールドの名前を自然言語名に変換すること、
    前記自然言語名を有する前記オブジェクト上にフィールドを作成すること、および、
    前記構造化データ内のデータ構造間の関係に基づいて前記オブジェクト上に関係フィールドを作成すること、
    を含む、作成することと、
    モデル内にオブジェクトの階層を生成することであって、前記階層は、前記オブジェクト上の関係フィールドに従い、開始オブジェクトに関して前記オブジェクトを編成する、生成することと、
    前記階層内の前記オブジェクトのうちの1つまたは複数についての要素を含むユーザインターフェースを生成することであって、前記ユーザインターフェースは、ユーザがレポートを作成し、前記自然言語名を使用して前記レポートをフィルタリングできるようにする、生成することと、
    前記要素からの要素のユーザ選択を受信することと、
    レポートを生成することであって、
    前記要素に対応するデータ構造を識別すること、
    前記データソース内で前記識別されたデータ構造内の少なくとも1つのフィールドからデータを取得すること、および、
    前記データを前記ユーザに提示すること、
    を含む、生成することと、
    を含む、方法。
  2. 名前を変換することは、ルックアップテーブルを使用して前記名前を変換することを含む、請求項1に記載の方法。
  3. 前記関係フィールドは、前記データ構造内の1データ要素と第2のデータ構造内の第2の1データ要素との間の関係を表す参照フィールドである、請求項1に記載の方法。
  4. 前記関係フィールドは、前記データ構造内の1データ要素と第2のデータ構造内の第2のデータ要素との間の関係を表す集合フィールドである、請求項1に記載の方法。
  5. 前記ユーザインターフェースは、前記集合フィールド上で使用可能な集約関数を含む、請求項4に記載の方法。
  6. 前記関係フィールドは、前記データ構造内の1データ要素と前記データ構造内の第2のデータ要素との間の関係を表す親子フィールドである、請求項1に記載の方法。
  7. 前記構造化データは構造化データベースであり、前記データ構造は前記構造化データベース内のテーブルである、請求項1に記載の方法。
  8. 前記構造化データは1つまたは複数のファイルである、請求項1に記載の方法。
  9. 前記レポートを生成することは、前記ユーザ選択の受信に応答して生じる、請求項1に記載の方法。
  10. 前記ユーザインターフェースは、見たままが得られるインターフェースを使用したレポートのインタラクティブな作成を可能にし、前記ユーザインターフェースは、データ値を含む前記レポートの視覚フィードバックを、前記レポートのファイナライズ前にほぼリアルタイムで提供する、請求項1に記載の方法。
  11. ユーザインターフェースを生成することは、前記開始オブジェクトの選択をユーザから受信することをさらに含む、請求項1に記載の方法。
  12. 前記自然言語名は、前記構造化データに関する限定文字のセット内の少なくとも1つの文字を含む、請求項1に記載の方法。
  13. 前記構造化データ内のデータ構造間の関係に基づいて前記オブジェクト上に関係フィールドを作成することは、前記構造化データ内の主キー対外部キーの関係を表すために関係オブジェクトを作成することを含む、請求項1に記載の方法。
  14. コンピュータプログラム命令を用いて符号化された非一時的コンピュータ記憶媒体であって、前記コンピュータプログラム命令は、1つまたは複数のコンピュータによって実行された場合、
    構造化データに基づいてモデルを作成することであって、前記構造化データはデータ構造を含み、各データ構造はデータ要素を有し、各データ要素はフィールドを有し、各フィールドは名前を有し、前記モデルを作成することは、
    前記構造化データ内のデータ構造に基づいて前記モデル内にオブジェクトを作成すること、
    前記データ構造内のフィールドの名前を自然言語名に変換すること、
    前記自然言語名を有する前記オブジェクト上にフィールドを作成すること、および、
    前記構造化データ内のデータ構造間の関係に基づいて前記オブジェクト上に関係フィールドを作成すること、
    を含む、作成することと、
    モデル内にオブジェクトの階層を生成することであって、前記階層は、前記オブジェクト上の関係フィールドに従い、開始オブジェクトに関して前記オブジェクトを編成する、生成することと、
    前記階層内の前記オブジェクトのうちの1つまたは複数についての要素を含むユーザインターフェースを生成することであって、前記ユーザインターフェースは、ユーザがレポートを作成し、前記自然言語名を使用して前記レポートをフィルタリングできるようにする、生成することと、
    前記要素からの要素のユーザ選択を受信することと、
    レポートを生成することであって、
    前記要素に対応するデータ構造を識別すること、
    前記データソース内で前記識別されたデータ構造内の少なくとも1つのフィールドからデータを取得すること、および、
    前記データを前記ユーザに提示すること、
    を含む、生成することと、
    を含む動作を、前記1つまたは複数のコンピュータに実行させる、非一時的コンピュータ記憶媒体。
  15. 名前を変換することは、ルックアップテーブルを使用して前記名前を変換することを含む、請求項14に記載の非一時的コンピュータ可読媒体。
  16. 前記関係フィールドは、前記データ構造内の1データ要素と第2のデータ構造内の第2の1データ要素との間の関係を表す参照フィールドである、請求項14に記載の非一時的コンピュータ可読媒体。
  17. 前記関係フィールドは、前記データ構造内の1データ要素と第2のデータ構造内の第2のデータ要素との間の関係を表す集合フィールドである、請求項14に記載の非一時的コンピュータ可読媒体。
  18. 前記ユーザインターフェースは、前記集合フィールド上で使用可能な集約関数を含む、請求項17に記載の非一時的コンピュータ可読媒体。
  19. 前記関係フィールドは、前記データ構造内の1データ要素と前記データ構造内の第2のデータ要素との間の関係を表す親子フィールドである、請求項14に記載の非一時的コンピュータ可読媒体。
  20. 前記構造化データは構造化データベースであり、前記データ構造は前記構造化データベース内のテーブルである、請求項14に記載の非一時的コンピュータ可読媒体。
  21. 前記構造化データは1つまたは複数のファイルである、請求項14に記載の非一時的コンピュータ可読媒体。
  22. 前記レポートを生成することは、前記ユーザ選択の受信に応答して生じる、請求項14に記載の非一時的コンピュータ可読媒体。
  23. 前記ユーザインターフェースは、見たままが得られるインターフェースを使用したレポートのインタラクティブな作成を可能にし、前記ユーザインターフェースは、データ値を含む前記レポートの視覚フィードバックを、前記レポートのファイナライズ前にほぼリアルタイムで提供する、請求項14に記載の非一時的コンピュータ可読媒体。
  24. ユーザインターフェースを生成することは、前記開始オブジェクトの選択をユーザから受信することをさらに含む、請求項14に記載の非一時的コンピュータ可読媒体。
  25. 前記自然言語名は、前記構造化データに関する限定文字のセット内の少なくとも1つの文字を含む、請求項14に記載の非一時的コンピュータ可読媒体。
  26. 前記構造化データ内のデータ構造間の関係に基づいて前記オブジェクト上に関係フィールドを作成することは、前記構造化データ内の主キー対外部キーの関係を表すために関係オブジェクトを作成することを含む、請求項14に記載の非一時的コンピュータ可読媒体。
  27. 1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを備える、システムであって、
    前記命令は、前記1つまたは複数のコンピュータによって実行された場合、
    構造化データに基づいてモデルを作成することであって、前記構造化データはデータ構造を含み、各データ構造はデータ要素を有し、各データ要素はフィールドを有し、各フィールドは名前を有し、前記モデルを作成することは、
    前記構造化データ内のデータ構造に基づいて前記モデル内にオブジェクトを作成すること、
    前記データ構造内のフィールドの名前を自然言語名に変換すること、
    前記自然言語名を有する前記オブジェクト上にフィールドを作成すること、および、
    前記構造化データ内のデータ構造間の関係に基づいて前記オブジェクト上に関係フィールドを作成すること、
    を含む、作成することと、
    モデル内にオブジェクトの階層を生成することであって、前記階層は、前記オブジェクト上の関係フィールドに従い、開始オブジェクトに関して前記オブジェクトを編成する、生成することと、
    前記階層内の前記オブジェクトのうちの1つまたは複数についての要素を含むユーザインターフェースを生成することであって、前記ユーザインターフェースは、ユーザがレポートを作成し、前記自然言語名を使用して前記レポートをフィルタリングできるようにする、生成することと、
    前記要素からの要素のユーザ選択を受信することと、
    レポートを生成することであって、
    前記要素に対応するデータ構造を識別すること、
    前記データソース内で前記識別されたデータ構造内の少なくとも1つのフィールドからデータを取得すること、および、
    前記データを前記ユーザに提示すること、
    を含む、生成することと、
    を含む動作を、前記1つまたは複数のコンピュータに実行させるように動作可能である、システム。
  28. 名前を変換することは、ルックアップテーブルを使用して前記名前を変換することを含む、請求項27に記載のシステム。
  29. 前記関係フィールドは、前記データ構造内の1データ要素と第2のデータ構造内の第2の1データ要素との間の関係を表す参照フィールドである、請求項27に記載のシステム。
  30. 前記関係フィールドは、前記データ構造内の1データ要素と第2のデータ構造内の第2のデータ要素との間の関係を表す集合フィールドである、請求項27に記載のシステム。
  31. 前記ユーザインターフェースは、前記集合フィールド上で使用可能な集約関数を含む、請求項30に記載のシステム。
  32. 前記関係フィールドは、前記データ構造内の1データ要素と前記データ構造内の第2のデータ要素との間の関係を表す親子フィールドである、請求項27に記載のシステム。
  33. 前記構造化データは構造化データベースであり、前記データ構造は前記構造化データベース内のテーブルである、請求項27に記載のシステム。
  34. 前記構造化データは1つまたは複数のファイルである、請求項27に記載のシステム。
  35. 前記レポートを生成することは、前記ユーザ選択の受信に応答して生じる、請求項27に記載のシステム。
  36. 前記ユーザインターフェースは、見たままが得られるインターフェースを使用したレポートのインタラクティブな作成を可能にし、前記ユーザインターフェースは、データ値を含む前記レポートの視覚フィードバックを、前記レポートのファイナライズ前にほぼリアルタイムで提供する、請求項27に記載のシステム。
  37. ユーザインターフェースを生成することは、前記開始オブジェクトの選択をユーザから受信することをさらに含む、請求項27に記載のシステム。
  38. 前記自然言語名は、前記構造化データに関する限定文字のセット内の少なくとも1つの文字を含む、請求項27に記載のシステム。
  39. 前記構造化データ内のデータ構造間の関係に基づいて前記オブジェクト上に関係フィールドを作成することは、前記構造化データ内の主キー対外部キーの関係を表すために関係オブジェクトを作成することを含む、請求項27に記載のシステム。
JP2017532792A 2014-12-18 2015-12-17 レポートの構築 Active JP6518768B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462093666P 2014-12-18 2014-12-18
US62/093,666 2014-12-18
US14/717,633 US11288290B2 (en) 2014-12-18 2015-05-20 Building reports
US14/717,633 2015-05-20
PCT/US2015/066335 WO2016100641A1 (en) 2014-12-18 2015-12-17 Building reports

Publications (2)

Publication Number Publication Date
JP2018500680A true JP2018500680A (ja) 2018-01-11
JP6518768B2 JP6518768B2 (ja) 2019-05-22

Family

ID=55085922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017532792A Active JP6518768B2 (ja) 2014-12-18 2015-12-17 レポートの構築

Country Status (9)

Country Link
US (1) US11288290B2 (ja)
EP (1) EP3234809B1 (ja)
JP (1) JP6518768B2 (ja)
KR (1) KR102330547B1 (ja)
CN (1) CN107111639B (ja)
AU (2) AU2015364608A1 (ja)
CA (1) CA2970040C (ja)
SG (1) SG11201704339SA (ja)
WO (1) WO2016100641A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10156963B2 (en) * 2015-07-06 2018-12-18 Adp, Llc Report management system
US10162881B2 (en) * 2017-01-17 2018-12-25 Maana, Inc. Machine-assisted key discovery and join generation
US10657152B2 (en) * 2017-05-31 2020-05-19 Microsoft Technology Licensing, Llc Synchronization of diagrams and associated structured data
US10318524B2 (en) 2017-11-15 2019-06-11 Accenture Global Solutions Limited Reporting and data governance management
US10289620B1 (en) * 2017-11-15 2019-05-14 Accenture Global Solutions Limited Reporting and data governance management
US10546056B1 (en) * 2018-06-01 2020-01-28 Palantir Technologies Inc. Transformation in tabular data cleaning tool
US11074053B2 (en) * 2018-09-07 2021-07-27 Boyd Cannon Multerer User interface generation system
US11068138B2 (en) * 2018-09-14 2021-07-20 Adp, Llc Report management system
CN109522322B (zh) * 2018-11-28 2020-11-10 成都四方伟业软件股份有限公司 报表层级构建方法及装置
CN110738037B (zh) * 2019-10-15 2021-02-05 深圳逻辑汇科技有限公司 用于自动生成电子表格的方法、装置、设备及存储介质
JP2022045416A (ja) * 2020-09-09 2022-03-22 富士通株式会社 データ処理プログラム、データ処理装置、及びデータ処理方法
CN112540760B (zh) * 2020-12-08 2024-05-28 杭州讯酷科技有限公司 一种基于数据源字段的ui界面快速构建方法
CN112580317A (zh) * 2020-12-29 2021-03-30 江苏金财信息技术有限公司 一种快速生成带层级汇总的动态交叉二维表的方法
CN113988004A (zh) * 2021-10-18 2022-01-28 金蝶云科技有限公司 报表显示方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62173528A (ja) * 1986-01-27 1987-07-30 Hitachi Ltd データベースの制御方法
JPH10509264A (ja) * 1995-06-07 1998-09-08 ウォール・データ・インコーポレーテッド 現存する関係データベーススキーマから意味オブジェクトモデルを作成するコンピュータシステム
US20040181538A1 (en) * 2003-03-12 2004-09-16 Microsoft Corporation Model definition schema
JP2009003549A (ja) * 2007-06-19 2009-01-08 Japan Lucida Co Ltd データ管理装置およびデータ管理方法、データ管理プログラム、データ管理プログラム記憶媒体

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701453A (en) * 1993-07-01 1997-12-23 Informix Software, Inc. Logical schema to allow access to a relational database without using knowledge of the database structure
US6134541A (en) 1997-10-31 2000-10-17 International Business Machines Corporation Searching multidimensional indexes using associated clustering and dimension reduction information
US6370537B1 (en) * 1999-01-14 2002-04-09 Altoweb, Inc. System and method for the manipulation and display of structured data
US7152228B2 (en) * 1999-07-08 2006-12-19 Science Applications International Corporation Automatically generated objects within extensible object frameworks and links to enterprise resources
US6418427B1 (en) 1999-12-30 2002-07-09 Decode Genetics Ehf Online modifications of dimension structures in multidimensional processing
US6768986B2 (en) 2000-04-03 2004-07-27 Business Objects, S.A. Mapping of an RDBMS schema onto a multidimensional data model
US9600842B2 (en) * 2001-01-24 2017-03-21 E-Numerate Solutions, Inc. RDX enhancement of system and method for implementing reusable data markup language (RDL)
US6778979B2 (en) * 2001-08-13 2004-08-17 Xerox Corporation System for automatically generating queries
US6714940B2 (en) 2001-11-15 2004-03-30 International Business Machines Corporation Systems, methods, and computer program products to rank and explain dimensions associated with exceptions in multidimensional data
US8868544B2 (en) 2002-04-26 2014-10-21 Oracle International Corporation Using relational structures to create and support a cube within a relational database system
US7505888B2 (en) * 2004-11-30 2009-03-17 International Business Machines Corporation Reporting model generation within a multidimensional enterprise software system
US7610300B2 (en) * 2004-11-30 2009-10-27 International Business Machines Corporation Automated relational schema generation within a multidimensional enterprise software system
US7526499B2 (en) * 2004-12-22 2009-04-28 International Business Machines Corporation Defining and generating a viewtype for a base model
US20060195460A1 (en) * 2005-02-28 2006-08-31 Microsoft Corporation Data model for object-relational data
US20070005654A1 (en) * 2005-05-20 2007-01-04 Avichai Schachar Systems and methods for analyzing relationships between entities
US7647298B2 (en) * 2006-03-23 2010-01-12 Microsoft Corporation Generation of query and update views for object relational mapping
US7783862B2 (en) * 2006-08-07 2010-08-24 International Characters, Inc. Method and apparatus for an inductive doubling architecture
US8856182B2 (en) * 2008-01-25 2014-10-07 Avaya Inc. Report database dependency tracing through business intelligence metadata
US8656349B2 (en) * 2008-03-07 2014-02-18 Sap Ag Systems and methods for template reverse engineering
CA2735065C (en) * 2010-03-25 2015-08-11 Radicalogic Technologies, Inc. Systems and methods for creating a form for receiving data relating to a health care incident
US9104754B2 (en) * 2011-03-15 2015-08-11 International Business Machines Corporation Object selection based on natural language queries
WO2012134598A2 (en) * 2011-04-01 2012-10-04 Ghannam Rima System for natural language understanding
CN103020158B (zh) 2012-11-26 2016-09-07 中兴通讯股份有限公司 一种报表创建方法、装置和系统
US9342555B2 (en) * 2013-08-30 2016-05-17 International Business Machines Corporation Reporting tools for object-relational databases

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62173528A (ja) * 1986-01-27 1987-07-30 Hitachi Ltd データベースの制御方法
JPH10509264A (ja) * 1995-06-07 1998-09-08 ウォール・データ・インコーポレーテッド 現存する関係データベーススキーマから意味オブジェクトモデルを作成するコンピュータシステム
US20040181538A1 (en) * 2003-03-12 2004-09-16 Microsoft Corporation Model definition schema
JP2009003549A (ja) * 2007-06-19 2009-01-08 Japan Lucida Co Ltd データ管理装置およびデータ管理方法、データ管理プログラム、データ管理プログラム記憶媒体

Also Published As

Publication number Publication date
AU2020260374A1 (en) 2020-11-26
CN107111639B (zh) 2021-07-27
US20160179930A1 (en) 2016-06-23
EP3234809B1 (en) 2024-02-28
AU2015364608A1 (en) 2017-06-15
KR102330547B1 (ko) 2021-11-23
CA2970040A1 (en) 2016-06-23
WO2016100641A1 (en) 2016-06-23
CN107111639A (zh) 2017-08-29
AU2020260374B2 (en) 2022-09-29
SG11201704339SA (en) 2017-06-29
JP6518768B2 (ja) 2019-05-22
CA2970040C (en) 2024-06-18
EP3234809A1 (en) 2017-10-25
US11288290B2 (en) 2022-03-29
KR20170098854A (ko) 2017-08-30

Similar Documents

Publication Publication Date Title
JP6518768B2 (ja) レポートの構築
US11132359B2 (en) Systems and methods for grouping and enriching data items accessed from one or more databases for presentation in a user interface
CN111542813B (zh) 使用异构数据的对象模型来便于建立数据可视化
US12050598B2 (en) Dynamic dashboard with guided discovery
JP6652490B2 (ja) 多ディメンション・データー構造に対する実行のためのクエリー構築
US8839144B2 (en) Add and combine reports
US20070260582A1 (en) Method and System for Visual Query Construction and Representation
JP2022504865A (ja) 選択したデータソースのオブジェクトモデルに従ったデータ視覚化の生成
EP2784700A2 (en) Integration of transactional and analytical capabilities of a database management system
KR101213798B1 (ko) 복합 데이터 액세스
JP2019518275A (ja) 静的および動的要素を有するデータフロー設計
KR20120002579A (ko) 컴퓨팅 장치, 비즈니스 데이터의 획득 방법 및 컴퓨터 판독 가능 저장 매체
US10585981B2 (en) Method of data capture, storage and retrieval through user created form templates and data item templates by executing computer-executable instructions stored on a non-transitory computer-readable medium
US10552423B2 (en) Semantic tagging of nodes
US20090125828A1 (en) Automatic Creation of Data Relationships
US20130262417A1 (en) Graphical Representation and Automatic Generation of Iteration Rule
US10203841B2 (en) In place creation of objects
US10984119B2 (en) Simplifying data protection in CDS based access
US10769164B2 (en) Simplified access for core business with enterprise search

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180925

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190322

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: 20190327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190422

R150 Certificate of patent or registration of utility model

Ref document number: 6518768

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250