JP2015504213A - 報告書作成に適したスプレッドシートベースのプログラミング言語 - Google Patents

報告書作成に適したスプレッドシートベースのプログラミング言語 Download PDF

Info

Publication number
JP2015504213A
JP2015504213A JP2014550459A JP2014550459A JP2015504213A JP 2015504213 A JP2015504213 A JP 2015504213A JP 2014550459 A JP2014550459 A JP 2014550459A JP 2014550459 A JP2014550459 A JP 2014550459A JP 2015504213 A JP2015504213 A JP 2015504213A
Authority
JP
Japan
Prior art keywords
report
spreadsheet
query
computer
software
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
JP2014550459A
Other languages
English (en)
Other versions
JP6134737B2 (ja
JP2015504213A5 (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 JP2015504213A publication Critical patent/JP2015504213A/ja
Publication of JP2015504213A5 publication Critical patent/JP2015504213A5/ja
Application granted granted Critical
Publication of JP6134737B2 publication Critical patent/JP6134737B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • 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/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • 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
    • 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/117Tagging; Marking up; Designating a block; Setting of attributes
    • 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/174Form filling; Merging
    • 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/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • 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/183Tabulation, i.e. one-dimensional positioning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

報告書の作成に適したスプレッドシートベースのプログラミング言語を実行するためのコンピュータベースのシステム、ソフトウェア、および、方法であって、前記システムは、プロセッサー、実行可能な命令を行なうように構成されたオペレーティングシステム、およびメモリデバイスを含む随意にネットワーク化されたコンピュータと、報告書作成用のスプレッドシートベースのプログラミング言語を実行する環境を作るために、デジタル処理デバイスによって実行可能な命令を含むコンピュータプログラムとを備え、前記環境が、スプレッドシート内の1つ以上の指定された外部のデータセットの構造を保存するためのソフトウェアモジュールであって、各データセットへの参照は、セルベースの式によって作成される、ソフトウェアモジュール、手続き関数を解釈するソフトウェアモジュールであって、手続き関数が報告書設計テンプレート内のタグを介して指定される、ソフトウェアモジュール、および、報告書を作成するためのソフトウェアモジュールを含む。【選択図】図1

Description

(関連出願への相互参照)
本出願は、2011年1月29日に出願された米国仮特許出願第61/293,602号の利益を主張し、その全体は引用によって本明細書に組み込まれる。
既存の企業を報告書作成ツールは、第三者の用途および開発環境における設計プロセス全体にわたってユーザが関与することを必要とする。ユーザは、報告書を作成するために、ある程度のソフトウェア開発の当業者でなければならない。開発完了後、既存の流通手段は限られている。ある組織が任意の第三者の報告書作成ツール(例えば、Crystal Reports)を採用した場合、管理者は、報告書へのアクセスとデータベースへのオープンダイレクトアクセスを有する各々の個々のコンピュータにソフトウェアをインストールしなければならない。これは、潜在的にはアプリケーションの地理的な位置を制限し、潜在的にはセキュリティの違反のチャンスを作り出す。
報告書のデザインと報告書自体へのアクセシビリティを向上させる、簡単な企業用の報告書開発プラットフォーム、環境、およびツールに対する長い間感じられ満たされていないニースがある。効果的な企業用の報告書作成ツールは、設計の容易さと簡単で安全な分布を促進する。本明細書で開示される発明は、スプレッドシートの既存の知識を利用し、かつ、その知識ベースを最大限にして、マークアップタグ言語でそれを拡張することによって、ユーザが報告書を設計することを可能にする。システムは、店舗の報告書の階層を表わすために簡単なファイルシステム構造を利用し、ウェブベースのユーザインターフェースによってこれらのオブジェクトを表示する。ユニフォーム・リソース・ロケーター(URL)の配信後、データセットにしっかりとフィルターをかけ、ソートし、フォーマットすることができる。
1つの態様において、報告書の作成に適したスプレッドシートベースのプログラミング言語を実行するためのコンピュータベースのシステムが本明細書で開示され、前記システムは、プロセッサー、実行可能な命令を行なうように構成されたオペレーティングシステム、およびメモリデバイスを含む随意にネットワーク化されたコンピュータと、報告書作成用のスプレッドシートベースのプログラミング言語を実行する環境を作るために、デジタル処理デバイスによって実行可能な命令を含むコンピュータプログラムとを備え、前記環境は、スプレッドシート内の1つ以上の指定された外部のデータセットの構造を保存するためのソフトウェアモジュールであって、各データセットへの参照は、セルベースの式によって作成される、ソフトウェアモジュール、手続き関数(procedural functions)を解釈するソフトウェアモジュール(例えば、インタープリター)であって、手続き関数が報告書設計用テンプレート内のタグを介して指定される、ソフトウェアモジュール、および、報告書を作成するためのソフトウェアモジュールを含む。いくつかの実施形態において、1以上の外部のデータセットはデー夕ベースである。様々な実施形態において、1以上のデータベースは、リレーショナルデータベース、非リレーショナルデータベース、オブジェクト指向型データベース、オブジェクトデータベース、エンティティ関係モデルデータベース、連想データベース(associative database)、および、XMLデータベースを含む。いくつかの実施形態において、1以上の外部のデータセットはテーブル形式のデータセットである。さらなる実施形態では、1以上のテーブル形式のデータセットは、テーブル形式構造のデータセットを埋め込まれた本来のデータセットを備えた、コンマ区切りのテキストファイル、タブ区切りのテキストファイル、またはバイナリーファイルである。幾つかの実施形態では、1以上の指定された外部のデータセットの構造を保存するためのソフトウェアモジュールは、記号参照として構造を保存する。幾つかの実施形態では、ソフトウェアインタープリターは、クエリを実行する前記手続き関数を解釈する。さらなる実施形態では、クエリは、検索およびソートのパラメータの1つまたは両方を随意に含んでいる。幾つかの実施形態では、環境は、後で実行するためのクエリを保存するソフトウェアモジュールをさらに含む。さらなる実施形態では、それぞれの保存されたクエリは、起動した際にクエリを実行するURLによって表される。幾つかの実施形態において、報告書設計用テンプレートはスプレッドシートである。さらなる実施形態では、スプレッドシートはマイクロソフトエクセルの任意のバージョンである。他の実施形態では、スプレッドシートは、OpenOffice Calcの任意のバージョンおよび派生物である。他の実施形態では、スプレッドシートは、Lotus1−2−3の任意のバージョンおよび派生物である。幾つかの実施形態では、報告書を作成するためのソフトウェアモジュールは、報告書に報告書設計用テンプレートのプロパティを適用する。幾つかの実施形態では、報告書を作成するためのソフトウェアモジュールは、1以上のスプレッドシート、XML文書、HTML文書、報告書作成ソフトウェア文書、ワードプロセッサー文書、またはプレゼンテーションソフトウェア文書の形態をしたバイナリーデータとして報告書を作成する。
別の態様では、報告書作成環境を作るためにコンピュータによって実行可能な命令を含むコンピュータプログラムで符号化されたコンピュータで読み取り可能な媒体が本明細書で開示され、該媒体は、スプレッドシート内に1以上の指定された外部のデータセットの構造を保存するためのソフトウェアモジュールであって、各データセットへの参照がセルベースの式によって作成される、ソフトウェアモジュール、手続き関数を解釈するソフトウェアインタープリターであって、手続き関数が報告書設計用テンプレート内のタグによって指定される、ソフトウェアインタープリター、および、報告書を作成するためのソフトウェアモジュールを含む。幾つかの実施形態では、報告書を作成するためのソフトウェアモジュールは、報告書に報告書設計用テンプレートのプロパティを適用する。幾つかの実施形態では、符号化は永久的なものであるか、実質的に永久的なものであるか、半永久的なものであるか、あるいは、非一時的なものである。幾つかの実施形態では、ソフトウェアインタープリターは、クエリを実行するために、前記手続き関数を解釈する。さらなる実施形態では、クエリは、検索とソートのパラメータの1つまたは両方を随意に含んでいる。幾つかの実施形態では、報告書作成環境はさらに、後で実行するためのクエリを保存するソフトウェアモジュールを含む。さらなる実施形態では、各々の保存されたクエリは、起動した際にクエリを実行するURLによって表される。
別の態様では、コンピュータにより実行される報告書を作成する方法が本明細書で開示され、該方法は、コンピュータ・メモリに保持されたスプレッドシート内の1以上の指定された外部のデータセットの構造を保存する工程、コンピュータ・メモリに保持された前記スプレッドシート内のセルベースの式によって各データセットを参照する工程、および、出力をフォーマットするために、ソフトウェアモジュールによって、1つ以上の報告書設計用テンプレートを解釈する工程を含む。幾つかの実施形態では、出力をフォーマットするために1つ以上の報告書設計用テンプレートを解釈する工程は、以下の工程を含む:メモリに1つ以上のテンプレートを読み込む工程、プログラミング命令を定義する1つ以上のタグをメモリに読み込む工程、メモリに1以上のデータセットを読み込む工程、新しいスプレッドシートを作成する工程、新しいスプレッドシートにテンプレートのプロパティを適用する工程、各データセットに基づいて新しいスプレッドシートに行と列を挿入する工程、定義されたプログラミング命令を実行する工程、および、バイナリーデータ形式で新しいスプレッドシートを出力する工程。幾つかの実施形態では、出力は報告書である。さらなる実施形態では、報告書は1以上のスプレッドシート、XML文書、HTML文書、報告書作成ソフトウェア文書、ワードプロセッサー文書、または、プレゼンテーションソフトウェア文書の形をしたバイナリーデータである。
別の態様では、報告書作成環境を作るために、コンピュータによって実行可能な命令を含むコンピュータプログラムで符号化されたコンピュータで読み取り可能な媒体が本明細書に開示され、該媒体は、スプレッドシート内のセルベースの式によって1以上のデータセットを参照するためのソフトウェアモジュールと、出力をフォーマットするために1以上の報告書設計用テンプレートを解釈するためのソフトウェアモジュールを含み、手続き関数はタグによって報告書設計用テンプレート中で指定される。幾つかの実施形態では、セルベースの式は、ユーザによってある程度は入力される。幾つかの実施形態では、セルベースの式は、自動生成ウィザードを介してコンピューターシステムによって、ある程度は入力される。幾つかの実施形態では、手続き関数はユーザによってある程度まで入力される。幾つかの実施形態では、手続き関数は、自動生成ウィザードを介してコンピュータによってある程度まで入力される。幾つかの実施形態では、出力は報告書である。幾つかの実施形態では、符号化は、永久的なものであるか、実質的に永久的なものであるか、半永久的なものであるか、あるいは、非一時的なものである。
別の態様では、報告書作成のためのプログラミング命令を特定するためのコンピュータにより実行される方法が本明細書で開示され、該方法は、以下からなる群:入力を指定する、出力を指定する、数学的な計算を指定する、命令の条件付きの実施を指定する、および、命令の反復を指定する;から選択されたプログラミング命令を特定するために、コンピュータ・メモリ、例えば、不揮発性の非一時的なメモリ内のスプレッドシートに特定のタグを保存する工程を含む。幾つかの実施形態では、1以上のタグは、オープンタグとクローズタグからなる1対のタグで利用される。幾つかの実施形態では、1以上のタグは単一タグとして利用される。
報告書作成に適したスプレッドシートベースのプログラミング言語を実行するための非限定的なプロセスを示しており、この場合、メタデータ・ワークシートおよび設計用テンプレート・ワークシートがスプレッドシートに保存され、出力がスプレッドシート形態の報告書である、プロセスを示す。 スプレッドシート式の非限定的な例を示す。 単純なテンプレートの非限定的な例を示しており、この場合、基本的な顧客データ用のテンプレートを示す。 インタープリターに外部のデータセットをかけ、タグに従ってプロプライエタリな手続型言語をレンダリングした後の図3のテンプレートの出力の非限定的な例を示す。 複雑な報告書テンプレートの非限定的な例を示しており、この場合、追加の<detail></detail>タグで表されたネスト化ループを備えた報告書テンプレートを示す。 強調された外部のデータセットに対する参照を含む図5のテンプレートの非限定的な例を示す。 外部のデータセットがインタープリターにポーリングされた後の、図5および6のテンプレートから結果として生まれる報告書の非限定的な例を示す。 結果として生じる外部のデータセットと繰り返しのためにそれぞれの行挿入に基づいてセルの値を内省および再調整するインタープリターを実証するために、図7から新しく作られた式の非限定的な例を示す。 メタシートの非限定的な例と、スプレッドシート内の検索とソートのパラメータの定義を示す。 外部のデータセットをフィルターにかけてソートするためにHTML形式にレンダリングされた検索とソートのパラメータの非限定的な例を示す。この実施例において、パラメータもクエリマーク(query marks)として保存され、URLによって参照可能である。 テンプレートの非限定的な例を示しており、この場合、実施例1で示されたスプレッドシート・マークアップ言語を含むテンプレートを示している。 実施例1で示された報告書の非限定的な例を示しており、この場合、それぞれのセルに埋め込まれた画像とバーコードを備えた報告書を示す。 メタデータシートの非限定的な例を示しており、この場合、実施例5で記載されるようなクロス・データベースクエリを行うために、クロス・データベースクエリエンジンによって出されるまったく異なるクエリのリストを保存するメタデータシートを示す。 実施例5に記載されるようなクロス・データベースクエリの構成要素のサブクエリの非限定的な例を示しており、この場合、Oracleを含む多くのまったく異なるデータソースからくるメタデータシートを示す。 実施例5に記載されるようなクロス・データベースクエリの構成要素のサブクエリの非限定的な例を示しており、この場合、Salesforceを含む多くのまったく異なるデータソースからくるメタデータシートを示す。 実施例5に記載されるようなクロス・データベースクエリの構成要素のサブクエリの非限定的な例を示しており、この場合、Mongoを含む多くのまったく異なるデータソースからくるメタデータシートを示す。 実施例5に記載されるようなクロス・データベーステーブルのメタデータシートの非限定的な例を示す。 実施例5に記載されるようなクロス・データベースのフィールド選択の非限定的な例を示す。
(様々な定義)
別段指定されない限り、本明細書で用いられる全ての技術的な用語は、本発明が属する技術分野の当業者によって一般に理解されるものと同じ意味を有する。本明細書と添付の請求項で用いられるように、単数形「a」、「an」および「the」は、文脈が他に明確に指定していない限り、複数の言及を含む。本明細書の「または(or)」の任意の参照は、別段指定されない限り、「および/または(and/or)」を包含するように意図されている。
本明細書で使用されているように、「データセット」は1セットの行またはレコードを意味する。
本明細書で使用されているように、「ワークシート」は、スプレッドシートプログラムの1枚のページまたはシートを意味する。
本明細書で使用されているように、「行」は、テーブル、ワークシート、スプレッドシート、またはデータベース中の1つの暗黙に構造化されたデータ・レコードを意味する。幾つかの実施形態では、データの行はワークシート中を水平に走る1セットのセルである。
本明細書で使用されているように、「列」は、ワークシート中を垂直に走る1セットのセルを意味する。
本明細書で使用されているように「セル」は、データがテーブル、ワークシート、スプレッドシート、またはデータベースに入力される場所を示す。幾つかの実施形態では、セルは行と列が交差する場所にある。
本明細書で使用されているように、「式」は、値を計算するために使用された数学的な方程式を意味する。
(スプレッドシートベースのプログラミング言語)
幾つかの実施形態では、本明細書に開示されたシステム、プラットフォーム、環境、アプリケーション、および方法は、スプレッドシートベースのプログラミング言語を作成または利用する。幾つかの実施形態では、スプレッドシートプログラミング言語は、外部のインタープリターがタグと機能を異なるタイプのプログラム機能またはエンティティに抽象化することを可能にする、スプレッドシート内のタグ付けの特定の方法に従う言語である。
幾つかの実施形態では、適切なスプレッドシートは、スプレッドシート内の多くのワークシートからなる。さらなる実施形態では、1つの指定されたワークシートは外部のデータセットと、データセットから検索する手段を表す。別のさらなる実施形態では、必要に応じてメタデータ・ワークシートを参照するテンプレート設計に使用されるスプレッドシート内の追加のワークシートがある。
図1は、スプレッドシートベースのプログラミング言語を実行することにより報告書を作成するための非限定的な典型的なプロセスを描く。図1の典型的なプロセスは、ユーザ入力を収容するためにパラメーターベースのウェブ形式をレンダリングする第1段階を含んでいる。幾つかの実施形態では、システムはスプレッドシート(105)をメモリにロードし、内部に包含されていたメタデータ・シート(100)を内省する。メタデータシートから、システムは、フィルタリングとソートに使用されるそれぞれのフィールドを見つける。さらなる実施形態では、その後、システムは、ソートされる利用可能なフィールドを表示するウェブページ(110)をレンダリングする。これらのパラメータは、いったんユーザが報告書作成(120)を実行すると、インタープリターにかけられる準備が整う。
図1の典型的なプロセスは、報告書作成の第2段階を含んでおり、これは、段階(A)−(G)の複数段階式である。
(A)システムは、ユーザの定義したパラメータに基づいて外部のデータセットを取得する。幾つかの実施形態では、システムは、報告書で利用可能なすべてのパラメータを引き込み、クエリー(130)の手段を介して外部データソースからデータを抽出する。さらなる実施形態では、クエリは、限定されないが、リレーショナルデータベース、オンラインウェブサービス、LDAPデータベース、および、フラットファイルを含む様々な異なるデータソースで実行される。特定の実施形態は、リレーショナル・データベース(例えば、Oracle)に対するSQLステートメントの実行である。この実施形態では、SQLステートメントは、インタープリターによってOracle RDBMSに提出され、RDBMSは、フィルターをかけた結果のセットを返す。これは、ユーザがパラメータページで定義したパラメータ(例えばHTML形式)にソートされる。
(B)インタープリターがテンプレート・ワークシートをメモリに読み込む。幾つかの実施形態では、システムは、それぞれ利用可能なテンプレート・ワークシートをメモリに読み込む(140)。幾つかの実施形態では、1以上のテンプレート・ワークシートは、例えば、メタデータ・ワークシートと同じスプレッドシートの中にある(105)。他の実施形態では、1以上のテンプレート・ワークシートは、例えば、別のスプレッドシートにある(145)。さらなる実施形態では、それぞれのテンプレート・ワークシートは、限定されないが、ページの方向、印刷様式、ページサイズ、ワークシート名、デフォルトのフォント、背景色、および他の機能を含む多くのプロパティを有している。これらのプロパティは、幾つかの実施形態では、標的の結果として生じたバイナリー出力に適用されるメモリに保存される。
(C)インタープリターはそれぞれのワークシートを介してすべてのタグを構文解析し、メモリに読み込む。幾つかの実施形態では、インタープリターが各ワークシートを横断するため、インタープリターはスプレッドシート内のすべてのテンプレート・ワークシートのそれぞれのタグを読む(160)。さらなる実施形態では、インタープリターはその後、行と列を特定およびマークし、手続き関数が実行されることになる。
(D)インタープリターは新しい報告書を作成し、テンプレートからの各ワークシートをコピーしてメタデータシートを除く指定された新しい報告書にする。幾つかの実施形態では、インタープリターは、ユーザに送られる結果として作られた報告書の基礎として役立つ新しいスプレッドシートを作成する(170)。さらなる実施形態では、システムは、メタデータ・ワークシートを除いて、標的とした報告書の中に1枚の新しいワークシートを作成する。別のさらなる実施形態では、インタープリターは、ソースシートのそれぞれ1つからテンプレートからのすべてのシステムプロパティをコピーし、標的とされた報告書中で新しく作られたワークシートにする。
(E)インタープリターは、指定されたタグと外部のデータセットの大きさに対して、行および列を挿入する。幾つかの実施形態では、インタープリターは、1枚のワークシート当たりの外部のデータセットの大きさに基づいて、必要とされる行の数を再計算する。例えば、テンプレートは、ループされる行の定義された数が3であり、結果のセットが10の結果を含んでいる場合、インタープリターは標的されたワークシートに30行を挿入するだろう。さらなる実施形態では、システムは、標的とされたワークシートに、決められた数の行と列を挿入する。システムが行と列を挿入するため、システムは、オリジナルに対して行番号と列番号を特定するために、メモリへパラメータを作成する。
(F)インタープリターは、データの行と列が挿入された後に、それぞれのセルを内省する。幾つかの実施形態では、システムはその後、セルが式を有するかどうかを決定するために、セル構文解析プログラムによってそれぞれのセルをスキャンする(180)。さらなる実施形態では、セルが式を有している場合、本発明は、1以上の外部のデータセットが参照されたかどうかを確かめるために、セル参照を分解する。別のさらなる実施形態では、1以上の外部のデータセットが参照された場合、データは外部のデータセットからコピーされ、式中のセル値を置換する。他の実施形態では、セル参照が外部のデータセットを参照していなかった場合、セルの行と列は現在の位置に対して再計算される。例えば、参照テンプレートでは、セルC5内のもともとの式は潜在的には「=A5+B2」と表わすことができるが、挿入された行の数により、セルC105内の式は、「=B105+B102」の新しい式を必要とする。
(G)クリーンアップ。幾つかの実施形態では、最後の工程は指定された報告書をクリーンアップすることである。さらなる実施形態では、手続き関数のために参照に使用された、あるいは、外部のデータセットの参照として使用されたマークアップタグが取り除かれる。これにより空のスプレッドシートが残され、外部のデータセットをそれぞれのセルに組み込ませて、指定された反復を行いつつ、それぞれの行セットの位置をマークして指定するために必要なインデックスを構築する。
(外部のデータセット)
幾つかの実施形態では、本明細書に開示されたシステム、プラットフォーム、環境、アプリケーション、および方法は、1つ以上の指定された外部のデータセットの構造にアクセスし、これを読みこみ、保存する。幾つかの実施形態では、1つのデータセットの構造はアクセスされ、読み込まれ、保存される。他の実施形態では、複数のデータセットの構造が、同時に、ほぼ同時に、または連続して、アクセスされ、読み込まれ、保存される。様々な実施形態では、そのインクリメントを含む、2、3、4、5、6、7、8、9、10、20、30、40、50、60、70、80、90、100、200、300、400、500、600、700、800、900、1000、2000の、3000、4000または5000以上データセットの構造がアクセスされ、読み込まれ、保存される。
幾つかの実施形態では、各データセットの構造はスプレッドシート内に保存される。またさらなる実施形態では、各データセットの参照は、スプレッドシートのセルベースの式によって作成される。多くのデータセットが、本明細書に開示されたシステム、プラットフォーム、環境、アプリケーション、および方法とともに使用するのに適している。非限定的な例として、適切なデータセットはテーブルのデータセットとオブジェクト指向のデータセットを含む。
幾つかの実施形態では、適切なテーブルのデータセットは、Oracle、マイクロソフトSQL Server、Informix、Sybase、および、MySQLなどのデータベースを含んでいる。他の適切なデータベースは、例えば、IBM DB2、Postgres、および、dBASEを含んでいる。幾つかの実施形態では、適切なテーブルのデータセットは、文字で区切ったフラットファイル(例えば、CSV、タブ区切りなど)、固定長フラットファイル(例えば、COBOL)、バイナリーフラットファイル、およびプロプライエタリなASCIIフラットファイル(例えばDBF)のなどのフラットファイルを含んでいる。
幾つかの実施形態では、適切なオブジェクト指向データセットは、非限定的な例として、XMLおよびJSONを含む。
適切なデータセットは任意の大きさである。例えば、データセットの大きさは、システムがデータセットをフィルターにかけソートする前の潜在的に何億もの行である。様々な実施形態では、データセットは、非限定的な例として、そのインクリメントを含む、1、10、1x10、1x10、1x10、1x10、1x10、1x10、1x10、1x10、1x1010、1x1011、1x1012、1x1013、1x1014、1x1015、1x1016、1x1017、1x1018、1x1019、1x1020またはそれ以上の行である。
適切なデータセットは様々な位置に存在する。幾つかの実施形態では、データセットは、ローカルデータベースまたはフラットファイルである。さらなる実施形態では、データセットは、本明細書に開示されるソフトウェアと同じメモリまたは記憶装置に存在する。さらなる実施形態では、データセットは、本明細書に開示されるソフトウェアと同じネットワーク(例えば、LANまたはWAN)に存在する。幾つかの実施形態では、データセットはインターネットを通じてアクセス可能である。さらなる実施形態では、データセットは第三者のデータソース(例えば、クラウドプロバイダー)とともに存在する。
(クロス・データベースクエリ機能性)
幾つかの実施形態では、本明細書に開示されるシステム、プラットフォーム、環境、アプリケーション、および方法は、1以上の指定された外部のデータセットの構造にアクセスし、これを読みこみ、保存する。特定のさらなる実施形態では、1つ以上の外部のデータセットは、任意のデータベース保存機構を維持しない「メモリ内」データベース中で保持される。幾つかの実施形態では、システムは、メタデータオブジェクト内にクエリの完全なリストを保存し、それぞれのクエリは1つのテーブルとして象徴的に表される。さらなる実施形態では、クエリが実行されるとき、すべての独立した結果セットがテーブルに変換された後、システムは、クエリの最終的な結果セットを返すべく、追加プロセスでテーブルとレイヤーを結合する。またさらなる実施形態では、最終的な結果セットは報告書を作成するために使用される。
非限定的な例としては、そのようなクロス・データベース参照は、複数の同時クエリを開始し、各々は1つのテーブルとして象徴的に表される。様々な実施形態では、クロス・データベース参照は、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、またはそれ以上の同時クエリを開始する。様々な実施形態では、クロス・データベースクエリは、そのインクリメントを含む、10、20、30、40、50、60、70、80、90、100またはそれ以上の同時クエリを開始する。様々なさらなる実施形態では、クロス・データベース参照は、そのインクリメントを含む、100、200、300、400、500、600、700、800、900、1000、またはそれ以上の同時クエリを開始する。さらに様々な実施形態では、クロス・データベース参照は、そのインクリメントを含む、1000、2000、3000、4000、5000、6000、7000、8000、9000、10000またはそれ以上の同時クエリを開始する。本明細書で提供される開示物を考慮すると、当業者は、本明細書に開示されたクロス・データベース参照が、メタデータオブジェクト内の任意の適切な数のクエリを保存し、適切な数の同時クエリを開始することを認識するだろう。またさらなる例として、結果セットの各々はテーブルオブジェクトとしてメモリ・データベース内にあり、テーブルオブジェクトは、最終的な結果セットを組み立てるために、クロス・データベース・エンジンを介して処理および実行される。
幾つかの実施形態では、クロス・データベースクエリは、クロス・データベースクエリエンジンによって出されるまったく異なるクエリのリストまたは組み合わせに基づく。さらなる実施形態では、これらのクエリはメタデータシート内に保存される。まださらなる実施形態では、各々のサブクエリのクエリアセンブリは、メタデータシートのフィールドラベルに基づき、各々のサブクエリまたは子クエリは、データベースに対する直接クエリである。
幾つかの実施形態では、クロス・データベースクエリは、エイリアステーブルとして参照クエリを保存する。さらなる実施形態において、結合点は、対応するフィールドを参照するために等号を用いたスプレッドシート参照式を使用して定義され、それからそのフィールドを潜在的に引くことができる。またさらなる実施形態では、クロス・データベースクエリエンジンがそれぞれのデータスースをすべて検索してクエリを行い、エンジンは新しい結果セットを構築する。幾つかの実施形態では、新しい結果セットはメタデータシートで定義されたフィールドマッピングに基づき、フィールドは本明細書で開示された参照式方法論によってメタデータシートを参照する。
(セルベースの式)
幾つかの実施形態では、本明細書に開示されたシステム、プラットフォーム、環境、アプリケーション、および方法は、個々の外部のデータセットを参照するためにセルベースの式を利用する。マイクロソフトエクセル、Open Office Calc、およびグーグルのスプレッドシートのようなスプレッドシートでのセルベースの式は、値を計算するために数学的な方程式を利用する。本明細書で提供される開示物を考慮すると、当業者は、これらのプログラムが一般に等号(=)を含む式を指定することを認識するだろう。セルベースの式は、例えば、ストリングであり、これは、ある種の計算、または、別のセルへの参照を表す。例えば、図2を参照する。例えば、セル参照式は、セル「A1」内で「=B2」を構成することができる。これは単に参照式である。さらなる例として、式は数学関数「=1+2」を構成することができる。数学関数:「=C12*13*C83」に対処するために利用されるセルのミックスアンドマッチ(mix and match)を構成することもできる。あらゆるスプレッドシートは、これらの式の結果として生じるコンパイルを表示するためにセルベースのインタープリターを組み込む。
例えば、図3を見ると、A3内の強調されたセルは、以下の「=H2」を含む式を有している。この非限定的な実施形態において、セルH2は、外部のデータセットを参照するために、代表的なサンプルデータとして指定される。さらなる例として、この参照されたセルは、標的とされた報告書に挿入される際に、外部のデータセットからデータマッピング位置を記号化する。
(手続き関数)
幾つかの実施形態では、本明細書に開示されるシステム、プラットフォーム、環境、アプリケーション、および方法は、報告書の内容と形式を指定する手続き関数を含んでいる。
幾つかの実施形態では、手続き関数は一度実行される。他の実施形態では、手続き関数はループされる。ループはプロセスまたはステートメントを何度も、または、特定の事象が起こるまで、繰り返す方法である。さらなる実施形態では、ループは、列が始まり終わる場所を記す識別子を有する。またさらなる実施形態では、ループは、1以上のループが他のループ内に埋め込まれるように入れ子になっている。
さらなる実施形態では、手続き関数は報告書設計用テンプレート内のタグによって指定される。様々な実施形態では、タグは、文字、数、符号、単語、句、または記号である。さらに様々な実施形態では、タグは、丸括弧(例えば、<、>、[、]、{、}、(、)、など)のような文字、または、一連の文字を識別することによって囲まれる、または、一括りにされる。いくつかの実施形態では、タグが対で用いられる。さらなる実施形態では、1対のタグはオープンタグおよびクローズタグを含んでいる。他の実施形態では、タグは1つずつ使用される。幾つかの実施形態において、手続き関数は一つのタグによって指定される。他の実施形態では、手続き関数は2以上のタグによって指定される。
以下は適切なタグおよび関連する手続き関数の非限定的な例である。
<i> または<item>いずれかのタグはループの始まりを表わす。
</i>または</item>いずれかのタグはループのクロージングを表わす。
<d> または<detail>いずれかのタグは、ネスト化ループの始まりを表わす。
</d>または</detail>いずれかのタグは、ネスト化ループの終わりを表わす。
</p>または</pagebreak>いずれかのタグは改ページを表わす。
幾つかの実施形態では、本明細書に開示されたシステム、プラットフォーム、環境、アプリケーション、および方法は、手続き関数を解釈するためにソフトウェアインタープリターを含んでいる。さらなる実施形態では、ソフトウェアインタープリターは、報告書設計用テンプレート内のタグを読むことにより手続き関数を解釈する。
幾つかの実施形態では、インタープリターは、システムにタグを読み込み、例えば、以下の機能ができる:
1.データセットをフィルにかけて狭め、および/または、結果として生じるデータセットをソートする、いずれかの能力をユーザに与えるパラメーターベースの形式をレンダリングする
2.テンプレートをインポートし、それを外部のデータセットとマージする。さらなる実施形態では、インタープリターは、新しく指定されたスプレッドシートで実行するための手続き関数を理解するために、すべてのタグをすべて読み込む。またさらなる実施形態では、手続き関数が適用され、新しく指定されたスプレッドシートは、セル、行、列、ワークシート、およびスプレッドシートを含むそれぞれのテンプレートからのプロパティを継承する。
(報告書デザインテンプレート)
本明細書に開示されるシステム、プラットフォーム、環境、アプリケーション、および方法は、任意の適切な報告書設計用テンプレートを利用する。幾つかの実施形態では、適切なテンプレートは、外部のデータセットのプロパティを包含するメタデータシートとして単一のワークシートを保存する明示的な構造に従う。さらなる実施形態では、ループの始まりおよび終わりを定義するために、タグと連動して定義された外部のデータセットに式を介して参照する他のテンプレート・ワークシートがある。
幾つかの実施形態では、報告書設計用テンプレートは、ユーザまたは開発者が報告書を設計するために作成する最初のキャンバスである。さらなる実施形態において、テンプレートは以下を構成する:
1.メタデータシート、および
2.テンプレート・ワークシート。
幾つかの実施形態では、それぞれのテンプレート・ワークシートは、外部のデータセットにタグと記号参照を運ぶ。例えば、それらは、和、平均、比率、またはスプレッドシートに支持された他の複雑な計算に対して、報告書を作成するためにユーザが利用するロジックを包含している。
幾つかの実施形態では、それぞれのテンプレートは、結果として生じる出力された報告書がサンプルデータを伴って見える可能性のある形式を表している。図3は、行2と4、および、列GとHで強調されているシステムによって保存されたタグ列を含む、典型的な顧客報告書のテンプレートを描いている。この実施形態では、システムにより保存された行は、手続き関数(<item> </item>タグを含む行2と4)、または、外部のデータセット(列GおよびH)を表す。幾つかの実施形態では、テンプレートは4つの主な機能を表わす:
1.報告書の審美的な描写
2.ループした行セット範囲
3.外部のデータセット、および、
4.式の形をしたセル内に埋め込まれたロジック
幾つかの実施形態では、インタープリターがロードされ実行されると、それぞれのテンプレートはコピーされ、指定された出力スプレッドシートになり、その間、それぞれのページ、行、列、およびセルのプロパティを維持する。さらなる実施形態では、インタープリターは1つ以上の外部のデータセットを読み込み、それをマッピングして、指定された出力スプレッドシート内のそれぞれの標的テンプレート・ワークシートにし、その間、もともとのテンプレート・ワークシートから設計された審美的機能と論理機能を維持する。
図4は、典型的な報告書のテンプレートに基づいて作られた典型的な顧客の報告書を示している。この実施例において、外部のデータセットはインタープリターにかけられ、手続型言語はテンプレートのタグに従ってレンダリングされた。
図5は、本質的にもっと複雑な典型的な報告書のテンプレートを描いている。この実施例において、報告書のテンプレートは、追加の<detail> </detail>タグで表わされたネスト化ループを含んでいる。
図6は、強調された外部のデータセットを参照した、図5のテンプレートの非限定的な例を示す。
図7は、外部のデータセットがインタープリターにポーリングされた後に、図5と6のテンプレートから生じた報告書の非限定的な例を示す。
図8は、結果として生じる外部のデータセットと反復用のそれぞれの行の挿入に基づいてセルの値を内省し再調整するインタープリターを実証するために、図7から新しく決められた式の非限定的な例を示す。
(メタデータシート)
幾つかの実施形態では、テンプレート・スプレッドシートは、1枚以上のメタデータ・ワークシートを包含している。さらなる実施形態では、それぞれのメタデータ・ワークシートは以下を含む。
1.1つ以上の外部のデータセットの定義:外部のデータセットの定義は、外部のリレーショナルDBMSからのテーブルおよびフィールドを含んでいる。
2.検索フィルター:検索フィルターは、外部データソースから少しでも多い値でユーザに戻される結果セットを減らす消減するおよび制限するのに役立つ。
3.ソートフィルタ:ソートフィルタは、データセットを配置し、直線データから、ソートされたアレイセットに再編成する。
図9は、2つの部分を包含している典型的なメタデータシートを描いている。この非限定的な実施形態では、1つの部分はソートオプションとしてマークされる。ソート部分は行27と29の間にある。行29は可能なソート選択肢を表し、これはユーザに利用可能になった報告書の形式によってロードされることになる。検索部分は行31−33によってユーザに利用可能である。さらに、この実施形態では、これらの部分の各々はシステムに読み込まれ、ユーザが入力パラメータを定義するためにHTMLの形式でユーザ向けのアプリケーションを作成する。
図10は、特にこの実施形態で結果として生じた形式を描いている。
(報告書の作成)
本明細書で開示されるシステム、プラットフォーム、環境、アプリケーション、および方法は、任意の適切な報告書を作成する。幾つかの実施形態では、報告書はバイナリー形式でインタープリターから作成された出力である。様々なさらなる実施形態では、バイナリー形式は、限定されないが、エクセル95、エクセル97、エクセル2000、エクセルXP、エクセル2003、エクセル2007、エクセル2010、Open Office Calc 1.0、Open Office Calc 2.0、および、Open Office Calc 3.0を含む、スプレッドシートアプリケーションのバイナリフォーマットである。他の実施形態では、報告書のバイナリー形式は、ワードプロセッシングアプリケーションのバイナリフォーマットである。幾つかの実施形態において、報告書はプレーンテキストファイルである。幾つかの実施形態において、報告書はPDFファイルである。
(用途および応用)
本明細書で開示されるシステム、プラットフォーム、環境、アプリケーション、および方法は、報告書を作成するために、様々なデータソースに対して、任意の型のアドホッククエリーに適している。幾つかの実施形態では、適切なクエリは、報告書を作成するために、広範囲の全く異なる外部のデータセットに対するものである。さらなる実施形態では、適切なクエリは、クロス・データベースクエリであり、本明細書に開示されたシステム、プラットフォーム、環境、アプリケーション、および方法は、複数の同時クエリを開始し、それぞれのクエリは1つのテーブルとして象徴的に表わされる。
(コンピュータ)
いくつかの実施形態において、本明細書に記載されるシステム、プラットフォーム、および、方法は、コンピュータ(例えば、デジタル処理デバイス)またはその使用を含む。さらなる実施形態において、コンピュータは、デバイスの機能を実行する1つ以上のハードウェア中央処理装置(CPU)を含む。またさらなる実施形態において、コンピュータは、実行可能な命令を行うように構成されたオペレーティングシステムをさらに含む。幾つかの実施形態において、コンピュータはコンピュータネットワークに随意に接続される。さらなる実施形態において、コンピュータは、ワールドワイドウェブにアクセスするようにインターネットに随意に接続される。またさらなる実施形態において、コンピュータは、クラウドコンピューティングインフラストラクチャーに随意に接続される。他の実施形態において、コンピュータはイントラネットに随意に接続される。他の実施形態において、コンピュータはデータ記憶デバイスに随意に接続される。
本明細書における記載に従って、適切なコンピュータは、非限定的な例として、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、サブノートブックコンピュータ、ネットブックコンピュータ、ネットパッドコンピュータ、セットトップコンピュータ、ハンドヘルドコンピュータ、インターネット家電、モバイルスマートホン、タブレットコンピュータ、および、携帯情報端末を含む。当業者は、多くのスマートホンが、本明細書に記載されるシステムでる使用するのに適していることを認識するであろう。当業者はさらに、随意のコンピュータネットワーク接続を有するテレビ、ビデオプレーヤー、および、デジタル音楽プレーヤーの選択は、本明細書に記載されるシステムで使用するのに適していることを認識するであろう。適切なタブレットコンピュータは、当業者に既知のブックレット、スレート、および、変換可能な構成を有するものを含む。
幾つかの実施形態において、コンピュータは、実行命令を行うように構成されたオペレーティングシステムを含む。オペレーティングシステムは、例えば、プログラムとデータを含むソフトウェアであり、これが、デバイスのハードウェアを管理し、アプリケーションを実行するためのサービスを提供する。当業者は、適切なサーバーオペレーティングシステムが、非限定的な例として、FreeBSD、OpenBSD、NetBSD(登録商標)、Linux(登録商標)、Apple(登録商標)Mzc OS X Server(登録商標)、Oracle(登録商標)Solaris(登録商標)、Windows Server(登録商標)、および、Novell(登録商標)NetWare(登録商標)を含むことを認識するであろう。当業者は、適切なパーソナルコンピュータオペレーティングシステムが、非限定歴な例として、Microsoft(登録商標)、Windows(登録商標)、Apple(登録商標)Mac OS X(登録商標)、UNIX(登録商標)、および、GNU/Linux(登録商標)などのUNIX(登録商標)のようなオペレーティングシステムを含むことを認識するであろう。幾つかの実施形態において、オペレーティングシステムは、クラウドコンピューティングによって提供される。当業者はさらに、適切なモバイルスマートホンのオペレーティングシステムが、非限定的な例として、Nokia(登録商標)Symbian(登録商標)OS、Apple(登録商標)iOS(登録商標)、Research In Motion(登録商標)BlackBerry OS(登録商標)、Google(登録商標)Android(登録商標)、Microsoft(登録商標)Windows Phone(登録商標)OS、Microsoft(登録商標)Windows Mobile(登録商標)OS、Linux(登録商標)、および、Palm(登録商標)WebOS(登録商標)を含むことを認識するであろう。
幾つかの実施形態において、コンピュータは、記憶デバイスおよび/またはメモリコンピュータを含む。記憶デバイスおよび/またはメモリデバイスは、一時的または永久的な観点からデータまたはプログラムを記憶するために使用される1つ以上の物理的な機器である。幾つかの実施形態において、デバイスは揮発性メモリであり、記憶した情報を維持するための電力を必要とする。幾つかの実施形態において、デバイスは不揮発性メモリであり、デジタル処理デバイスに電力が供給されないときは、記憶した情報を保持する。さらなる実施形態において、不揮発性メモリはフラッシュメモリを含む。幾つかの実施形態において、不揮発性メモリは、ダイナミックランダムアクセスメモリ(DRAM)を含む。幾つかの実施形態において、不揮発性メモリは、強誘電体ランダムアクセスメモリ(FRAM)(登録商標)を含む。幾つかの実施形態において、不揮発性メモリは、相変化ランダムアクセスメモリ(PRAM)を含む。他の実施形態において、デバイスは、非限定的な例として、CD−ROM、DVD、フラッシュメモリデバイス、磁気ディスクドライブ、磁気テープドライブ、光ディスクドライブ、および、クラウドコンピューティングベースの記憶装置を含む記憶デバイスである。またさらなる実施形態において、記憶デバイスおよび/またはメモリデバイスは、本明細書に開示されるようなデバイスの組み合わせである。
幾つかの実施形態において、コンピュータは、ユーザに視覚な情報を送るためのディスプレイを含む。幾つかの実施形態において、ディスプレイはブラウン管(CRT)である。幾つかの実施形態において、ディスプレイは液晶ディスプレイ(LCD)である。さらなる実施形態において、ディスプレイは薄膜トランジスタ液晶ディスプレイ(TFT−LCD)である。幾つかの実施形態において、ディスプレイは、有機発光ダイオード(OLED)ディスプレイである。様々なさらなる実施形態において、OLEDディスプレイは、パッシブ−マトリックス方式OLED(PMOLED)またはアクティブ−マトリックスOLED(AMOLED)のディスプレイである。幾つかの実施形態において、ディスプレイはプラズマディスプレイである。他の実施形態において、ディスプレイはビデオプロジェクターである。またさらなる実施形態において、ディスプレイは、本明細書に開示されるようなデバイスの組み合わせである。
幾つかの実施形態において、コンピュータは、ユーザからの情報を受信するための入力装置を含む。幾つかの実施形態において、入力装置はキーボードである。幾つかの実施形態において、入力装置は、非限定的な例として、マウス、トラックボール、トラックパッド、ジョイスティック、ゲームコントローラ、またはスタイラスを含む、ポインティングデバイスである。幾つかの実施形態において、入力装置はタッチスクリーンまたはマルチタッチスクリーンである。他の実施形態において、入力装置は、声または他の音の入力を捕らえるマイクロホンである。他の実施形態において、入力装置は、動作または視覚の入力を捕らえるビデオカメラである。またさらなる実施形態において、入力装置は本明細書に開示されるようなデバイスの組み合わせである。
(非一時的なコンピュータで読み取り可能な媒体)
幾つかの実施形態において、本明細書に開示されるシステム、プラットフォーム、環境、アプリケーション、および、方法は、デジタル処理デバイスのオペレーティングシステムによって実行可能な命令を含むプログラムで符号化された1つ以上のコンピュータで読み取り可能な媒体を含む。さらなる実施形態において、コンピュータで読み取り可能な媒体は、デジタル処理デバイスの有形(tangible)要素である。またさらなる実施形態において、コンピュータで読み取り可能な媒体は、デジタル処理デバイスから随意に取り外し可能である。幾つかの実施形態において、コンピュータで読み取り可能な媒体は、非限定的な例として、CD−ROM、DVD、フラッシュメモリデバイス、ソリッドステートメモリ、磁気ディスクドライブ、磁気テープドライブ、光ディスクドライブ、クラウドコンピューティングシステム、および、サービスなどを含む。様々な実施形態では、符号化は、永久的なものであるか、実質的に永久的なものであるか、半永久的なものであるか、あるいは、非一時的なものである。
(コンピュータプログラム)
幾つかの実施形態では、本明細書で開示されるシステム、プラットフォーム、環境、アプリケーション、および、方法は、1つ以上のコンピュータプログラムを含んでいる。コンピュータプログラムは、指定されたタスクを実行するように書き込まれた、デジタル処理デバイスのCPUにおいて実行可能な一連の命令を含む。本明細書で提供される開示を考慮して、当業者は、コンピュータプログラムが様々な言語の様々なバージョンで書かれてもよいことを認識するであろう。適切なプログラミング言語は、非限定的な例として、Java(登録商標)、VB、VB.NET、C#、C、C++、CFML、Python、Perl、Ruby、PHP、Objective C、JavaScript(登録商標)、Delphi、Lisp、Pascal、Ada、Assembly、ABAP、および、Cocoa、または、その組み合わせを含んでいる。幾つかの実施形態において、コンピュータプログラムは、ソフトウェアフレームワークで作られる。適切なソフトウェアフレームワークは、非限定的な例として、String、Sruts、Django、Ruby on Rails、ASP.NET、Struts、Lift、Tapestry、Seam、Wicket、Symfony、Yii、Drupal、Joomla、Grails、JBoss、Shale、Sling、Eclipse RAP、OracleADF、OpenXava、Richfaces、Google Web Toolkit、IceFaces、WebObjects、TurboGears、Zope、ColdFusion、BFC、DotNetNuke、MonoRail、Flex、および、AJAX、または、これらの組み合わせを含む。
幾つかの実施形態において、コンピュータプログラムは命令の1つのシーケンスを含む。幾つかの実施形態において、コンピュータプログラムは命令の複数のシーケンスを含む。様々な実施形態において、コンピュータプログラムは、ファイル、コードのセクション、プログラムオブジェクト、プログラム構造、またはそれらの組み合わせを含む。さらに様々な実施形態において、コンピュータプログラムは、複数のファイル、コードの複数のセクション、複数のプログラムオブジェクト、複数のプログラム構造、またはそれらの組み合わせを含む。幾つかの実施形態において、コンピュータプログラムは、1つの位置から送達される。他の実施形態において、コンピュータプログラムは複数の位置から送達される。さらに他の実施形態において、コンピュータプログラムはクラウドコンピューティングプラットフォームまたはサービスから送達される。様々な実施形態において、コンピュータプログラムは、1以上のソフトウェアモジュールを含む。様々な実施形態において、コンピュータプログラムは、一部または全体として、1つ以上のウェブアプリケーション、1つ以上のモバイルアプリケーション、1つ以上のスタンドアロンアプリケーション、1つ以上のウェブブラウザプラグイン、拡張子、アドインまたはアドオン、あるいは、これらの組み合わせを含む。
(ソフトウェアモジュール)
本明細書で開示されるシステム、プラットフォーム、環境、アプリケーション、および、方法は、様々な実施形態において、ソフトウェア、サーバー、および、データベースモジュールを含んでいる。本明細書で提供される開示を考慮して、ソフトウェアモジュールは、当該技術分野で既知のマシン、ソフトウェア、および、言語を使用する、当業者に既知の技術によって作り出される。本明細書で開示されるソフトウェアモジュールは多くの方法で実施される。様々な実施形態において、ソフトウェアモジュールは、ファイル、コードのセクション、プログラムオブジェクト、プログラム構造、またはそれらの組み合わせを含む。さらに様々な実施形態において、ソフトウェアモジュールは、複数のファイル、コードの複数のセクション、複数のプログラムオブジェクト、複数のプログラム構造、またはそれらの組み合わせを含む。様々な実施形態において、1つ以上のソフトウェアモジュールは、非限定的な例において、ウェブアプリケーション、モバイルアプリケーション、および、スタンドアロンアプリケーションを含む。幾つかの実施形態において、ソフトウェアモジュールは、1つのコンピュータプログラムまたはアプリケーション内にある。他の実施形態において、ソフトウェアモジュールは2以上のコンピュータプログラムまたはアプリケーション内にある。幾つかの実施形態において、ソフトウェアモジュールは1つのマシン上で提供される。他の実施形態において、ソフトウェアモジュールは2以上のマシン上で提供される。さらなる実施形態において、ソフトウェアモジュールは、クラウドコンピューティングプラットフォーム上で提供される。幾つかの実施形態において、ソフトウェアモジュールは1つの位置にある1つ以上のマシン上で提供される。他の実施形態において、ソフトウェアモジュールは、2以上の位置にある1つ以上のマシン上で提供される。
(実施例)
以下の例証的な実施例は、本明細書に記載のソフトウェアアプリケーション、システム、および方法の実施形態の代表的なものであり、いかなる方法でも限定することを目的とはしていない。
<実施例1>−保存された報告書の作成
ある会社のCEOが、営業本部長に、主要な顧客2社の信用限度、前年の収益、受取債権比率に対する信用度を含む報告書を、総信用限度、前年の収益の合計、および、平均的な信用度対収益の比率を報告書の下欄にまとめた1つの報告書で作成するように求める。販売部長は以下の通りに行動する。
I.出来合いのテンプレートをプルアップする。
II.報告書の列の見出しを特定する(図11を参照)。
III.行の始まりと終わりをタグ付けする(図11を参照)。
IV.信用限度、前年の収益について下欄に和の公式を作成し、平均的な信用度対収益の比率を加える。
V.アプリケーションフォルダーに出力を保存する。
VI.検索バーに「General Motors Company,Pepperdine Demo」とタイプし、クエリを保存し、保存されたクエリを含む指定されたページへのリンクをCEOに送る。
CEOはこのブックマークの付いたリンクを開き、開発者、部長、またはスタッフに邪魔されることなく都合のよい時に報告書に目を通す。図12を参照のこと。この単純なプロセスは、開発者に新しい手続型言語を理解するように要求することなく、新しい報告書を作成するのに、約5−10分かかるだけである。
<実施例2>−仕様書を作成するための保存された報告書の使用
ある製品開発デザイナーは、最終的なグッズを製造するためにすべての個別の部品の重量、コスト、および量を含んでいる材料リストの付いた仕様書が欲しい。デザイナーは、製品の最小在庫管理単位(SKU)のシステムと種類に関するURLを検索フォームにロードして、得られた報告書を検索する。その報告書はメーカーの仕様書に従ってフォーマットされる。デザイナーは、データがすべて正確であることをチェックし確認する。スプレッドシートはさらなる製品開発のためにメーカーにe−mailされる。
<実施例3>−1日の輸出報告書
輸送運送会社は、国ごとに分けられたその日に輸出したすべてのコンテナの集計が欲しい。その会社の社長は、その特定の日の開始日と終了日の報告書に目を通す。システムは、同じ順番でソートされたすべてのSKU、コンテナ、容器、および、国々を列挙する。
<実施例4>−営業報告書
会社の販売責任者は、部下の販売員に支払うべき手数料の月末報告書を編集する必要がある。彼女は、セールスマンによってソートされた報告書の開始日として12/1/2011を、終了日として12/31/2011を入力する。報告書は、量*価格*手数料率の小計を含む各行項目を含む表形式ですべての金額と手数料率を有している。スプレッドシートの下欄には、その月に送られた合計単位の要約、その月に売られたすべてのグッズの平均的な統一小売価格、および、その月に支払われる合計手数料率を含む多くの計算がある。
<実施例5>−クロス・データベースクエリ
クロス・データベースクエリは、いかなるデータベース保存機構も維持しないメモリ内データベースを利用する。システムは、メタデータオブジェクトにクエリの完全なリストを保存する。それぞれのクエリは、1つのテーブルとして象徴的に表される。すべての独立した結果セットがテーブルに変換された後、XDBデータベースは、最終的な結果セットを返すべく、追加プロセスでテーブルとレイヤーを結合する。
(基本的な概要)
特定の実施形態は2つのクエリを含んでいる:
クエリ1:SELECT customer_id、customer_name FROM customer
テーブルエイリアス:xdb1
結果として生じる結果セットは以下のデータセットを産出する。
クエリ2:SELECT order_id、customer_id、order_date FROM orders
テーブルエイリアス:xdb2
結果として生じる結果セットは以下のデータセットを産出する。
それぞれのクエリはテーブルエイリアスを与えられる。この実施例において、クエリ1はxdb1としてエイリアス処理され、クエリ2はxdb2としてエイリアス処理される。
クロス・データベースクエリは以下のとおりである:
SELECT
xdb1.customer_name
xdb2.order_date
FROM
xdb1
INNER JOIN xdb2 ON xdb1.customer_id=xdb2.customer_id
クロス・データベースクエリは2つの同時クエリを開始する。結果セットの各々は、テーブルオブジェクトとしてメモリ内データベース内にある。その後、テーブルオブジェクトは処理され、XDBデータベース・エンジンにかけられることで最終的な結果セットを組み立てる。
この実施例におけるワークフローは次のとおりである。
最初に、クロス・データベース・エンジンがクエリを受け取る:
SELECT
xdb1.customer_name
xdb2.order_date
FROM
xdb1
INNER JOIN xdb2 ON xdb1.customer_id=xdb2.customer_id
次に、クロス・データベース・エンジンは、まったく異なる遠隔データベースに対して以下のクエリを出す:
クエリ1:SELECT customer_id、customer_name FROM customer
クエリ2:SELECT order_id、customer_id、order_date FROM orders
第3に、クロス・データベース・エンジンは、クエリ1とクエリ2の各々から同時に結果セットを受け取り、XDBクライアントに返す新しいセットを組み立てる。システムは、選択された列の数を再検討し、2つの結果セットが内部の結合ステートメントに基づいて結合された後に、行の数に基づいた二列の結果セット(xdb1.customer_name、xdb2.order_date)を構築する。
(メタデータシートに対するクロス・データベースクエリ)
クロス・データベースクエリは、クロス・データベースクエリエンジンによって出されるまったく異なるクエリのリストまたは組み合わせに基づく。これらのクエリは実際には本明細書に記載のメタデータシート内に保存される。
図13を見ると、特定の実施形態では、メタデータシートは「bibomd」の接頭辞を含んでシステム内で標識化される。
各サブクエリのクエリアセンブリは、メタデータシートのフィールドラベルに基づく。それぞれのサブクエリまたは子どもクエリは、データベースに対する直接的なクエリである。
図14−16を見ると、複数のデータソースから来る複数のメタデータシートが示されている。例えば、図14(Oracle)、図15(Salesforce)、および、図16(Mongo)を参照のこと。
(エイリアス処理されたフィールドオブジェクトに対するクロス・データベースクエリ
図17を見ると、本明細書に記載のクロス・データベースクエリは、参照クエリを列Dの1つのようにエイリアス処理されたテーブルとして保存する。結合点は、対応するフィールドを、そのフィールドを潜在的に引くことができる場所から参照するために等号を使用して、マイクロソフトエクセルの参照式を用いて定義される。この特定の実施例において、テーブルエイリアスは、上に示されたメタデータシートの名前と同じである。それらは一語一句、名前が同じである。強調されたセルF26は、セルE84に対して標識化された「bibomd_sforce」内に別のワークシートに対する式を包含している。この参照/マッピングは、テーブルとしてD列でエイリアス処理された結果として生じるデータセットを「連結する」ために使用される。
(クロス・データベースクエリのフィールド選択および構造)
XDBがそれぞれのデータソースをすべて読みだしてクエリを行った、XDBエンジンは真新しい結果セットを構築する必要がある。新しい結果セットは、メタデータシートで定義されたフィールドマッピングに基づく。フィールドは参照式の方法論によってメタデータシートを参照している。
図18を見ると、Salesforce結果セットからのフィールドとしてAccountNumberをマッピングするとしたら、システムは、セルE90で標的にされた「bibomd_sforce」ワークシートに対する参照式を使用するだろう。マッピングプロセスは、まったく異なるデータソースの集計された結果セットをまとめる。
本発明の好ましい実施形態が本明細書で示され記載されているが、このような実施形態はほんの一例として提供されているにすぎないことは当業者には明らかであろう。多くの変更、変化、および置換が、本発明から逸脱することなく、当業者には思い浮かぶであろう。当然のことながら、本明細書に記載される発明の実施形態に対する様々な代替物が本発明を実行するために用いられてもよい。

Claims (33)

  1. 報告書の作成に適したスプレッドシートベースのプログラミング言語を実行するためのコンピュータベースのシステムであって、
    前記システムは、
    a.プロセッサー、実行可能な命令を行なうように構成されたオペレーティングシステム、および、メモリデバイスを含む随意にネットワーク化されたコンピュータと、
    b.報告書作成用のスプレッドシートベースのプログラミング言語を実行する環境を作るために、デジタル処理デバイスによって実行可能な命令を含むコンピュータプログラムを備え、
    前記環境が、
    i.スプレッドシート内の1つ以上の指定された外部のデータセットの構造を保存するためのソフトウェアモジュールであって、各データセットへの参照は、セルベースの式によって作成される、ソフトウェアモジュール、
    ii.手続き関数を解釈するソフトウェアモジュールであって、手続き関数が報告書設計用テンプレート内のタグを介して指定される、ソフトウェアモジュール、および、
    iii.報告書を作成するためのソフトウェアモジュールを含む、
    システム。
  2. 1以上の外部のデータセットはデー夕ベースである、請求項1に記載のシステム。
  3. 1以上のデータベースは、リレーショナルデータベース、非リレーショナルデータベース、オブジェクト指向型データベース、オブジェクトデータベース、エンティティ関係モデルデータベース、連想データベース、または、XMLデータベースを含む、請求項2に記載のシステム。
  4. 1以上の外部のデータセットはテーブル形式のデータセットである、請求項1に記載のシステム。
  5. 1以上のテーブル形式のデータセットは、テーブル形式構造のデータセットを埋め込まれた本来のデータセットを備えた、コンマ区切りのテキストファイル、タブ区切りのテキストファイル、またはバイナリーファイルである、請求項4に記載のシステム。
  6. 1以上の指定された外部のデータセットの構造を保存するためのソフトウェアモジュールは、記号参照として前記構造を保存する、請求項1に記載のシステム。
  7. 前記ソフトウェアインタープリターは、クエリを実行する前記手続き関数を解釈する、請求項1に記載のシステム。
  8. 前記クエリは、検索およびソートのパラメータの1つまたは両方を随意に含む、請求項7に記載のシステム。
  9. 後に実行するためのクエリを保存するソフトウェアモジュールをさらに含む、請求項7に記載のシステム。
  10. それぞれの保存されたクエリは、起動した際にクエリを実行するURLによって表される、請求項9に記載のシステム。
  11. 報告書設計用テンプレートはスプレッドシートである、請求項1に記載のシステム。
  12. スプレッドシートはマイクロソフトエクセルの任意のバージョン、OpenOffice Calcの任意のバージョンおよび派生物、または、Lotus1−2−3の任意のバージョンおよび派生物である、請求項11に記載のシステム。
  13. 報告書を作成するためのソフトウェアモジュールは、報告書に報告書設計用テンプレートのプロパティを適用する、請求項1に記載のシステム。
  14. 報告書を作成するためのソフトウェアモジュールは、1以上のスプレッドシート、XML文書、HTML文書、報告書作成ソフトウェア文書、ワードプロセッサー文書、またはプレゼンテーションソフトウェア文書の形態をしたバイナリーデータとして報告書を作成する、請求項1に記載のシステム。
  15. 報告書作成環境を作るためにコンピュータによって実行可能な命令を含むコンピュータプログラムで符号化された、非一時的なコンピュータで読み取り可能な媒体であって、
    前記媒体は、
    a.スプレッドシート内に1以上の指定された外部のデータセットの構造を保存するためのソフトウェアモジュールであって、各データセットへの参照がセルベースの式によって作成される、ソフトウェアモジュール、
    b.手続き関数を解釈するソフトウェアインタープリターであって、手続き関数が報告書設計用テンプレート内のタグによって指定される、ソフトウェアインタープリター、および、
    c.報告書を作成するためのソフトウェアモジュールを含む、媒体。
  16. 報告書を作成するためのソフトウェアモジュールは、報告書に報告書設計用テンプレートのプロパティを適用する、請求項15に記載の媒体。
  17. 前記ソフトウェアインタープリターは、クエリを実行するために、前記手続き関数を解釈する、請求項15に記載の媒体。
  18. 前記クエリは、検索とソートのパラメータの1つまたは両方を随意に含んでいる、請求項17に記載の媒体。
  19. 後に実行するためのクエリを保存するソフトウェアモジュールをさらに含む、請求項17に記載の媒体。
  20. それぞれの保存されたクエリは、起動した際にクエリを実行するURLによって表される、請求項19に記載の媒体。
  21. コンピュータにより実行される報告書を作成する方法であって、
    前記方法は、
    a.コンピュータ・メモリにスプレッドシート内の1以上の指定された外部のデータセットの構造を保存する工程、
    b.コンピュータ・メモリに前記スプレッドシート内のセルベースの式によって各データセットを参照する工程、および、
    c.出力をフォーマットするために、ソフトウェアモジュールによって、1つ以上の報告書設計用テンプレートを解釈する工程を含む、方法。
  22. 出力をフォーマットするために1つ以上の報告書設計用テンプレートを解釈する前記工程が、
    a.メモリに1つ以上のテンプレートを読み込む工程、
    b.プログラミング命令を定義する1つ以上のタグをメモリに読み込む工程、
    c.メモリに1以上のデータセットを読み込む工程、
    d.新しいスプレッドシートを作成する工程、
    e.新しいスプレッドシートにテンプレートのプロパティを適用する工程、
    f.各データセットに基づいて新しいスプレッドシートに行と列を挿入する工程、
    g.定義されたプログラミング命令を実行する工程、および、
    h.バイナリーデータ形式で新しいスプレッドシートを出力する工程、を含む、請求項21に記載の方法。
  23. 出力は報告書である、請求項21に記載の方法。
  24. 報告書は1以上のスプレッドシート、XML文書、HTML文書、報告書作成ソフトウェア文書、ワードプロセッサー文書、または、プレゼンテーションソフトウェア文書の形をしたバイナリーデータである、請求項23に記載の方法。
  25. 報告書作成環境を作るために、コンピュータによって実行可能な命令を含むコンピュータプログラムで符号化された、非一時的なコンピュータで読み取り可能な媒体であって、
    前記媒体は、
    a.スプレッドシート内のセルベースの式によって1以上のデータセットを参照するためのソフトウェアモジュールと、
    b.出力をフォーマットするために1以上の報告書設計用テンプレートを解釈するためのソフトウェアモジュールを含み、手続き関数はタグによって報告書設計用テンプレート中で指定される、媒体。
  26. セルベースの式は、ユーザによってある程度は入力される、請求項25に記載の媒体。
  27. セルベースの式は、自動生成ウィザードを介してコンピューターシステムによって、ある程度は入力される、請求項25に記載の媒体。
  28. 手続き関数はユーザによってある程度まで入力される、請求項25に記載の媒体。
  29. 手続き関数は、自動生成ウィザードを介してコンピュータによってある程度まで入力される、請求項25に記載の媒体。
  30. 出力は報告書である、請求項25に記載の媒体。
  31. 報告書作成のためのプログラミング命令を特定するためのコンピュータにより実行される方法であって、
    前記方法は、以下からなる群:
    a.入力を指定する、
    b.出力を指定する、
    c.数学的な計算を指定する、
    d.条件付きの実行命令を指定する、および、
    e.命令の反復を指定する;
    から選択されたプログラミング命令を特定するために、コンピュータ・メモリ内のスプレッドシートに特定のタグを保存する工程を含む、方法。
  32. 1以上のタグは、オープンタグとクローズタグからなる1対のタグで利用される、請求項31に記載の方法。
  33. 1以上のタグは単一タグとして利用される、請求項31に記載の方法。
JP2014550459A 2011-12-29 2012-12-27 報告書作成に適したスプレッドシートベースのプログラミング言語 Active JP6134737B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161581515P 2011-12-29 2011-12-29
US61/581,515 2011-12-29
PCT/US2012/071788 WO2013101914A1 (en) 2011-12-29 2012-12-27 Spreadsheet-based programming language adapted for report generation

Publications (3)

Publication Number Publication Date
JP2015504213A true JP2015504213A (ja) 2015-02-05
JP2015504213A5 JP2015504213A5 (ja) 2016-02-04
JP6134737B2 JP6134737B2 (ja) 2017-05-24

Family

ID=48698608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014550459A Active JP6134737B2 (ja) 2011-12-29 2012-12-27 報告書作成に適したスプレッドシートベースのプログラミング言語

Country Status (9)

Country Link
US (1) US10824802B2 (ja)
EP (1) EP2798487A4 (ja)
JP (1) JP6134737B2 (ja)
KR (1) KR101977972B1 (ja)
CN (1) CN104285209B (ja)
AU (1) AU2012362383B2 (ja)
CA (1) CA2862387C (ja)
HK (1) HK1205303A1 (ja)
WO (1) WO2013101914A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022041865A (ja) * 2020-08-31 2022-03-11 株式会社 ビーアイマトリックス テンプレートに基づくエクセル文書のオンライン作業システム

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483456B2 (en) 2011-09-19 2016-11-01 Jeffrey Dean Honsowetz Grid data management
US9292571B1 (en) * 2013-01-18 2016-03-22 Microstrategy Incorporated Joining database tables
US9244971B1 (en) 2013-03-07 2016-01-26 Amazon Technologies, Inc. Data retrieval from heterogeneous storage systems
US9189515B1 (en) * 2013-03-08 2015-11-17 Amazon Technologies, Inc. Data retrieval from heterogeneous storage systems
US9164977B2 (en) * 2013-06-24 2015-10-20 International Business Machines Corporation Error correction in tables using discovered functional dependencies
US9600461B2 (en) * 2013-07-01 2017-03-21 International Business Machines Corporation Discovering relationships in tabular data
USD749616S1 (en) * 2013-07-19 2016-02-16 Robert Bosch Gmbh Display screen with a graphical user interface
US9830314B2 (en) 2013-11-18 2017-11-28 International Business Machines Corporation Error correction in tables using a question and answer system
US10013396B2 (en) * 2015-01-29 2018-07-03 Dropbox, Inc. Modifying native documents with formulas in a preview
US10095740B2 (en) 2015-08-25 2018-10-09 International Business Machines Corporation Selective fact generation from table data in a cognitive system
JP1553723S (ja) * 2015-10-30 2016-07-11
JP1553722S (ja) * 2015-10-30 2016-07-11
CN105488019B (zh) * 2015-11-30 2018-05-29 云南电网有限责任公司电力科学研究院 一种电能质量监测装置检测报告自动生成方法
CN106021303B (zh) * 2016-05-05 2019-12-17 北京轻元科技有限公司 一种用于持续集成报告发布的系统和方法
KR102035277B1 (ko) * 2016-10-28 2019-10-22 단국대학교 천안캠퍼스 산학협력단 화장품 노출인자 분석 장치 및 방법
CN106446598A (zh) * 2016-11-15 2017-02-22 上海派森诺生物科技股份有限公司 项目报告自动生成方法
US11726753B2 (en) 2016-12-03 2023-08-15 Thomas STACHURA Spreadsheet-based software application development
US10216494B2 (en) * 2016-12-03 2019-02-26 Thomas STACHURA Spreadsheet-based software application development
US10540153B2 (en) 2016-12-03 2020-01-21 Thomas STACHURA Spreadsheet-based software application development
JP1606618S (ja) * 2017-09-21 2018-06-11
US10877735B1 (en) 2017-09-25 2020-12-29 Amazon Technologies, Inc. Automated generation of software applications using analysis of submitted content items
CN107845033A (zh) * 2017-11-08 2018-03-27 上海壹账通金融科技有限公司 风控报告生成方法、装置、设备及计算机可读存储介质
US10705805B1 (en) 2017-12-12 2020-07-07 Amazon Technologies, Inc. Application authoring using web-of-sheets data model
CN110083339A (zh) * 2018-01-26 2019-08-02 拜椰特(上海)软件技术有限公司 一种新型计算机编程语言
US11216706B2 (en) * 2018-03-15 2022-01-04 Datorama Technologies Ltd. System and method for visually presenting interesting plots of tabular data
CN108647196B (zh) * 2018-04-16 2022-10-25 北京航空航天大学 数字飞行器仿真报告中表格的人工智能生成方法和装置
US11586603B1 (en) 2018-05-23 2023-02-21 Amazon Technologies, Inc. Index sheets for robust spreadsheet-based applications
CN109241514A (zh) * 2018-09-10 2019-01-18 深圳市泰洲科技有限公司 数据自动导入方法、装置、计算机设备及存储介质
US11429558B2 (en) 2018-10-11 2022-08-30 Dealvector, Inc. Mapping tests of spreadsheets in server-browser environments
CN110427599A (zh) * 2019-06-06 2019-11-08 北京辰森世纪科技股份有限公司 报表小计的统计方法及装置、存储介质、电子装置
CN111126019B (zh) * 2019-11-28 2024-01-05 泰康保险集团股份有限公司 基于模式定制的报表生成方法、装置和电子设备
CN111178027B (zh) * 2019-12-09 2023-03-31 北京尊冠科技有限公司 基于在线创建模板和在线指定数据的报告生成系统和方法
CN111144082B (zh) * 2019-12-23 2023-05-12 中国建设银行股份有限公司 多表格迭代计算方法、装置、电子设备及存储介质
CN111158650B (zh) * 2019-12-25 2023-06-27 中国建设银行股份有限公司 报表模板、报表的生成方法、装置
CN111241091B (zh) * 2019-12-29 2023-05-16 云帐房网络科技有限公司 一种商业报表数据的分布式列式数据存储转换方法及系统
TWI796545B (zh) * 2020-01-15 2023-03-21 訊光科技系統股份有限公司 文件式智能程式產生方法及其電子裝置
USD974370S1 (en) * 2020-04-03 2023-01-03 Markup Llc Display screen portion with graphical user interface
CN111680478B (zh) * 2020-06-17 2024-04-16 华自科技股份有限公司 基于组态软件的报表生成方法、装置、设备和存储介质
CN111723129B (zh) * 2020-06-24 2024-03-29 中国工商银行股份有限公司 报表生成方法、报表生成装置和电子设备
CN112233498B (zh) * 2020-10-14 2023-01-06 烟台鼎钰电子科技有限公司 一种表格式可编程显示控制器
USD957452S1 (en) * 2020-11-19 2022-07-12 Autel Intelligent Technology Corp., Ltd. Display screen or portion thereof of a device with transitional graphical user interface
CN112541033B (zh) * 2020-12-01 2023-05-05 山东师范大学 Vba栈结构的演示方法、系统、存储介质及计算机设备
KR102499832B1 (ko) * 2020-12-18 2023-02-15 (주)비아이매트릭스 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템
CA3150102A1 (en) * 2021-02-24 2022-08-24 Think Research Corporation Systems, methods and devices for structured dynamic electronic forms
US11797430B2 (en) 2021-12-03 2023-10-24 T-Mobile Usa, Inc. Configuration-driven data conversion and hosting for software development systems and methods
US11599718B1 (en) 2022-03-23 2023-03-07 Acuitive Solutions, Inc. Database system for storing electronic spreadsheets
CN117454862A (zh) * 2023-12-25 2024-01-26 青岛民航凯亚系统集成有限公司 一种基于引擎模式的报表生成方法及自助bi系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161656A (ja) * 1997-11-27 1999-06-18 Asahi Chem Ind Co Ltd データベース検索・抽出システムおよびデータベース検索・抽出用制御プログラムを記録した記録媒体
US20040111666A1 (en) * 2002-12-05 2004-06-10 Hollcraft James G. Software replicator functions for generating reports
US20040221233A1 (en) * 2003-04-29 2004-11-04 David Thielen Systems and methods for report design and generation
JP2004538534A (ja) * 1999-07-19 2004-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション スプレッドシート・セルとデータ・ソースのバインディング
JP2007249328A (ja) * 2006-03-14 2007-09-27 Internatl Business Mach Corp <Ibm> 表計算などの処理を行うシステムおよびその方法
US20110173529A1 (en) * 2010-01-11 2011-07-14 Microsoft Corporation Template processing engine for business systems
JP2011227631A (ja) * 2010-04-16 2011-11-10 Wincube Co Ltd 業務管理用システム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078924A (en) * 1998-01-30 2000-06-20 Aeneid Corporation Method and apparatus for performing data collection, interpretation and analysis, in an information platform
US6816630B1 (en) * 2000-05-22 2004-11-09 Electro-Sensors, Inc. System and method for creating and processing data forms
US7251776B2 (en) * 2001-07-13 2007-07-31 Netview Technologies, Inc. System and method for efficiently and flexibly utilizing spreadsheet information
AU2002313103A1 (en) 2002-05-16 2003-12-02 Decision Curve Limited Method and apparatus for automatically producing spreadsheet-based models
US6965978B2 (en) * 2003-05-15 2005-11-15 Microsoft Corporation Memory tracking tool
US7197696B1 (en) * 2003-06-05 2007-03-27 Pavan Vidyadhar Muzumdar System, method and computer program product to populate data into spreadsheets and execute functions and programs within the same
US7694315B2 (en) * 2004-02-13 2010-04-06 Microsoft Corporation Schema-based machine generated programming models
US20060085444A1 (en) * 2004-10-19 2006-04-20 Microsoft Corporation Query consolidation for retrieving data from an OLAP cube
US7426688B2 (en) * 2004-11-02 2008-09-16 Hewlett-Packard Development Company, L.P. Embedded spreadsheet commands
US7487446B2 (en) * 2004-11-10 2009-02-03 Microsoft Corporation Using a word processor with accounting data
US20060107196A1 (en) * 2004-11-12 2006-05-18 Microsoft Corporation Method for expanding and collapsing data cells in a spreadsheet report
US7647551B2 (en) * 2004-12-15 2010-01-12 Microsoft Corporation System and method for formatting a cell in response to data stored in a separate location
US20060136436A1 (en) * 2004-12-22 2006-06-22 At&T Corp. Arrangement enabling thin client to access and present data in custom defined reports
US7792847B2 (en) * 2005-09-09 2010-09-07 Microsoft Corporation Converting structured reports to formulas
US7805433B2 (en) * 2005-10-14 2010-09-28 Microsoft Corporation Multidimensional cube functions
US20080104542A1 (en) * 2006-10-27 2008-05-01 Information Builders, Inc. Apparatus and Method for Conducting Searches with a Search Engine for Unstructured Data to Retrieve Records Enriched with Structured Data and Generate Reports Based Thereon
JP2008234370A (ja) * 2007-03-21 2008-10-02 Just Syst Corp 文書処理装置及び文書処理方法
US8095870B2 (en) * 2007-06-06 2012-01-10 Oracle International Corporation Extensible document transformation language: an innovative way of generating business document and report
US20090055341A1 (en) * 2007-08-22 2009-02-26 American Express Travel Related Services Company, Inc. Regulatory Survey Automation System (RSAS)
US8407668B2 (en) * 2007-10-26 2013-03-26 Microsoft Corporation Model based spreadsheet scripting language
US8341512B2 (en) * 2007-10-31 2012-12-25 Microsoft Corporation Method for capturing design-time and run-time formulas associated with a cell
US8856182B2 (en) * 2008-01-25 2014-10-07 Avaya Inc. Report database dependency tracing through business intelligence metadata
US9104738B2 (en) * 2008-06-19 2015-08-11 Tropare, Inc. Leveraging collaborative cloud services to build and share apps
US8788928B2 (en) * 2009-07-15 2014-07-22 Clandscale, Inc. System and methodology for development of stream processing applications utilizing spreadsheet interface
AU2010201974A1 (en) * 2009-10-23 2011-05-12 Iconstruct (Aus) Pty Ltd System and Method for Managing Information
CN102053975A (zh) * 2009-10-30 2011-05-11 国际商业机器公司 数据库系统和跨数据库查询优化方法
US8843814B2 (en) 2010-05-26 2014-09-23 Content Catalyst Limited Automated report service tracking system and method
US8677230B2 (en) * 2011-09-15 2014-03-18 Morgan Stanley Network-based data consolidation, calculation and reporting engine

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161656A (ja) * 1997-11-27 1999-06-18 Asahi Chem Ind Co Ltd データベース検索・抽出システムおよびデータベース検索・抽出用制御プログラムを記録した記録媒体
JP2004538534A (ja) * 1999-07-19 2004-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション スプレッドシート・セルとデータ・ソースのバインディング
US20040111666A1 (en) * 2002-12-05 2004-06-10 Hollcraft James G. Software replicator functions for generating reports
US20040221233A1 (en) * 2003-04-29 2004-11-04 David Thielen Systems and methods for report design and generation
JP2007249328A (ja) * 2006-03-14 2007-09-27 Internatl Business Mach Corp <Ibm> 表計算などの処理を行うシステムおよびその方法
US20110173529A1 (en) * 2010-01-11 2011-07-14 Microsoft Corporation Template processing engine for business systems
JP2011227631A (ja) * 2010-04-16 2011-11-10 Wincube Co Ltd 業務管理用システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宮森勝彌: ""Excel97用データベースインポート/エクスポートツール:ProLes Ver2.0Jの活用法"", BACKOFFICE MAGAZINE, vol. 第3巻,第4号(通巻17号), JPN6016012066, 1 April 1999 (1999-04-01), JP, pages 163 - 167, ISSN: 0003288810 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022041865A (ja) * 2020-08-31 2022-03-11 株式会社 ビーアイマトリックス テンプレートに基づくエクセル文書のオンライン作業システム
JP7209306B2 (ja) 2020-08-31 2023-01-20 株式会社 ビーアイマトリックス テンプレートに基づくエクセル文書のオンライン作業システム

Also Published As

Publication number Publication date
KR101977972B1 (ko) 2019-05-14
JP6134737B2 (ja) 2017-05-24
CN104285209A (zh) 2015-01-14
WO2013101914A1 (en) 2013-07-04
US10824802B2 (en) 2020-11-03
CA2862387A1 (en) 2013-07-04
AU2012362383B2 (en) 2018-05-10
AU2012362383A1 (en) 2014-07-24
EP2798487A1 (en) 2014-11-05
KR20140126311A (ko) 2014-10-30
HK1205303A1 (en) 2015-12-11
CA2862387C (en) 2023-03-14
CN104285209B (zh) 2018-01-30
US20130290822A1 (en) 2013-10-31
EP2798487A4 (en) 2015-09-09

Similar Documents

Publication Publication Date Title
JP6134737B2 (ja) 報告書作成に適したスプレッドシートベースのプログラミング言語
US9811604B2 (en) Method and system for defining an extension taxonomy
US9477786B2 (en) System for metadata management
US8479158B2 (en) Business information warehouse toolkit and language for warehousing simplification and automation
US20130166550A1 (en) Integration of Tags and Object Data
US8024701B2 (en) Visual creation of object/relational constructs
US20120023130A1 (en) Facilitation of extension field usage based on reference field usage
US20080195651A1 (en) Batch Management of Metadata in a Business Intelligence Architecture
US20100131520A1 (en) Method of representing an xml schema definition and data within a relational database management system using a reusable custom-defined nestable compound data type
WO2013175422A1 (en) Methodology supported business intelligence (bi) software and system
US20220269702A1 (en) Intelligent annotation of entity-relationship data models
US8122340B2 (en) System and method for management of common decentralized applications data and logic
US20130346426A1 (en) Tracking an ancestry of metadata
US20090248716A1 (en) Hierarchy creation and management tool
US20120143888A1 (en) Automatic updating of an existing document using save-in functionality
Oliveira et al. ETL standard processes modelling-a novel BPMN approach
Sharma et al. Database Management Systems—An Efficient, Effective, and Augmented Approach for Organizations
Maslyuk Exam Ref 70-778 Analyzing and Visualizing Data by Using Microsoft Power BI
US20120131040A1 (en) Detection and display of semantic errors in a reporting tool
Saint-Paul et al. Data services in your spreadsheet!
Birgi et al. Data Model: A Blueprint for Data Warehouse
Choo et al. Data Warehouse Design and Implementation for Research Literature Mining
Aspin et al. Restructuring Data
Willman et al. Introduction to Handling Databases
Westin An efficient tool for customer data imports into Ipendo Platform

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151210

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160120

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160920

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20161216

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170317

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170424

R150 Certificate of patent or registration of utility model

Ref document number: 6134737

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250