JP2006072980A - レポート作成ソフトウェアにおけるカスタムグラフィック表現をサポートするシステムおよび方法 - Google Patents

レポート作成ソフトウェアにおけるカスタムグラフィック表現をサポートするシステムおよび方法 Download PDF

Info

Publication number
JP2006072980A
JP2006072980A JP2005218915A JP2005218915A JP2006072980A JP 2006072980 A JP2006072980 A JP 2006072980A JP 2005218915 A JP2005218915 A JP 2005218915A JP 2005218915 A JP2005218915 A JP 2005218915A JP 2006072980 A JP2006072980 A JP 2006072980A
Authority
JP
Japan
Prior art keywords
report
custom
definition file
layout
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005218915A
Other languages
English (en)
Inventor
Brian L Welcker
リー ウェルカー ブライアン
Christopher A Hays
アラン ハイス クリストファー
Jason D Carlson
ディー.カールソン ジェイソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006072980A publication Critical patent/JP2006072980A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Abstract

【課題】 サポートされるレポートレイアウトに対して利用可能である特徴を、カスタムレイアウトに対して利用可能にさせるカスタムレポートレイアウトをサポートする。
【解決手段】 カスタムレイアウト定義はレポート処理ソフトウェアに対して認識可能となるように最初に1組のレポート定義基準を満たす。当該定義を作成するのに用いられ得る設計ツールが提供される。カスタムレイアウトはレポート作成ソフトウェアに渡される。当該ソフトウェアは最初にカスタムレイアウトを処理し、このレイアウトに最初の処理で利用可能などの特徴も与える。当該ソフトウェアはカスタムレイアウトのカスタム処理用のインターフェイスを提供する。これはカスタムレイアウトビルダオブジェクトからアクセスできる。当該オブジェクトは、カスタムレポートレイアウトを構築するインターフェイスを介して与えられるレポート構築コンポーネントを使用するように設計される。
【選択図】 図4

Description

本発明は、レポートの生成に関し、より詳細には、商用レポート作成ソフトウェアにおけるカスタムレポート定義をサポートする技術に関する。
どの企業においても、企業の局面に関するデータが、時間の経過に伴って蓄積される。このデータは、企業の状況を報告するのに用いられ得る。たとえば、販売会社に関しては、販売員、顧客、販売員の地域、顧客の地域、販売量、販売された製品の量、販売日付、販売された製品の引渡し日付などを含む、製品のそれぞれの販売に関する販売データが蓄積され得る。次いで、このような販売データに基づいて、年間ベース、月間ベース、年間ベースかつ顧客別、各四半期ベースかつ製品別、引渡し日付ベースかつ販売員別、週間ベースかつ地域別などによる売上高を詳述するレポートが生成されることになり得る。
レポートに投入するデータは通常、データベースなどのデータソースに蓄積される。ここで用いられるデータソースという用語は、デジタル記録されたデータの貯蔵庫である。データソース中のデータをフィルタリングして、レポート用に正しく編成された列および行に入れるために、レポート設計者は、レポート定義において、データソースから望まれる特定のデータを指定することができる。たとえば、レポート設計者は、レポートの第1列に「販売員名」を入れたいと指定することができる。
レポート設計者は次いで、レポート定義の第1列に対して指示されたフィールド(販売員名)を認識し、すべての販売員名を求めてデータソースを照会し、販売員名を次々とレポートの第1列に配置するプログラムを書くことができる。このタスクを実施する独自のプログラムを書くのではなく、レポート設計者は、この機能を提供する商用レポート作成ソフトウェアを利用することができる。このようなソフトウェアは、レポート設計者が、レポート定義において、レポートの様々な列および/または行に入れたいと思う、あるタイプのデータを容易に指定することを可能にさせ得る。商用ソフトウェアは次いで、自動的にレポート定義を分析し、データベースを照会し、レポート中に所望のデータを配置する。
図5aおよび図5bは、レポート定義および対応するレポートの簡単な例を提示する。図5aの例示的なレポートデザインは、販売員の列501、1990年度の売上高の列502、および総売上げの列503を用意する。この例示的なレポートデザインは、指定されたデータを1つまたは複数のデータソースから引き出すとともに図5bに示すようなレポート用にデータを適切にフォーマットすることができる商用レポート作成ソフトウェアに提出され得る。図5bは、データを投入された販売員列501aa、データを投入された1990年度の売上げデータ列502aa、およびデータを投入された総売上げの列503aaを示す。
レポート定義のより的確な図が、図1bに提示されている。レポート定義、すなわちレポート定義ファイル140は通常、レポートレイアウト140aおよびクエリ140bを指定する。クエリ140bは、レポート用に望まれるデータを提供し、レイアウト140aは、データがレポートに提示される方式を与える。言い換えると、レイアウトは、表示面にレポートのグラフィック表現を提供する。したがって、図5aのレポート定義は、レイアウト140aのグラフィック表現、およびレポート定義140のクエリ140bと理解されることができる。横一列に並んでいる3つのボックスの提示は、3つの列が生成されるべきであることを仮想レポート生成ソフトウェアに表明し得る。各ボックス、すなわち501、502、503の内容は、各列に配置されることになるクエリ結果を提供し得る。このように、レポート定義は、グラフィカルに表され得る。レポート定義は、レポートのレイアウトおよび内容を記述する他のどの手段によっても表され得る。たとえば、レポートの様々なレイアウトプロパティおよびデータ内容を宣言するのに、XML(拡張マークアップ言語)などのマークアップ言語が用いられ得る。したがって、レポート定義ファイルは、XMLファイルでよい。
図1aは、レポート定義100に適切なデータを投入する例示的なレポート処理ソフトウェア110の上位レベルの図を提示する。レポート処理ソフトウェア110は、複数のデータソース120、121のいずれに格納されているデータも正しく翻訳する複数のデータ拡張111を備え得る。レポート処理ソフトウェア110は、いくつかのレンダリング拡張112も備え得る。レンダリング拡張112は、生成されたレポートを、適切なファイル形式、たとえばHTML(ハイパーテキストマークアップ言語)130、XML(拡張マークアップ言語)131、または他の何らかのファイル形式132に変換する。フォーマットされた出力ファイル130、131、132を読むことができるプロセス(図示せず)は次いで、GUI(グラフィックユーザインターフェイス)を介してレポートを表示することができる。要するに、レポート定義100は、レポート処理ソフトウェア110によって、データソース120、121から集められたデータを識別するとともに、そのデータを、正しく構造化されたレポートに編集するのに用いられる。ソフトウェア110は、レポートを、どのファイル形式130、131、132でも生成することができる。このプロセスは、米国特許出願公開2004/0194031(米国特許出願第10/400734号)「Defining a report based on data regions and including custom data in a report definition」にも記載されている。
レポートをデザインする人は、レポートを編成し提示し得る方式に柔軟性を望む。したがって、最新の商用レポート作成ソフトウェアは一般に、様々なレポートレイアウトをサポートする。今日一般的である主要なレポートレイアウトの2つが、テーブルおよび行列である。テーブルレイアウトが、図5bに示され、例示的な行列レイアウトが、図6aに示される。テーブルは空である隅のセルをもたないが、行列が通常、レポートの左上の領域にある、空である隅のセルによってどのように特徴づけられるかを留意されたい。どちらのレイアウトも、水平軸に沿って配列された列および垂直軸に沿って配列された行によって特徴づけられる。
テーブルおよび行列レポートレイアウトは一般的であり、したがって、商用レポート作成ソフトウェアによって一般にサポートされるが、多くの追加レイアウトがしばしば望まれる。図6bは、サポートされない可能性があるレポートレイアウトの一例のみを提示する。図6bのレポートレイアウトは、どの程度の量のデータがあるかに応じて、水平レイアウト660から垂直レイアウト670に動的に変化する。レポート用に、4つのデータエントリ、すなわち650、651、652、および653のみがある場合は、水平レイアウト660が用いられるが、4つより多いエントリ、たとえば650、651、652、653、654、655、および656がある場合は、垂直レイアウト670が望まれる。ワシントン州内およびその周辺の都市名を用いた場合、図6bの例示的なレポートは、次のどちらかとして現れ得る。
Figure 2006072980
Figure 2006072980
このようなレイアウトが望まれる状況を想像することができよう。同様に、このようなレポート用のレポート定義ファイルを想像することができよう。レポート定義ファイルは、動的変更プロパティを含むレポートの様々なレイアウトプロパティ、および様々なレイアウトプロパティ中に配置するデータを指定する。残念ながら、最新のレポート処理ソフトウェアは、図6bのレイアウトをサポートすることができず、かつおそらくサポートせず、同様に、他の多くのカスタムレポートレイアウトをサポートすることができない可能性がある。レポート処理ソフトウェアは、広範囲のレイアウトをサポートすることができるが、望まれ得る報告用レイアウトにはほぼ無限の可能性がある。商用レポート作成ソフトウェアは、できるだけ多くの現実的なレイアウトをサポートしようと試みることができるが、一部の設定においては、必然的に顧客の要求に応えることができない。
カスタムレイアウトを用いてレポートを作成することを望む人にとっての解決策は従来、所望のレポートを生成するためにカスタムソフトウェアを書くことであった。言うまでもないが、この解決策は、商用レポート作成ソフトウェアを使うより多少手間がかかり得る。レポート設計者が、自分の商用ソフトウェアによってサポートされる1つまたは複数のレイアウトを用いて間に合わせる結果に頻繁になり得ることは、カスタムレポートレイアウトの作成にとって障害である。したがって、設計者は、自分が望むレポートにとって「次善」であるレイアウトを選ぶ場合がある。あるいは、レポート設計者は、所望のレイアウトをサポートするためのプログラムを書くと決めた場合、商用レポート作成ソフトウェアによって提供される多くの付加特徴なしで済ませなければならなくなる。
図3は、一般的な商用レポート作成ソフトウェア310のより詳細な図を提示する。サポートされる複数のレポートレイアウト340が、ソフトウェア310とともに用いられることができるが、サポートされない多くのレポートレイアウト350は、ソフトウェア310とともに使用するのに利用可能ではない。ソフトウェア310は、レポートの作成を容易にする様々な特徴360を含む。特徴360は、たとえば、色、ドリルスルー、表示/隠すなど、望ましいプロパティの挿入を容易にする機能を含み得る。最新の商用レポート作成ソフトウェア310において利用可能なこのような多くの特徴360があり、網羅的リストは、ここでは役に立たない。こうした特徴360は、カスタムレポート定義をサポートするためのカスタムソフトウェアを書く人に対しては利用可能でない。
一般的な商用レポート作成ソフトウェア310は、サポートされる様々なレイアウト340のレポートを構築する基本的なプロセス370も含み得る。こうしたプロセス370は、レポートへの挿入のためにすぐに使用可能なレポートプロパティを提供する1組のレポート構築コンポーネント380に頼り得る。レポートは通常、GUI(グラフィックユーザインターフェイス)でレンダリングされることになっているので、コンポーネント380は、レンダリング拡張312に対して認識可能であるように構成され得る。例示的な構築コンポーネント380は、たとえばテキストボックスを生成するプロセス、画像を生成するプロセス、円を描き、列を作成するプロセスなど、レポートの生成において有用であるどのようなものでもよい。
商用レポート作成ソフトウェアにおける当該分野の現況を鑑み、商用レポート作成ソフトウェアにおいてカスタムレポートレイアウトのサポートを提供するという、これまで認識されていなかった必要性がある。
上で特定された当該分野の欠点を考慮した上で、本発明は、レポート作成ソフトウェアにおいて、レポートのカスタムグラフィック表現、および/またはレポートの領域をサポートするシステムおよび方法を提供する。本発明を利用すると、サポートされるレポートレイアウト用に利用可能であり得るどのレポート作成ソフトウェア特徴も、カスタムレイアウトに対しても利用可能にされ得る。カスタムレイアウト定義は、レポート処理ソフトウェアに対して認識可能となるように、最初に1組のレポート定義基準を満たすことができる。このようなカスタムレイアウト定義を作成するのに用いられ得る設計ツールが提供される。カスタムレイアウトは次いで、レポート作成ソフトウェアに渡され得る。レポート作成ソフトウェアは、最初にカスタムレイアウトを処理し、このレイアウトに、最初の処理段階で利用可能などの特徴も与えることができる。レポート作成ソフトウェアは、カスタムレイアウトのカスタム処理用のインターフェイスを提供することができる。インターフェイスは、カスタムレイアウトビルダオブジェクトにとってアクセス可能であり得る。カスタムレイアウトビルダオブジェクトは、レポート作成ソフトウェアによって提供される画像特徴を生成する複数のプロセスを用いて、レポートレイアウトを生成するように設計され得る。本発明の他の利点および特徴は、後で記述される。
本発明による、レポート作成ソフトウェアにおいてカスタムグラフィック表現をサポートするシステムおよび方法が、添付の図面を参照してさらに記述される。
本発明の様々な実施形態の完全な理解をもたらすために、以下の説明および図面において、特定の具体的な詳細が説明される。ただし、コンピューティングおよびソフトウェア技術にしばしば関連する特定の公知の詳細は、本発明の様々な実施形態を不必要に不明瞭にするのを避けるために、以下の開示において説明されない。さらに、以下で記述される詳細の1つまたは複数なしでも本発明の他の実施形態を実現できることを当業者は理解するであろう。最後に、以下の開示において、ステップおよびシーケンスを参照して様々な方法が説明されるが、このような説明は、本発明の実施形態の明瞭な実装を可能にするためであり、ステップおよびステップのシーケンスは、本発明を実施するのに必要であると見なされるべきでない。
この詳細な説明は概して、本発明の要約において上で導入された概念を説明し、この概念に基づいて展開する。最初に、本発明の総括が、図4および図7を参照して提示される。次に、カスタムレイアウトをレポート作成ソフトウェアと動作可能にさせるカスタムレポート定義基準の側面が説明される。次に、レポート処理ソフトウェアによって提供され得るインターフェイスが、インターフェイスの動作に関連する様々なサポートプロセスおよび特徴に従って記述される。最後に、本発明の一部としても使われ得る設計ツールが説明される。
以下の説明は概して、カスタムレポートレイアウトを、レポートの全体的なレイアウトであると仮定されているように扱うが、この仮定は、説明を簡単にするためであり、そうすることが必要とされるわけではないことに留意されたい。カスタムレポートレイアウトは、全体のレポートレイアウトの単なる1つのコンポーネントでよい。実際、いくつかの独立カスタムレポートレイアウトが、レポート中で、標準レイアウトコンポーネントと混合されて使われ得る。本明細書に記載されるカスタムレポートレイアウト制御は、レポートレイアウトの標準部分に関して何もする必要はない。カスタムレポートレイアウト制御はそれぞれ、全体のレポートレイアウトのうち、全体のレイアウト用にデザインされた特定のカスタム部分に対して作用するだけでよい。
(概要)
図4は、本発明の様々な態様の多くの、上位レベルの図を提示する。概して、図4は、サポートされる1組のレポートレイアウト440、すなわちサポートされる画像特徴に加えて、カスタムグラフィック表現450(レポートレイアウトとも呼ばれる)をサポートするレポート処理ソフトウェア410を示す。図4の構成は、プラットフォームの作成者と関係のないサードパーティが、プラットフォーム自体を修正することなく、かつプラットフォーム自体の背景における設計を知る必要なく、プラットフォームを拡張し、その価値を高めることができる、報告作成用の拡張可能プラットフォームである。図4のレポート処理プラットフォームによって提供されるコア機能でさえも、サードパーティによってアップグレードされ、改良され得る。逆に、図4のレポート処理プラットフォームに対するアップグレードは、どのサードパーティ拡張との使用にも利用可能にされ得る。
カスタムレポートレイアウト450は、レポート作成ソフトウェア410によって最初に処理され得るように、1組のレポート定義基準(図示せず)を満たすように設計され得る。レポート作成ソフトウェア410によって提供される特徴460のいずれも、カスタムレポートに対して利用可能にされ得る。レポート作成ソフトウェア410は、インターェイス490を装備することもできる。インターフェイス490は、カスタムレポート定義450の作成者にとってアクセス可能になるように公開され得る。インターフェイス490は、カスタムレポートビルダプロセス491、492が、レポート構築ソフトウェア410によってサポートされるレポート構築コンポーネント480を用いて、カスタムレイアウト、たとえば450aで指定されたレポートを構築することを可能にする。デザイナー455は、レポート作成ソフトウェア410のレポート定義基準を満たすカスタムレポート定義450の作成を助けることができる。様々な実施形態において、カスタムレイアウトも、カスタムレポートビルダ、たとえば491用のどの基準も満たすように、デザイナー455は、カスタム設計制御456で補足され得る。
図7は、本発明の様々な実施形態の、別の上位レベルの図を提示する。図7は、図4で導入された様々な処理コンポーネントの間の好ましい相互作用を示す。図7では、図4のレポート処理ソフトウェア410は、レポート処理エンジン700と呼ばれる。図4の特徴460およびサポートされるレイアウト用のレポートビルダ470は概して、図7ではレポート処理710と呼ばれる。図4のレポート構築コンポーネント480は、図7ではレンダリングオブジェクトモデル720と呼ばれる。
図7は、カスタムならびに標準レポートレイアウト定義が配置され得るレポート定義ストア750を提示している。レポートが生成されるとき、750からのレポート定義が、710によって処理され得る。レポート定義が710へ、それを介して渡らなければならない定義基準ボックス755によって示されるように、レポート定義は、710による処理に先立って、1組の定義基準を満たすように構成され得る。背景において説明したように、処理710は概して、データストア730からの、レポート用データの取得を含む。レポート定義によって指定されたレイアウトにデータを正しくフォーマットするために、レポート定義およびデータが、レンダリングオブジェクトモデル720に引き渡され得る(701)。サポートされるレポートレイアウト定義の場合、データは、レンダリングオブジェクト720と、どのカスタムレイアウト制御760との間の相互作用もなく、レンダリングオブジェクト720によって適切なレイアウトに配置され得る。カスタムレイアウト制御760は概して、図4のカスタムレポートビルダ491、492に対応する。
しかし、カスタムレポートレイアウト定義の場合、レンダリングオブジェクト720は、インターフェイス723を介して、1つまたは複数のカスタムレポートレイアウト制御760と通信することができる。こうした制御は、720で与えられるオブジェクトを使って、レポート作成者の要望に従ってカスタムレポートを正しく生成することができる。レポートは、どのファイル形式でも生成され得る。たとえば、レポートは、XML、HTML形式でも、JPEGのTIFFなどの画像としても生成され得る。好ましい実施形態において、レポートは、マイクロソフト(登録商標)によって提供される中間レポートファイル形式などの中間形式で生成されることができ、そうすることによって、次いで、個々のレンダラ(renderer)740によって要求され得る適切などの形式にも変換され得る。したがって、図7によって促されるプロセスの最終ステップとして、生成されたレポートが、表示のためにレンダラ740に渡され得る。
(例示的なレポート定義基準)
レポートレイアウト定義基準755は、レポート定義が従い得る、いずれか1組の規則である。基準755に従うことによって、カスタムレポート定義が、レポート処理710によって処理され得る。基準755は、非常に単純なものから非常に複雑なものまで変化し得る。単純な基準の提供は、カスタムレポート定義の作成を容易にするという利点を有するが、処理され得るカスタムレポートレイアウトのタイプにおける柔軟性を低下させる可能性もある。より複雑な基準は、概して、ユーザにとって学習をより難しくさせ得るという犠牲を払って、より洗練されたカスタムレイアウトを可能にし得る。
レポート定義を含むために用いられ得る、非常に様々なファイル形式があり、基準755は、レポート処理710によって使われる特定のファイル形式に応じて変わり得る。たとえば、レポート定義は、XMLファイル、HTMLファイル、シンプルテキスト(.txt)ファイル、またはデジタル情報を格納する他のどのファイルとしても格納され得る。レポート定義言語(RDL)と呼ばれるレポート定義ファイルの側面を描写する1組の標準タグが現在、マイクロソフト(登録商標)コーポレーションでの開発を完成させつつある。RDLは、本発明とともに用いるための、優れた候補ファイルタイプと思われる。
本発明の例示的な基準は、レポート作成ソフトウェアの設計能力を拡張させる。従来技術は、設計者が、テーブルまたは行列における列幅など、確立されサポートされているレイアウトのプロパティを指定することを可能にするが、本発明は、レポート作成ソフトウェアの所与の実施形態においてネイティブサポートされていない、全く新しいレイアウトを設計者が指定することを可能にする。ほとんどのレポート作成ソフトウェアは、テーブルおよび行列をサポートするが、テーブルまたは行列レポートレイアウト定義をサポートしないレポート作成ソフトウェアを検討してみる。この場合、テーブルおよび行列は、レポート作成ソフトウェアの能力を拡張させるためのカスタムレイアウトとして提供され得る。以下は、このセクションで説明された定義基準を用いる、カスタムレイアウトの2つの例である。第1の例は、仮想レポート処理ソフトウェアとともに用いられるのに十分な定義基準を満たすカスタムレポートレイアウト定義として、テーブルを提示する。第2の例は、仮想レポート処理ソフトウェアとともに用いられるのに十分な定義基準を満たすカスタムレポートレイアウト定義として、行列を提示する。
Figure 2006072980
Figure 2006072980
Figure 2006072980
Figure 2006072980
Figure 2006072980
(例示的なインターフェイスおよびサポートプロセス)
オブジェクト指向のコンピュータプログラミングという状況におけるインターフェイスは、当該分野において公知であるが、本発明は、レポートレイアウトに対する前例のないカスタム制御を可能にするためのインターフェイスを新たに利用する。このセクションは最初に、オブジェクト指向コンピューティングおよびインターフェイスの基本原理を説明する。次いで、本発明とともに用いるための、インターフェイスの様々な潜在的特徴が記述される。
図7の要素700、710、720、760など、およびソフトウェアとして実装され得る、本発明の他のどの態様も、通常、オブジェクト指向プログラミング技術を用いて生成される、ソフトウェアの別個のユニットでよい。このような1つの例示的オブジェクトが、図8に示されており、図8は、一般的なCOMオブジェクト800の特徴を示す。他のオブジェクトタイプも利用可能であり、当業界において広く用いられており、ここで述べられるオブジェクト800は、例示を目的とした非限定的な例を意図している。800などのオブジェクトは概して、1つまたは複数のインターフェイス802、803、804をサポートし、こうしたインターフェイスはそれぞれ、メソッド805を含み得る。メソッド805は通常、ある特定のアクションを実施し、ソフトウェア、たとえば別のオブジェクトによってコールされ得る関数またはプロシージャである。このようなソフトウェアは、そのオブジェクト800のクライアントと呼ばれる。インターフェイス803を構成する複数のメソッド805は通常、何らかの形で相互に関連している。概して、クライアントは、オブジェクトのインターフェイス802、803、804中のメソッド805を呼び出すことによって、オブジェクト800によって提供されるサービスにアクセスすることができる。クライアントは概して、オブジェクトのデータにアクセスすることを禁止される。オブジェクトによって遂行される、本明細書および特許請求の範囲に記載される関数は、互いにインターフェイスをとるように設計された複数のオブジェクトを介しても達成され得ることが留意されるべきである。
通常、オブジェクト800は、ある特定のクラスのインスタンスである。あるクラスが、たとえば、データベースサーバへの接続をオープンするサービスを提供するオブジェクトを含むことができ、別のクラスが、ファイルにデータを書くオブジェクトを含むことができる。通常、プログラマは、そのオブジェクトのインスタンスの実行に先立って、オブジェクトのクラスを知っている。オブジェクトのクラスは、クラスライブラリ中でルックアップされる。このようなライブラリは、オブジェクトの使用可能なすべてのクラスからなるディレクトリにアクセスすることができる。クライアントは、欲しいと思うオブジェクトのクラス、およびそれを指すポインタを欲しいと思うサポートされる第1のインターフェイスを指定して、ライブラリ中の関数をコールすることができる。ライブラリは次いで、そのクラスのオブジェクトを実装するサーバに実行を開始させる。ライブラリはまた、開始側クライアントに、新たにインスタンス化されたオブジェクトにおいて、要求されたインターフェイスを指すポインタを戻す。クライアントは次いで、オブジェクトに直接、オブジェクトがサポートする他のどのインターフェイスへのポインタも求め得る。
オブジェクトによってサポートされるインターフェイスは概して、オブジェクトとそのクライアントの間のコントラクトと思われる。オブジェクトは、インターフェイスがメソッドを定義すると、そのメソッドのサポートを保証し、クライアントは、メソッドの正しい呼出しを保証する。したがって、オブジェクトおよびクライアントは、各インターフェイスを明示的に識別する方式、インターフェイス中のメソッドを記述し、または定義する共通の方式、およびどのようにしてインターフェイスを実装するかという具体的な定義において一致しなければならない。
したがって、オブジェクトは、継承するインターフェイスパラメータ、ならびに継承するクラスパラメータによって記述され得る。たとえば、オブジェクトのクラスが、ファイルにデータを書く関数をもっている場合、そのクラスを継承するインスタンスも、インスタンス中で提供されるどの付加特徴および関数とも同様に、ファイルにデータを書き込むことができる。クラスが特定のインターフェイスをサポートする場合、そのクラスのインスタンスは、「コントラクト」を継承し、したがって、そのインターフェイスもサポートする。本発明の態様がそれを介して実装されるオブジェクトは概して、こうしたプログラミング原理ならびにオブジェクト、クラス、およびインターフェイスの定義の理解に準拠する。ただし、オブジェクト指向プログラミング技術に対する修正および改良は絶えず起こっており、本発明は、特定のタイプのオブジェクトにも、特定のどの特徴を有するオブジェクトにも限定されないことが明らかであろう。提供されるインターフェイスは、現在利用されている、または今後開発されるどの種類のオブジェクトにも関連して実装され得る。
図7を参照すると、本発明に関連して使用される特定のインターフェイス723は、非常に様々な特徴のいずれも有し得る。インターフェイス723は概して、カスタムレポートレイアウト制御760のクライアントが、レポート処理エンジン700のサーバオブジェクトの特徴にアクセスすることを可能にする。様々な実施形態が、レポート処理エンジン700内で提供されるレンダリングオブジェクト720へのより明確なアクセスをもたらし得る。インターフェイス723がもたらし得る多数の有利な特徴があり、このような多くの特徴が後で提示される。本発明は、ここで説明される特定のどのインターフェイス特徴の使用にも、ここで説明されるインターフェイス特徴の企図される実装形態にも限定されない。そうではなく、こうしたインターフェイス特徴は、本発明とともに用いるためのインターフェイスの多くの有用な潜在的側面をエニュメレーションするために提示される。最後に、インターフェイス723の使用を容易にする本発明の様々な態様も、後で説明される。
最初に、インターフェイス723は、1つまたは複数のカスタムレポートレイアウト制御760によってアクセスされるように設計され得る。このようなアクセスを容易にするために、インターフェイス723は、公開されているインターフェイスでよく、このようなインターフェイスにおいて、カスタムレポートレイアウト制御760がインターフェイス723にアクセスすることを可能にする様々なプロパティが、一般の人が使用するために提供され得る。インターフェイスは、インターネット上での公開や、ソフトウェア販売によって配布される文献を用いた公開を含む、幾通りのやり方でも公開され得る。
インターフェイス723は、カスタム制御760から登録情報を獲得するように構成され得る。レポート処理エンジン700は、エンジン700とともに用いられるカスタムレポートレイアウト制御760の登録を維持するように構成され得る。たとえば、処理制御760用のアセンブリおよびクラスが、登録のために入手され得る。登録ファイルは、たとえば、configファイルでよい。登録ファイル中のカスタム制御760のエントリは、レポート定義750に格納されているカスタムレポートレイアウトの名前にマッチングされ得る。このようにして、エンジン700は、特定のカスタムレイアウトとともにどのカスタム制御760を使うか判定することができる。以下は、登録ファイル中の例示的なエントリである。
Figure 2006072980
本明細書において説明されるシステムおよび方法による処理制御インターフェイス723は、複数のインターフェイスを含むことができ、複数のオブジェクトが、そうしたインターフェイスをサポートし得る。図10は、本発明に関連して用いられ得る相互運用オブジェクト1050〜1055およびインターフェイス1060、1061の全体図を示す。レポート処理エンジン1040は、このような任意の数の相互運用オブジェクト1050〜1055を備え得る。また、複数のオブジェクト1050〜1055は、インターフェイス1060用のサポート処理を提供し得る。1つまたは複数の互いに異なる個々のオブジェクトによって実施されることもでき、より大きいオブジェクトのサブプロセスとして実施されることもできるサポートプロセスが、後で記述される。したがって、プロセスが、以下でオブジェクトとして記述される場合、オブジェクトの柔軟な潜在的構成が重視されるべきである。
概して、インターフェイス723は、複数のプロパティ、すなわちインターフェイス723に渡され得る情報を認識するように構成され得る。以下は、処理制御インターフェイス723とともに用いられ得る例示的なプロパティのリストである。
カスタムレイアウトプロパティ:このプロパティは、上記の定義基準セクション(例示的なレイアウト基準3を参照)で論じられたカスタムレポートレイアウト用に指定された情報のタイプを含み得る。したがって、カスタムレイアウトプロパティは、標準(レンダリング可能)レポートレイアウトに変換するために、レンダリングオブジェクト720にカスタムレポートレイアウトの詳細を与え得る。
レンダリングレイアウトプロパティ:このプロパティは、レンダリングオブジェクト720がカスタムレイアウトを構成するのに用いることができる、標準的なレンダリング可能レポートレイアウトプロパティを識別することができる。このプロパティは、最初はヌルでよい。
インターフェイス723は、インターフェイス723からのサービスを要求するのに用いられ得る複数のメソッドを備えることができる。以下は、処理制御インターフェイス723とともに用いられ得る例示的なメソッドのリストである。
プロセスメソッド:プロセスメソッドは、カスタムレポートレイアウトから、標準レポートレイアウトを生成することができる。プロセスメソッドは、作成された標準レポートレイアウトを、レンダラ740への引渡しのために目印をつけられた場所に格納することができる。
オンクリックメソッド:オンクリックメソッドは、ユーザ操作用のイベントハンドラを提供することができる(以降のイベントセクションを参照)。
オンダブルクリック:オンダブルクリックメソッドは、ユーザ操作用の別のイベントハンドラを提供することができる(以降のイベントセクションを参照)。
オンバリュー変更:オンバリュー変更メソッドは、ユーザ操作用の別のイベントハンドラを提供することができる(以降のイベントセクションを参照)。
オンムーブ:オンムーブメソッドは、ユーザ操作用の別のイベントハンドラを提供することができる(以降のイベントセクションを参照)。
上記のインターフェイスプロパティおよびメソッドは、レンダリングオブジェクト720におけるプロセスによってサポートされ得る。こうしたプロセスは、カスタムレポートレイアウト中で用いられる様々な基準を認識するとともにレンダリングオブジェクト720にアクセスすることができるカスタム制御760に適切なサポートを提供するように拡張され得る。本明細書に記載される例示的な実施形態に沿って、以下は、カスタムレイアウト用のサポートを適切に提供するように実装され得るレンダリングオブジェクト720の拡張のリストを示す。
(例示的なレンダリングオブジェクトの拡張1:カスタムレポートレイアウト)
カスタムレポートレイアウトオブジェクトは、どの標準レポートレイアウトオブジェクトのサブクラスでもよい。カスタムレポートレイアウトオブジェクトは、カスタムレポートレイアウトを表すプロセスを含み得る。様々な実施形態において、こうしたプロセスは、次のように記述され得るプロパティ(ここでは任意の名前を与えられている)を認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張2:カスタムデータ)
カスタムデータオブジェクトは、カスタムレポートレイアウトで表示するために、どのデータも表すことができる。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張3:データグループ化コレクション)
データグループ化コレクションオブジェクトは、カスタムレイアウト用のデータグループ化の順序つきリストを与え得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張4:データメンバコレクション)
データメンバコレクションオブジェクトは、データメンバの順序つきリストを与え得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張5:データメンバ)
データメンバオブジェクトは、カスタムレポートレイアウトのデータ中のグループインスタンスを表し得る。各グループインスタンスごとに、1つのデータメンバが存在し得る。たとえば、列に沿った製品カテゴリおよび製品、ならびに行に沿った国および地域についての販売データグループがある場合、データ列のグループ化の中に、各製品カテゴリごとに1つのデータメンバ(そのカテゴリの各製品ごとのデータメンバを含む)があり、データ行のグループ化の中に、各国ごとに1つのデータメンバ(その国の各地域ごとのデータメンバを含む)があり得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張6:データセルコレクション)
データセルコレクションオブジェクトは、カスタムデータ中のデータセルすべてを表し得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張7:データセル)
データセルオブジェクトは、カスタムデータ中の単一のセル値を表し得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張8:データ値コレクション)
データ値コレクションオブジェクトは、カスタムデータの1つのセル中のデータ値のリストを提供し得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張9:データ値)
データ値オブジェクトは、データセル中の単一の値を表し得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張10:レポート)
レポートオブジェクトは、レポート用のどの追加プロパティも提供し得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張11:レポートレイアウト)
レポートレイアウトオブジェクトは、サポートされるレポートレイアウト用のどの追加プロパティも提供し得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張12:グループ)
グループオブジェクトは、グループ用のどの追加プロパティも提供し得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張13:カスタムプロパティコレクション)
カスタムプロパティコレクションオブジェクトは、レポート、レポートレイアウト、またはグループ用のカスタムプロパティのリストを提供し得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張14:カスタムプロパティ)
カスタムプロパティオブジェクトは、レポート、レポートレイアウト、またはグループ用のカスタムプロパティを提供し得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張15:変更タイプエニュメレーション(enumeration))
変更タイプエニュメレーションオブジェクトは、カスタムレポートレイアウトに対する変更のタイプも、カスタムレポートレイアウト用のイベントハンドラも定義することができる。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張16:画像マップレイアウト)
画像マップレイアウトオブジェクトは、画像マップ中の領域を提供し得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張17:画像マップポイントコレクション)
画像マップレイアウトオブジェクトは、画像マップレイアウトポイントのリストを提供し得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
(例示的なレンダリングオブジェクトの拡張18:ドロップダウン値コレクション)
ドロップダウン値コレクションオブジェクトは、ドロップダウン用に可能な値のリストを提供し得る。ドロップダウンは、コレクション中に(タイプオブジェクトの)名称および値両方を有する。名称は、ユーザに示されることができ、値は、後で説明されるオンバリュー変更イベント用に得られる値として用いられることができる。
(例示的なレンダリングオブジェクトの拡張19:値コレクション)
値コレクションオブジェクトは、レポートレイアウト用のデータ値のリストを提供し得る。関連プロセスは、以下の例示的なプロパティを認識することができる。
Figure 2006072980
上で説明されたのは、インターフェイス723用の潜在的プロパティ、メソッド、およびサポートプロセスの拡張である。インターフェイスに関連づけられ得る別の1組の特徴は、インターフェイス723によって提供され得るイベントである。概して、何かが起こったというイベントが、オブジェクトとの通信を可能にする。起こることは、どのようなことでもよい。ただし、本発明のシステムおよび方法と関連して使用するのに有用な1組のイベントが確定されている。本発明は、ここで説明される特定のどのイベントの使用にも、イベントの企図される実装形態にも限定されない。そうではなく、以下のイベントは、本発明の完全な開示に対する法定要件に従うように提示される。
イベントは、インターフェイス723におけるイベントメソッドを介してカスタムレポートレイアウト制御760に渡され得る。任意の名前を与えられた次のイベントが渡され得る。
OnClick:ボタンのクリック、画像マップなどに対して用いられ得るイベント。OnClickイベントは、ユーザが、クリックイベントを受け取るために印をつけられているレポートレイアウトをクリックするとコールされ得る。このようなイベントに応答して、カスタムレポートレイアウト制御760は、クリックに基づいてレンダリングされる新しいレンダリングレイアウトを(必要とされる場合)修正することも作成することもできる。このイベントとともに提供され得る例示的な引数は、次の通りである。
Figure 2006072980
OnDoubleClick:ボタンのクリック、画像マップなどに対して用いられ得るイベント。オンダブルクリックイベントは、ユーザが、クリックイベントを受け取るために印をつけられているレポートレイアウトをダブルクリックするとコールされ得る。カスタムレポートレイアウト制御760は、ダブルクリックに基づいてレンダリングされる新しいレンダリングレイアウトを(必要とされる場合)修正し、または作成するように構成され得る。このイベントとともに提供され得る例示的な引数は、次の通りである。
Figure 2006072980
OnValueChange:ライトバック、ドロップダウン選択などに対して用いられ得るイベント。オンバリュー変更イベントは、ユーザがレポートレイアウトの値を(たとえばテキストボックスの編集またはドロップダウンでの値の選択を介して)修正するとコールされる。カスタムレポートレイアウト制御は、値の変更に基づいてレンダリングされる新しいレンダリングレイアウトを(必要とされる場合)修正し、または作成するように構成され得る。このイベントとともに提供され得る例示的な引数は、次の通りである。
Figure 2006072980
OnMove:テーブル列の再編成、行列の再ピボットなどに対して用いられ得るイベント。オンムーブイベントは、ユーザが、ドラッグ可能なレポートレイアウトを、有効なドロップ目標である別のレポートレイアウトにドラッグするとコールされ得る。カスタムレポートレイアウト制御760は、ドラッグ/ドロップに基づいてレンダリングされる新しいレンダリングレイアウトを(必要とされる場合)修正し、または作成するように構成され得る。このイベントとともに提供され得る例示的な引数は、次の通りである。
Figure 2006072980
レンダリングオブジェクト720中のレポートレイアウトプロパティは、どのレポートレイアウトがどのイベントに応答するかを制御するのに用いられ得る。たとえば、次の例示的なレポートレイアウトプロパティが用いられ得る。
Figure 2006072980
以下の例示的なマウスボタンのエニュメレーションが、イベントとともに、どのマウスボタンがクリックされたかを示すのに用いられ得る。この例では、同時に行われた複数のクリックは、エニュメレーションの中で最初に合致するレイアウトを生じ得る。
Figure 2006072980
(例示的な設計ツール)
本発明を用いると、サポートされるレポートレイアウト用に利用可能であり得るどのレポート作成ソフトウェア特徴も、カスタムレイアウトに対しても利用可能にされ得る。上述したように、カスタムレイアウト定義は、レポート処理ソフトウェアに対して認識可能であるように、最初に1組のレポート定義基準を満たすことができる。このようなカスタムレイアウト定義を作成するのに用いられ得る設計ツールが提供される。このような設計ツールは、レポート処理ソフトウェア用の定義基準を満たすカスタムレポート定義の作成支援をもたらす任意のツールである。設計ツールの様々な有利な特徴が、本明細書において説明される。本発明は、こうした特徴に限定されない。
図4は、本発明の他の様々な態様に関連する設計ツール455を示す。設計ツール455内部のボックスは、カスタムレポートレイアウト設計制御456を表す。このカスタム設計制御は、カスタムレポートビルダ492とともに実装され得る。カスタム制御456は、カスタムレポートビルダ492によって課されるどの追加基準も満たすカスタムレイアウト定義の設計を支援することができる。したがって、第1組の基準が、設計ツール455においてネイティブサポートされることができ、レポート処理ソフトウェア410の要件を満たすカスタムレイアウトの設計支援を可能にする。第2組の基準が、カスタム設計制御456によってさらにサポートされることができ、カスタムレポートビルダ492の要件を満たすカスタムレイアウトの設計支援を可能にする。
登録ファイルが、カスタム設計制御456に関する有用な情報を維持するために、デザイナー455によって保持され得る。この登録情報は、カスタム設計制御456用のアセンブリおよびクラス情報を入手するのに用いられ得る。以下は、登録ファイル中の例示的なエントリである。
Figure 2006072980
設計ツール455が、カスタム設計制御956、957、958を可能にするように構成される実装形態において、カスタム設計制御956、957、958が設計ツール455の関数にアクセスすることを可能にするためのインターフェイスが提供され得る。設計ツールのこのような実施形態が、図9に示されている。以下は、このようなインターフェイス960の例示的な特徴である。すなわち、インターフェイスは、カスタムレポートレイアウト設計制御956、957、958がツールボックスアイコンを提供することを要求し得る。インターフェイスは、カスタムレポートレイアウト設計制御956、957、958がシリアライズ/デシリアライズメソッドをサポートすることを要求し得る。インターフェイスは、カスタムレポートレイアウト設計制御956、957、958にレイアウト情報を書くためのデバイス状況を提供し得る。この機能は、チャートドロップエリアおよびテーブルの行/列選択バーのようなものをサポートするようにアクティブである場合、制御956、957、958がより大きい描画/イベントエリアを要求する機能を含み得る。インターフェイスは、設計ツール455がカスタムレポートレイアウト設計制御956、957、958にすべてのUIイベントを渡すよう要求し得る。この機能は、標準(およびカスタム)制御をカスタム制御内にネストするドラッグ/ドロップイベントを含み得る。インターフェイスは、カスタムレポートレイアウト設計制御956、957、958が、デザイナーツールバーからのイベントを受諾する(たとえば、フォーマット化)ように登録を行うことを可能にし得る。インターフェイスは、カスタムレポートレイアウト設計制御956、957、958がコンテキストメニューレイアウトを登録することを可能にし得る。インターフェイスは、カスタムレポートレイアウト設計制御956、957、958に、プロパティ(たとえば、有効な値の名称、タイプ、説明、リスト)を登録させて、制御が選択されたとき、プロパティブラウザにおけるそうしたプロパティの編集を可能にすることができる。
(例示的な計算機およびネットワーク環境)
図2aを参照して、本発明のシステムおよび方法に関連した使用に適した例示的なコンピューティングデバイス200が広範に説明される。ごく基本的な構成において、デバイス200は通常、処理ユニット202およびメモリ203を含む。コンピューティングデバイスの正確な構成およびタイプに応じて、メモリ203は、揮発性(たとえばRAM)でも、不揮発性(たとえばROM、フラッシュメモリなど)でも、この2つの何らかの組合せでもよい。さらに、デバイス200は、磁気または光ディスクやテープなどの大容量記憶装置(取外し式記憶装置204および/または固定式記憶装置205)も有し得る。同様に、デバイス200は、キーボードおよびマウスなどの入力デバイス207、ならびに/またはコンピューティングデバイス200の機能にアクセスするグラフィック補助としてGUIを提示するディスプレイなどの出力デバイス206も有し得る。デバイス200の他の側面は、有線または無線媒体いずれかを使用する他のデバイス、コンピュータ、ネットワーク、サーバなどとの通信接続208を含み得る。こうしたすべてのデバイスは、当該分野において公知であり、ここで詳細に説明される必要はない。
図2bは、図2aの適切なコンピューティングデバイスおよび周辺システムの、比較的詳細な例を示す。計算機システム環境220は、適切な計算機環境の一例に過ぎず、本発明の使用または機能の範囲に対するどのような限定を示唆することも意図していない。計算機環境220は、例示的な動作環境220に示されるどのコンポーネントまたはその組合せに関するどのような依存も要件も有していると解釈されるべきでない。
本発明は、他の数多くの汎用または専用の通信環境または構成と動作可能である。本発明とともに使用するのに適切であり得る他の公知の計算システム、環境、および/または構成の例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ型デバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれをも含む分散型計算機環境などを含むが、それに限定されない。
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令という一般的なコンテキストにおいて実装され得る。概して、プログラムモジュールは、特定のタスクを実施しまたは特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワークを介してリンクされるリモート処理デバイスによってタスクが実施される分散型計算機環境でも実施され得る。分散型計算機環境では、プログラムモジュールは、メモリ記憶デバイスを含むローカルおよびリモートコンピュータ記憶媒体両方に置かれ得る。
図2bを参照すると、本発明を実施する例示的なシステムは、汎用コンピューティングデバイスを、コンピュータ241の形で含む。コンピュータ241のコンポーネントは、処理ユニット259と、システムメモリ222と、システムメモリなど様々なシステムコンポーネントを処理ユニット259に結合するシステムバス221とを含み得るが、それに限定されない。システムバス221は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスなどいくつかのタイプのバス構造のいずれでもよい。限定ではなく例として、このようなアーキテクチャは、ISA(業界標準アーキテクチャ)バス、MCA(マイクロチャネルアーキテクチャ)バス、EISA(拡張ISA)バス、VESA(米国ビデオ電子装置規格化協会)ローカルバス、メザニンバスとしても知られるPCI(周辺装置相互接続)バスを含む。
コンピュータ241は通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ241によってアクセスされ得るとともに揮発性媒体および不揮発性媒体、取外し式媒体および固定式媒体両方を含む、市販されているどの媒体でもよい。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するためのどの方法でも技術でも実施される揮発性媒体および不揮発性媒体、取外し式媒体および固定式媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、DVD(デジタル多用途ディスク)または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは、所望の情報を格納するのに使われ得るとともにコンピュータ241によってアクセスされ得る他のどの媒体も含むが、それに限定されない。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、変調データ信号、たとえば搬送波や他の移送機構として具体化し、どの情報配信媒体も含む。「変調データ信号」という用語は、信号中の情報を符号化するようなやり方で設定されまたは変更される信号特性の1つまたは複数を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークや直接有線接続などの有線媒体、ならびに音響、RF、赤外線、および他の無線媒体などの無線媒体を含む。上記のどの組合せも、やはりコンピュータ可読媒体の範囲に含まれるべきである。
システムメモリ222は、コンピュータ記憶媒体を、ROM(読出し専用メモリ)223およびRAM(ランダムアクセスメモリ)260など、揮発性および/または不揮発性メモリの形で含む。BIOS(基本入出力システム)224は、たとえば起動中にコンピュータ241内部の要素間での情報の転送を助ける基本ルーチンを含み、通常はROM223に格納される。RAM260は一般に、処理ユニット259に対してただちにアクセス可能な、かつ/または処理ユニット259によって現在操作されているデータおよび/またはプログラムモジュールを含む。限定ではなく例として、図2bは、オペレーティングシステム225、アプリケーションプログラム226、他のプログラムモジュール227、およびプログラムデータ228を示す。
コンピュータ241は、他の取外し式/固定式、揮発性/不揮発性コンピュータ記憶媒体も含み得る。単なる例として、図2bは、固定式不揮発性磁気媒体からの読出しまたはそこへの書込みを行うハードディスクドライブ238、取外し式な不揮発性磁気ディスク254からの読出しまたはそこへの書込みを行う磁気ディスクドライブ239、および、CD ROMや他の光学媒体など取外し式な不揮発性光ディスク253からの読出しまたはそこへの書込みを行う光ディスクドライブ240を示す。例示的な動作環境で使われ得る、他の取外し式/固定式、揮発性/不揮発性コンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体状態RAM、固体状態ROMなどを含むが、それに限定されない。ハードディスクドライブ238は通常、インターフェイス234などの固定式メモリインターフェイスによって、システムバス221に接続され、磁気ディスクドライブ239および光ディスクドライブ240は通常、インターフェイス235などの取外し式メモリインターフェイスによって、システムバス221に接続される。
上述した、図2bに示されているディスクドライブおよびそれに関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ241のための他のデータの格納を可能にする。図2bでは、たとえば、ハードディスクドライブ238は、オペレーティングシステム258、アプリケーションプログラム257、他のプログラムモジュール256、およびプログラムデータ255を格納するものとして示される。こうしたコンポーネントは、オペレーティングシステム225、アプリケーションプログラム226、他のプログラムモジュール227、およびプログラムデータ228と同じでも異なってもよいことに留意されたい。オペレーティングシステム258、アプリケーションプログラム257、他のプログラムモジュール256、およびプログラムデータ255は、少なくとも異なるものであることを示すために、ここでは異なる番号が与えられている。ユーザは、キーボード251、および一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス252を介して、コマンドおよび情報をコンピュータ241に入力することができる。他の入力デバイス(図示せず)は、マイクロホン、ジョイスティック、ゲーム用パッド、衛星パラボラアンテナ、スキャナなどを含み得る。こうしたおよび他の入力デバイスはしばしば、システムバスに結合されるユーザ入力インターフェイス236を介して処理ユニット259に接続されるが、パラレルポート、ゲームポート、USB(ユニバーサルシリアルバス)など、他のインターフェイスおよびバス構造によって接続されることもできる。モニタ242または他のタイプの表示デバイスも、ビデオインターフェイス232などのインターフェイスを介してシステムバス221に接続される。モニタに加え、コンピュータは、出力周辺インターフェイス233を介して接続され得るスピーカ244およびプリンタ243など、他の周辺出力デバイスも含み得る。
コンピュータ241は、リモートコンピュータ246など、1つまたは複数のリモートコンピュータへの論理接続を用いて、ネットワーク接続された環境において動作することができる。リモートコンピュータ246は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネットワークノードでよく、通常、コンピュータ241に関連して上述された要素の多くまたはすべてを含むが、図2bにはメモリ記憶装置247のみが示されている。図2bに示される論理接続は、LAN(ローカルエリアネットワーク)245およびWAN(ワイドエリアネットワーク)249を含むが、他のネットワークも含み得る。このようなネットワーク環境は、会社、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。
LANネットワーク環境において使われる場合、コンピュータ241は、ネットワークインターフェイスまたはアダプタ237を介してLAN245に接続される。WANネットワーク環境において使われる場合、コンピュータ241は通常、モデム250、または、たとえばインターネットなどのWAN249を介して通信を確立する他の手段を含む。モデム250は、内部にあっても外部にあってもよく、ユーザ入力インターフェイス236または他の適切な機構を介してシステムバス221に接続され得る。ネットワーク接続された環境では、コンピュータ241に関連して図示されるプログラムモジュールまたはその一部は、リモートメモリ記憶装置に格納され得る。限定ではなく例として、図2bは、リモートアプリケーションプログラム248を、メモリ装置247に常駐するものとして示す。図示したネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段も使われ得ることが理解されよう。
本明細書において記載した様々な技術は、ハードウェアまたはソフトウェア、あるいはそうすることが適切な場合には、その両方の組合せとともに実装され得ることが理解されるべきである。したがって、本発明の方法および装置、あるいは本発明の特定の態様または部分は、実体のある媒体、たとえばフロッピー(登録商標)ディスケット、CD−ROM、ハードドライブ、または他のどのマシン可読記憶媒体においても実施されるプログラムコード(すなわち、命令)の形をとることができ、プログラムコードがコンピュータなどのマシンにロードされるとともにそれによって実行されると、マシンは本発明を実施する装置となる。プログラム可能なコンピュータ上でのプログラムコードの実行の場合、コンピューティングデバイスは概して、プロセッサ、プロセッサによって読取り可能な記憶媒体(揮発性、不揮発性メモリおよび/または記憶要素など)、少なくとも1つの入力デバイス、ならびに少なくとも1つの出力デバイスを含む。1つまたは複数のプログラムが、本発明に関連して記述されたプロセスを、たとえば、API、再使用可能な制御などを使用することにより、実装することも使用することもできる。このようなプログラムは好ましくは、コンピュータシステムと通信するように、高度な手続き型プログラミング言語またはオブジェクト指向プログラミング言語で実装される。ただし、プログラム(群)は、そうすることが望まれる場合、アセンブリでも機械言語でも実装されることができる。いずれの場合でも、言語は、コンパイル型言語でもインタープリト型言語でもよく、ハードウェアの実装と組み合わされ得る。
例示的な実施形態は、1つまたは複数のスタンドアロンコンピュータシステムというコンテキストにおける本発明の使用に言及しているが、本発明は、そのように限定されるのではなく、ネットワークや分散型計算機環境など、どの計算機環境に関連しても実装され得る。さらに、本発明は、複数の処理チップまたはデバイス内でも、そうした複数のチップまたはデバイスに渡っても実装されることができ、記憶装置も同様に、複数のデバイスに渡って実現され得る。このようなデバイスは、パーソナルコンピュータ、ネットワークサーバ、ハンドヘルドデバイス、スーパーコンピュータ、または自動車および航空機など、他のシステムに統合されたコンピュータを含むことができよう。
ネットワーク接続された例示的な計算機環境が、図2cに提示されている。ネットワークは、どのコンピュータも、他のクライアントまたはサーバデバイスも、あるいは分散型計算機環境においても接続し得ることを当業者は理解できよう。この点に関して、任意の数の処理、メモリ、または記憶ユニット、ならびに同時に起こる任意の数のアプリケーションおよびプロセスを有するどのコンピュータシステムも環境も、提供される本システムおよび方法とともに使用するのに適していると見なされる。
分散コンピューティングは、コンピューティングデバイスとシステムの間のやり取りによって、コンピュータリソースおよびサービスの共有をもたらす。こうしたリソースおよびサービスは、情報の交換、ファイルのキャッシュ記憶およびディスク記憶を含む。分散コンピューティングは、ネットワーク接続性を利用し、クライアントが、その集合的能力を活用して企業全体に利益を与えることを可能にする。この点に関して、様々なデバイスが、本明細書に記載されるプロセスを包含し得るアプリケーション、オブジェクト、またはリソースを有し得る。
図2cは、例示的なネットワーク接続された、または分散型の計算機環境の概略図を提示する。この環境は、コンピューティングデバイス271、272、276、および277と、オブジェクト273、274、および275と、データベース278とを備える。こうしたエンティティ271、272、273、274、275、276、277、および278はそれぞれ、プログラム、メソッド、データストア、プログラム可能論理などを備えることも使用することもできる。エンティティ271、272、273、274、275、276、277、および278は、PDA、オーディオ/ビデオデバイス、MP3プレーヤ、パーソナルコンピュータなど、同じまたは異なるデバイスの複数の部分に及び得る。各エンティティ271、272、273、274、275、276、277、および278は、通信ネットワーク270を介して、別のエンティティ271、272、273、274、275、276、277、および278と通信することができる。この点に関して、どのエンティティも、データベース278または他の記憶要素の維持およびアップデートに責任があり得る。
このネットワーク270自体が、図2cのシステムにサービスを提供する他のコンピューティングエンティティを備えることができ、相互接続された多数のネットワークを表すことができる。本発明の態様によると、各エンティティ271、272、273、274、275、276、277、および278は、他のエンティティ271、272、273、274、275、276、277、および278の1つまたは複数のサービスを要求するのに、API、または他のオブジェクト、ソフトウェア、ファームウェアおよび/あるいはハードウェアを使用し得る別個の機能プログラムモジュールを含み得る。
275などのオブジェクトが、別のコンピューティングデバイス276に収容され得ることも理解されることができよう。したがって、図示される物理的環境は、接続されたデバイスをコンピュータとして示し得るが、このような図は、例示に過ぎず、PDA、テレビ、MP3プレーヤなどの様々なデジタルデバイス、たとえばインターフェイス、COMオブジェクトなどのソフトウェアオブジェクトを備える物理的環境も図示され、または記述され得る。
分散型計算機環境をサポートする様々なシステム、コンポーネント、およびネットワーク構成がある。たとえば、計算機システムは、有線または無線システムによって、ローカルネットワークまたは広範囲に渡る分散ネットワークによって接続され得る。現在、多くのネットワークが、インターネットに結合され、インターネットは、広範囲に渡る分散コンピューティング用のインフラストラクチャを提供し、異なる多くのネットワークを包含する。このようなどのインフラストラクチャも、インターネットに結合されていてもいなくても、提供される本システムおよび方法とともに用いられ得る。
ネットワークインフラストラクチャは、クライアント/サーバ、ピアツーピア、またはハイブリッドアーキテクチャなど、多くのネットワークトポロジを可能にし得る。「クライアント」は、それに関連づけられていない別のクラスまたはグループのサービスを利用するクラスまたはグループのメンバである。コンピュータの利用において、クライアントとは、プロセス、すなわち、大雑把には、別のプログラムによって提供されるサービスを要求する1組の命令またはタスクである。クライアントプロセスは、他のプログラムまたはサービス自体についての動作のどの詳細も「知る」必要なく、要求されたサービスを使用する。クライアント/サーバアーキテクチャ、特にネットワーク接続されたシステムでは、クライアントとは通常、別のコンピュータ、たとえばサーバによって提供される、共有されるネットワークリソースにアクセスするコンピュータである。図2cの例では、どのエンティティ271、272、273、274、275、276、277、および278も、状況に応じて、クライアント、サーバ、またはその両方と見なされ得る。
サーバとは通常、インターネットなど、リモートまたはローカルネットワークを介してアクセス可能なリモートコンピュータシステムであるが、必ずしもそうとは限らない。クライアントプロセスは、第1のコンピュータシステムにおいてアクティブになることができ、サーバプロセスは、第2のコンピュータシステムにおいてアクティブになることができ、通信媒体を介して互いに通信することによって、機能を分散させ、多数のクライアントにサーバの情報収集機能を利用させる。どのソフトウェアオブジェクトも、多数のコンピューティングデバイスまたはオブジェクトに渡って分散され得る。
クライアント(群)およびサーバ(群)は、プロトコル層(群)によって提供される機能を使用して、相互に通信する。たとえば、HTTP(ハイパーテキスト転送プロトコル)が、WWW(ワールドワイドウェブ)、すなわち「ウェブ」とともに用いられる共通プロトコルである。通常、IP(インターネットプロトコル)アドレスなどのコンピュータネットワークアドレス、またはURL(全域資源識別子)などの他の参照が、サーバまたはクライアントコンピュータを互いに識別するのに用いられ得る。ネットワークアドレスは、URLアドレスと呼ばれ得る。通信は、通信媒体を介して提供されることができ、たとえば、クライアント(群)およびサーバ(群)は、大容量通信用のTCP/IP接続(群)を介して相互に結合され得る。
図2aおよび図2bで提示される一般的なフレームワークに従って構築され得る多様な計算機環境、および図2cなどのネットワーク環境におけるコンピュータ使用において起こり得るさらなる多様性を鑑みて、本明細書において提供されるシステムおよび方法は、特定のコンピューティングアーキテクチャに限定されるものと解釈されてはならない。そうではなく、本発明は、どの1つの実施形態にも限定されるべきではなく、添付の特許請求の範囲による範囲内で解釈されるべきである。
本発明のシステムおよび方法とともに使用するのに適した、例示的なレポート処理ソフトウェアを示す上位レベルの図である。 レポートレイアウトおよびクエリを含むレポート定義ファイルを示す、より詳細な図である。 本発明の様々な態様に関連して使用するのに適した、例示的なコンピューティングデバイスの基本特徴を広く表すブロック図である。 本発明の様々な態様に関連して使用するのに適した、より詳細な例示的コンピューティングデバイスを表すブロック図である。 本発明のプロセスを含む、コンピュータ化されたプロセスが実装され得る、ネットワーク接続された例示的な計算機環境を示す図である。 カスタムレイアウトをサポートすることができない、従来技術によるレポート処理ソフトウェアを示す図である。 カスタムレイアウトをサポートすることができるレポート処理ソフトウェアの様々な側面を示す図である。カスタムレイアウトビルダにカスタムレイアウトを構成させるインターフェイス490が提供される。 例示的なレポート定義を示す図である。 図5aに示されるレポート定義から生成され得る例示的なレポートレイアウトを示す図である。図示されているレイアウトは、テーブルとして知られる。 通常はレポート作成ソフトウェアによってサポートされるレイアウトであるが、そうであるとは限らない、例示的な行列レポートレイアウトを示す図である。 水平から垂直提示に動的に変化するレポートレイアウトを示す図である。このようなレイアウトは、レポート作成に有用であり得るが、所与のレポート処理ソフトウェアによってサポートされない可能性がある。このレイアウトは、他のどのカスタムレイアウトとも一緒に、本発明のカスタムレイアウトサポート技術を用いてサポートされ得る。 所与のレポート処理エンジン、例示的なカスタムレポートレイアウト制御、レンダリングオブジェクト、およびインターフェイス、ならびにこうした様々なコンポーネントの間の例示的な相互作用とともに用いられるカスタムレイアウトが満たし得る定義基準を含む、本発明の様々な態様を示す図である。 オブジェクト指向ソフトウェア設計において一般に使用され、本発明の態様に関連して用いられ得るインターフェイスを有する、例示的なオブジェクトを示す図である。 カスタムレポートレイアウト設計制御によってアクセスされ得るインターフェイスを有する設計ツールを示す図である。 本発明の様々なインターフェイスに関連して記述されるプロセスを実装するのに用いられ得る、例示的なオブジェクトおよびインターフェイスを示す図である。
符号の説明
100 レポート定義ファイル
110 レポート処理ソフトウェア
111 データ拡張
112 レンダリング拡張
120 データソース
121 データソース
132 その他の形式
140 例示的なレポート定義ファイル
140b クエリ
202 処理ユニット
203 システムメモリ
204 取り外し式記憶装置
205 固定式記憶装置
206 出力デバイス(群)
207 入力デバイス(群)
208 通信接続(群)
220 計算機環境
221 システムバス
222 システムメモリ
225 オペレーティングシステム
226 アプリケーションプログラム
227 他のプログラムモジュール
228 プログラムデータ
230 ビデオメモリ
231 グラフィックスインターフェイス
232 ビデオインターフェイス
233 出力周辺インターフェイス
234 固定式不揮発性メモリインターフェイス
235 取外し式不揮発性メモリインターフェイス
236 ユーザ入力インターフェイス
237 ネットワークインターフェイス
242 モニタ
243 プリンタ
244 スピーカ
245 ローカルエリアネットワーク
246 リモートコンピュータ
248 リモートアプリケーションプログラム
249 ワイドエリアネットワーク
250 モデム
251 キーボード
252 ポインティングデバイス
255 プログラムデータ
256 他のプログラムモジュール
257 アプリケーションプログラム
258 オペレーティングシステム
259 処理ユニット
270 通信ネットワーク/バス
271 コンピューティングデバイス
272 コンピューティングデバイス
273 オブジェクト
276 コンピューティングデバイス
277 コンピューティングデバイス
278 データベース
310 レポート処理ソフトウェア
311 データ拡張
312 レンダリング拡張
320 データソース
321 データソース
332 その他の形式
340 サポートされるレポートレイアウト
340a クエリ
340b クエリ
340c クエリ
350 サポートされないレポートレイアウト
350a クエリ
350b クエリ
350c クエリ
370 サポートされるレイアウト用のレポートビルダ
380 レポート構築コンポーネント
410 レポート処理ソフトウェア
411 データ拡張
412 レンダリング拡張
420 データソース
421 データソース
432 その他の形式
440 サポートされるレポートレイアウト
440a クエリ
440b クエリ
440c クエリ
450 カスタムレポートレイアウト
450a クエリ
450b クエリ
450c クエリ
470 サポートされるレイアウト用のレポートビルダ
480 レポート構築コンポーネント
491 カスタムレポートビルダ
492 カスタムレポートビルダ
700 レポート処理エンジン
710 レポート処理
720 レンダリングオブジェクト
723 インターフェイス
730 データソース
740 レンダラ
750 レポート定義
755 定義基準
760 カスタムレポートレイアウト制御
800 オブジェクト
802 インターフェイス
803 インターフェイス
804 インターフェイス
805 メソッド
955 設計ツール

Claims (33)

  1. レポートを生成する命令を伝達するコンピュータ可読媒体であって、
    レポートのグラフィック表現を定義するレポート定義ファイルを読み出す命令と、
    レポート用の複数の画像特徴を生成する命令と、
    自動化された外部プロセスを、前記生成する命令によって表される関数にアクセスさせるインターフェイスを提供する命令であって、そうすることによって、前記自動化されたプロセスは、前記生成する命令によって作成されるレポート用の前記画像特徴を制御することによって、前記レポート定義ファイル中で定義された前記グラフィック表現を構築し得る命令と
    を備えることを特徴とするコンピュータ可読媒体。
  2. 前記前記レポート定義ファイルは、第1の識別を伝達し、前記自動化されたプロセスは、第2の識別を伝達し、適切な外部プロセスは、前記第1および第2の識別に基づいて、前記レポート定義ファイルとともに使用するために選択され得ることを特徴とする請求項1に記載のコンピュータ可読媒体。
  3. 前記インターフェイスは、前記コンピュータ可読媒体のすべてのユーザに、前記自動化されたプロセスを作成させるために公開されることを特徴とする請求項1に記載のコンピュータ可読媒体。
  4. 前記レポート定義ファイルに対して最初の処理を実施する命令をさらに備え、最初の処理は、前記自動化された外部プロセスによる処理に先立って起こり、前記最初の処理は、前記レポート定義ファイル用の1組の基準を強制することを特徴とする請求項1に記載のコンピュータ可読媒体。
  5. 前記レポート定義ファイルの作成を支援するための設計ツールを提供する命令をさらに備えることを特徴とする請求項4に記載のコンピュータ可読媒体。
  6. 自動化された第2の外部プロセスが、設計ツールを提供する前記命令によって表される関数にアクセスすることを可能にする第2のインターフェイスを提供する命令をさらに備えることを特徴とする請求項5に記載のコンピュータ可読媒体。
  7. 前記自動化された外部プロセスが利用可能でない場合、前記グラフィック表現を構築するための自動化された第2のプロセスを確定する命令をさらに備えることを特徴とする請求項1に記載のコンピュータ可読媒体。
  8. 前記グラフィック表現用の1組の列グループを受け取る命令と、前記列グループにデータを配置する命令をさらに備えることを特徴とする請求項1に記載のコンピュータ可読媒体。
  9. 前記グラフィック表現中のセル用の1組のセル識別子を受け取る命令と、前記セルにデータを配置する命令をさらに備えることを特徴とする請求項1に記載のコンピュータ可読媒体。
  10. 前記レポート定義ファイルは、XML(拡張マークアップ言語)ファイルであることを特徴とする請求項1に記載のコンピュータ可読媒体。
  11. レポート用の複数の画像特徴を生成する前記命令は、索引中で参照されることを特徴とする請求項1に記載のコンピュータ可読媒体。
  12. レポートを生成する方法であって、
    レポートのグラフィック表現を定義するレポート定義ファイルを読み出すステップと、
    レポート用の複数の画像特徴を生成する複数のプロセスを提供するステップと、
    外部プロセスを、前記生成するプロセスにアクセスさせるインターフェイスを提供するステップであって、そうすることによって、前記外部プロセスは、前記生成するプロセスによって作成されるレポート用の前記画像特徴を制御することによって、前記レポート定義ファイル中で定義された前記グラフィック表現を構築し得るステップと
    を含むことを特徴とする方法。
  13. 前記前記レポート定義ファイルは、第1の識別を伝達し、前記外部プロセスは、第2の識別を伝達し、適切な外部プロセスは、前記第1および第2の識別に基づいて、前記レポート定義ファイルとともに使用するために選択され得ることを特徴とする請求項12に記載の方法。
  14. 前記インターフェイスは、前記コンピュータ可読媒体のすべてのユーザに、前記外部プロセスを作成させるために公開されることを特徴とする請求項12に記載の方法。
  15. 前記レポート定義ファイルに対して最初の処理を実施するステップをさらに含み、最初の処理は、前記外部プロセスによる処理に先立って起こり、前記最初の処理は、前記レポート定義ファイル用の1組の基準を強制することを特徴とする請求項12に記載の方法。
  16. 前記レポート定義ファイルの作成を支援するための設計ツールを提供するステップをさらに含むことを特徴とする請求項15に記載の方法。
  17. 第2の外部プロセスが、前記設計ツールの関数にアクセスすることを可能にする第2のインターフェイスを提供するステップをさらに含むことを特徴とする請求項16に記載の方法。
  18. 前記自動化された外部プロセスが利用可能でない場合、前記グラフィック表現を構築するための自動化された第2のプロセスを確定するステップをさらに含むことを特徴とする請求項12に記載の方法。
  19. 前記グラフィック表現用の1組の列グループを受け取るステップと、前記列グループにデータを配置するステップをさらに含むことを特徴とする請求項12に記載の方法。
  20. 前記グラフィック表現中のセル用の1組のセル識別子を受け取るステップと、前記セルにデータを配置するステップをさらに含むことを特徴とする請求項12に記載の方法。
  21. 前記レポート定義ファイルは、XML(拡張マークアップ言語)ファイルであることを特徴とする請求項12に記載の方法。
  22. レポート用の複数の画像特徴を生成する前記プロセスは、索引中で参照されることを特徴とする請求項12に記載の方法。
  23. レポートのグラフィック表現を定義するレポート定義ファイルを読み出す手段と、
    レポート用の複数の画像特徴を生成する手段と、
    自動化された外部プロセスを、前記生成する手段によって表される関数にアクセスさせるインターフェイスを提供する手段であって、そうすることによって、前記自動化されたプロセスは、前記生成する手段によって作成されるレポート用の前記画像特徴を制御することによって、前記レポート定義ファイル中で定義された前記グラフィック表現を構築し得る手段と
    を備えることを特徴とするレポート生成システム。
  24. 前記前記レポート定義ファイルは、第1の識別を伝達し、前記自動化されたプロセスは、第2の識別を伝達し、適切な外部プロセスは、前記第1および第2の識別に基づいて、前記レポート定義ファイルとともに使用するために選択され得ることを特徴とする請求項23に記載のレポート生成システム。
  25. 前記インターフェイスは、前記レポート生成手段のすべてのユーザに、前記自動化されたプロセスを作成させるために公開されることを特徴とする請求項23に記載のレポート生成システム。
  26. 前記レポート定義ファイルに対して最初の処理を実施する手段をさらに備え、最初の処理は、前記自動化された外部プロセスによる処理に先立って起こり、前記最初の処理は、前記レポート定義ファイル用の1組の基準を強制することを特徴とする請求項23に記載のレポート生成システム。
  27. 前記レポート定義ファイルの作成を支援するための設計ツールを提供する手段をさらに備えることを特徴とする請求項26に記載のレポート生成システム。
  28. 第2の自動化された外部プロセスが、設計ツールを提供する前記手段によって表される関数にアクセスすることを可能にする第2のインターフェイスを提供する手段をさらに備えることを特徴とする請求項27に記載のレポート生成システム。
  29. 前記自動化された外部プロセスが利用可能でない場合、前記グラフィック表現を構築するための第2の自動化されたプロセスを確定する手段をさらに備えることを特徴とする請求項23に記載のレポート生成システム。
  30. 前記グラフィック表現用の1組の列グループを受け取る手段と、前記列グループにデータを配置する手段をさらに備えることを特徴とする請求項23に記載のレポート生成システム。
  31. 前記グラフィック表現中のセル用の1組のセル識別子を受け取る手段と、前記セルにデータを配置する手段をさらに備えることを特徴とする請求項23に記載のレポート生成システム。
  32. 前記レポート定義ファイルは、XML(拡張マークアップ言語)ファイルであることを特徴とする請求項23に記載のレポート生成システム。
  33. レポート用の複数の画像特徴を生成する前記手段は、索引中で参照されることを特徴とする請求項23に記載のレポート生成システム。
JP2005218915A 2004-08-30 2005-07-28 レポート作成ソフトウェアにおけるカスタムグラフィック表現をサポートするシステムおよび方法 Pending JP2006072980A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/929,197 US7634724B2 (en) 2004-08-30 2004-08-30 Systems and methods for supporting custom graphical representations in reporting software

Publications (1)

Publication Number Publication Date
JP2006072980A true JP2006072980A (ja) 2006-03-16

Family

ID=35079418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005218915A Pending JP2006072980A (ja) 2004-08-30 2005-07-28 レポート作成ソフトウェアにおけるカスタムグラフィック表現をサポートするシステムおよび方法

Country Status (5)

Country Link
US (1) US7634724B2 (ja)
EP (1) EP1630739A1 (ja)
JP (1) JP2006072980A (ja)
KR (1) KR20060050040A (ja)
CN (1) CN1744036A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017201547A (ja) * 2012-10-31 2017-11-09 リミテッド ライアビリティー カンパニー “1シー” 自動レポート生成方法

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680823B2 (en) * 2005-05-17 2010-03-16 International Business Machines Corporation Custom report generation
US7720789B2 (en) * 2006-06-23 2010-05-18 International Business Machines Corporation System and method of member unique names
US8090658B2 (en) * 2006-06-23 2012-01-03 International Business Machines Corporation System and method of member unique names
US7698629B2 (en) * 2006-06-23 2010-04-13 International Business Machines Corporation Report layout reference processing
CN101207633B (zh) * 2006-12-21 2012-01-04 英业达股份有限公司 网络存储系统的功能定制选择系统及方法
US7840600B1 (en) * 2006-12-29 2010-11-23 Izenda, LLC Systems and methods for interactively creating, customizing, and executing reports over the internet
US8745486B2 (en) * 2007-01-25 2014-06-03 Microsoft Corporation Streamable interactive rendering-independent page layout
US9558184B1 (en) * 2007-03-21 2017-01-31 Jean-Michel Vanhalle System and method for knowledge modeling
US7873902B2 (en) * 2007-04-19 2011-01-18 Microsoft Corporation Transformation of versions of reports
US20080313153A1 (en) * 2007-05-25 2008-12-18 Business Objects, S.A. Apparatus and method for abstracting data processing logic in a report
US7987188B2 (en) * 2007-08-23 2011-07-26 Google Inc. Domain-specific sentiment classification
US8417713B1 (en) 2007-12-05 2013-04-09 Google Inc. Sentiment detection as a ranking signal for reviewable entities
US8799773B2 (en) * 2008-01-25 2014-08-05 Google Inc. Aspect-based sentiment summarization
US8010539B2 (en) 2008-01-25 2011-08-30 Google Inc. Phrase based snippet generation
US9978186B2 (en) 2009-01-09 2018-05-22 The Raymond Corporation Information reporting system for managing a fleet of an industrial vehicles
US9141933B2 (en) * 2009-02-24 2015-09-22 Sap Se Method and system for generating a personalized report with reusable parameters
US8874576B2 (en) 2009-02-27 2014-10-28 Microsoft Corporation Reporting including filling data gaps and handling uncategorized data
US9015611B2 (en) 2009-03-23 2015-04-21 Adobe Systems Incorporated Transferring component hierarchies between applications
US8484560B2 (en) * 2009-04-24 2013-07-09 Apple Inc. Interactive sub-summaries in database applications
US8478786B2 (en) 2010-09-14 2013-07-02 Microsoft Corporation Automatic layout derivation and implementation
US9626719B2 (en) 2011-01-05 2017-04-18 Microsoft Technology Licensing, Llc Displaying a series of reports within a single user interface
CN102629262A (zh) * 2012-03-02 2012-08-08 浪潮集团山东通用软件有限公司 一种自定义bi展现模型的方法
CN113569543B (zh) * 2021-07-13 2023-07-25 上海核工程研究设计院股份有限公司 一种核电工程自动报告生成技术的实现方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044464A (ja) * 2001-07-31 2003-02-14 Seiko Epson Corp レイアウト装置及びレイアウトプログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493490A (en) * 1992-05-05 1996-02-20 Clear With Computers, Inc. Electronic proposal preparation system for selling vehicles
US5832504A (en) * 1994-05-03 1998-11-03 Xerox Corporation Automatic enhanced report generation system
US6160549A (en) 1994-07-29 2000-12-12 Oracle Corporation Method and apparatus for generating reports using declarative tools
US5706505A (en) 1994-08-19 1998-01-06 Microsoft Corporation Method and system for binding data in a computer system
US5911068A (en) 1995-03-30 1999-06-08 Microsoft Corporation Container independent control architecture
US6067525A (en) * 1995-10-30 2000-05-23 Clear With Computers Integrated computerized sales force automation system
US5761650A (en) * 1995-12-29 1998-06-02 Csg Systems, Inc. Billing system and method
EP1016047B1 (en) * 1996-10-09 2008-12-17 Visa International Service Association Electronic statement presentment system
US5948017A (en) * 1997-10-12 1999-09-07 Taheri; Syde A. Modular graft assembly
US6081263A (en) 1997-10-23 2000-06-27 Sony Corporation System and method of a user configurable display of information resources
US6065012A (en) 1998-02-27 2000-05-16 Microsoft Corporation System and method for displaying and manipulating user-relevant data
US6463442B1 (en) 1998-06-30 2002-10-08 Microsoft Corporation Container independent data binding system
US6714219B2 (en) 1998-12-31 2004-03-30 Microsoft Corporation Drag and drop creation and editing of a page incorporating scripts
US20020091681A1 (en) * 2000-04-03 2002-07-11 Jean-Yves Cras Report then query capability for a multidimensional database model
US7430535B2 (en) * 2001-01-27 2008-09-30 General Electric Capital Corporation Methods and systems for identifying prospective customers and managing deals
WO2002069116A2 (en) * 2001-02-28 2002-09-06 Jonathan Slone International trading of securities
AU2002252222A1 (en) * 2001-03-08 2002-09-24 Richard M. Adler System for analyzing strategic business decisions
US20020178172A1 (en) * 2001-05-24 2002-11-28 Moore Amy Elizabeth Methods and apparatuses for application analysis and report
CA2371724A1 (en) * 2002-01-12 2003-08-12 Cognos Incorporated System and method for defining prompts using declarative principles
EP1488329A4 (en) * 2002-03-25 2008-12-10 Data Quality Solutions Inc METHOD AND SYSTEM FOR MANAGING BUSINESS COMMERCIAL PROCESS
US9269067B2 (en) * 2002-04-04 2016-02-23 Altisource Solutions S.À.R.L. Method and apparatus for providing selective access to information
US6986123B2 (en) 2002-06-28 2006-01-10 Microsoft Corporation Extensible on-demand property system
EP2442566A3 (en) * 2002-10-15 2012-08-08 Verance Corporation Media Monitoring, Management and Information System
US20050004947A1 (en) * 2003-06-30 2005-01-06 Emlet James L. Integrated tool set for generating custom reports
US20050033764A1 (en) * 2003-08-05 2005-02-10 E.Piphany, Inc. Interactive editor for data driven systems
US7110918B2 (en) * 2003-11-05 2006-09-19 Shoplogix Inc. Self-contained system and method for remotely monitoring machines

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044464A (ja) * 2001-07-31 2003-02-14 Seiko Epson Corp レイアウト装置及びレイアウトプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CSND200401415008, 青柳 龍也, "理論で学ぶJavaプログラミング", Java WORLD, 20040101, 第8巻,第1号, P101−111, JP, (株)IDGジャパン *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017201547A (ja) * 2012-10-31 2017-11-09 リミテッド ライアビリティー カンパニー “1シー” 自動レポート生成方法

Also Published As

Publication number Publication date
KR20060050040A (ko) 2006-05-19
US20060048048A1 (en) 2006-03-02
EP1630739A1 (en) 2006-03-01
US7634724B2 (en) 2009-12-15
CN1744036A (zh) 2006-03-08

Similar Documents

Publication Publication Date Title
JP2006072980A (ja) レポート作成ソフトウェアにおけるカスタムグラフィック表現をサポートするシステムおよび方法
US9729394B2 (en) Methods and apparatus for allowing user configuration of dynamic endpoint generators and dynamic remote object discovery and brokerage
US10346184B2 (en) Open data protocol services in applications and interfaces across multiple platforms
JP4812337B2 (ja) フォームタイプを使用してフォームを生成する方法および装置
US8584082B2 (en) System for dynamic discovery, configuration, and development of process-bound widgets
AU2014202725B2 (en) Methods and apparatus for translating forms to native mobile applications
US8010940B2 (en) Methods and apparatus for designing a workflow process using inheritance
US9262850B2 (en) Descriptive framework for data visualization
JP2016224923A (ja) ユーザフォームインタフェースの自動生成の方法およびシステム
US20070130162A1 (en) Methods and apparatus for combining properties and methods from a plurality of different data sources
US8224853B2 (en) Methods and apparatus for updating a plurality of data fields in an electronic form
JP2006190261A (ja) トポロジメタデータおよびナビゲーションパスを用いる規定ナビゲーション
US10338894B2 (en) Generating applications based on data definition language (DDL) query view and application page template
US20210103862A1 (en) Methods and apparatus for exposing workflow process definitions as business objects
US20080288918A1 (en) Web service tool based on business object layer
US7996758B2 (en) Methods and apparatus for storing data associated with an electronic form
US20070208777A1 (en) Methods and apparatus for designing a workflow process using resource maps and process maps
US20070143305A1 (en) Methods and apparatus for storing functions associated with an electronic form
US8839189B2 (en) Service variants for enterprise services
US20070143711A1 (en) Methods and apparatus for displaying a setup sequence
US20070100848A1 (en) Node index
US20080071840A1 (en) Introducing Multi-Level Nested Kits Into Existing E-Commerce Systems
US20070130138A1 (en) Methods and apparatus for storing a collaboratively designed workflow process
US8910183B2 (en) Access to context information in a heterogeneous application environment
US11947563B1 (en) Systems and methods for collecting and distributing digital experience information

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110422