(57)【要約】【課題】デリミター区切りで表現された表形式データの操作を支援するための技術を提供する。【解決手段】表形式データ処理プログラムは、複数の項目にそれぞれ対応する複数の要素を含むレコードが複数登録される表形式データを処理するプログラムであって、ユーザの操作に基づき、複数の表形式データにそれぞれ含まれる項目を対応付けて１つの表形式データを生成する縦結合処理を行う縦結合ステップと、ユーザの操作に基づき、生成された１つの表形式データに含まれる項目をキーとして当該１つの表形式データに含まれるレコードを集約する集約処理を行う集約ステップと、項目の構成が同一の表形式データを用いて、縦結合処理及び集約処理と同一の処理を実行するための再実行情報として、項目の対応付けとキー項目とを少なくとも記憶装置に記憶させるステップとをコンピュータに実行させる。【選択図】図３
2015075970.tif 000002
【特許請求の範囲】
【請求項１】
複数の項目にそれぞれ対応する複数の要素を含むレコードが複数登録される表形式データを処理するプログラムであって、
ユーザの操作に基づき、複数の前記表形式データにそれぞれ含まれる項目を対応付けて１つの表形式データを生成する縦結合処理を行う縦結合ステップと、
ユーザの操作に基づき、生成された前記１つの表形式データに含まれる項目をキーとして当該１つの表形式データに含まれるレコードを集約する集約処理を行う集約ステップと、
項目の構成が同一の表形式データに対して、前記縦結合処理及び前記集約処理を実行するための再実行情報として、前記項目の対応付けと前記キー項目とを少なくとも記憶装置に記憶させるステップと、
をコンピュータに実行させるための表形式データ処理プログラム。
【請求項２】
ユーザの操作に基づき、同一概念の関係、又は上位概念及び下位概念の関係にある語句の登録を受け付ける辞書登録ステップ
をさらに実行させ、
前記集約ステップにおいて、前記キーとされた項目に対応する要素が同一概念の関係にあるレコード、又は上位概念及び下位概念の関係にあるレコードを集約する
請求項１に記載の表形式データ処理プログラム。
【請求項３】
ユーザの操作に基づき、前記再実行情報と、当該再実行情報に従って処理を実行する時刻とを少なくとも含むスケジュール情報を前記記憶装置に記憶させるステップと、
前記スケジュール情報に基づいて、前記スケジュール情報に設定された時刻に前記再実行情報が規定する縦結合処理及び集約処理を行うステップと、
をさらに実行させる請求項１又は２に記載の表形式データ処理プログラム。
【請求項４】
前記縦結合処理及び前記集約処理の実行順序をグラフィカルに表示するとともに、前記縦結合処理を実行するための設定である前記項目の対応付け、前記集約処理を実行するための設定であるキー項目、又は縦結合処理もしくは集約処理に入力される表形式データの前記項目の構成もしくは出力される表形式データの前記項目の構成を表示するステップ
をさらに実行させる請求項１から３のいずれか一項に記載の表形式データ処理プログラム。
【請求項５】
複数の項目にそれぞれ対応する複数の要素を含むレコードが複数登録される表形式データを処理する方法であって、
ユーザの操作に基づき、複数の前記表形式データにそれぞれ含まれる項目を対応付けて１つの表形式データを生成する縦結合処理を行う縦結合ステップと、
ユーザの操作に基づき、生成された前記１つの表形式データに含まれる項目をキーとして当該１つの表形式データに含まれるレコードを集約する集約処理を行う集約ステップと、
項目の構成が同一の表形式データに対して、前記縦結合処理及び前記集約処理を実行するための再実行情報として、前記項目の対応付けと前記キー項目とを少なくとも記憶装置に記憶させるステップと、
をコンピュータが実行する表形式データ処理方法。
【請求項６】
複数の項目にそれぞれ対応する複数の要素を含むレコードが複数登録される表形式データを処理する装置であって、
ユーザの操作に基づき、複数の前記表形式データにそれぞれ含まれる項目を対応付けて１つの表形式データを生成する縦結合処理を行う縦結合部と、
ユーザの操作に基づき、生成された前記１つの表形式データに含まれる項目をキーとして当該１つの表形式データに含まれるレコードを集約する集約処理を行う集約部と、
項目の構成が同一の表形式データに対して、前記縦結合処理及び前記集約処理を実行するための再実行情報として、前記項目の対応付けと前記キー項目とを少なくとも記憶装置に記憶させる制御部と、
を有する表形式データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表形式データ処理プログラム、方法、及び装置に関する。
【背景技術】
【０００２】
顧客情報、営業情報、その他のあらゆる情報を管理するため、例えばＲＤＢ（Relational Database）が利用されている。ＲＤＢを利用する場合、正規化したテーブルを作成す
ることにより、情報を一元的に管理し、不整合、損失、冗長を低減することができる。なお、１又は複数のテーブルから同一の実体に関するレコードを求めるため、「名寄せ」と呼ばれる処理を行うこともある。名寄せすることにより、例えば、同一人物が有する複数の口座を取りまとめて扱うことができるようになるため、集計結果がより精確になる。
【０００３】
また、利用者が、セルと自動実行データとの関連付けの登録・削除・更新を行うことによって、内部データを意識することなく表計算プログラムを自動実行させる技術が提案されている（例えば、特許文献１）。また、設計書に基づいて、コンピュータプログラムのソースコードを自動生成するという技術も提案されている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−７３５８９号公報
【特許文献２】特開２００９−２２３８４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＲＤＢを利用するためには、テーブルの設計、レコードの登録及びメンテナンス等が必要である。さらに、サーバの構築、データ操作言語やＲＤＢＭＳ（Relational Database Management System）の使用等、専門的な技術が必要になる場合もある。そこで、ＲＤＢ
を利用することなく簡易的にデータを管理するため、ＣＳＶ（Comma Separated Values）に代表されるテキストで記録された表形式データ（「Delimiter-Separated Values」、「Character-Separated Values」等とも呼ばれる）を利用する場合も少なくない。
【０００６】
しかしながら、上記のような表形式データを表計算ソフト等で処理する場合、ＲＤＢＭＳによって実行するようにテーブルを結合したり値を集計したりといったデータ操作をするためには、手間と時間がかかるという問題がある。また、取引先ごと、支社ごと、部署ごと等でそれぞれ異なるデータ構造の情報資産を保有している場合に、これらを統合して集計等するときには専用のシステムを開発する必要があった。
【０００７】
そこで、本発明は、デリミター（Delimiter）区切りで表現された表形式データの操作
を支援するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る表形式データ処理プログラムは、複数の項目にそれぞれ対応する複数の要素を含むレコードが複数登録される表形式データを処理するプログラムであって、ユーザの操作に基づき、複数の表形式データにそれぞれ含まれる項目を対応付けて１つの表形式データを生成する縦結合処理を行う縦結合ステップと、ユーザの操作に基づき、生成された１つの表形式データに含まれる項目をキーとして当該１つの表形式データに含まれるレコードを集約する集約処理を行う集約ステップと、項目の構成が同一の表形式データに対して、縦結合処理及び集約処理を実行するための再実行情報として、項目の対応付けとキ
ー項目とを少なくとも記憶装置に記憶させるステップとをコンピュータに実行させる。
【０００９】
このようにすれば、表形式データの構成をユーザの操作に基づいて再構築することができる。また、同様の構成を有する表形式データに対し、同様の操作を実行するための情報を記憶させておくことができる。したがって、表形式データの操作を支援するための技術を提供することができる。
【００１０】
また、表形式データ処理プログラムは、ユーザの操作に基づき、同一概念の関係、又は上位概念及び下位概念の関係にある語句の登録を受け付ける辞書登録ステップをさらに実行させ、集約ステップにおいて、キーとされた項目の要素が同一概念の関係にあるレコード、又は上位概念及び下位概念の関係にあるレコードを集約するようにしてもよい。このようにすれば、レコードを集約する際にユーザが設定した辞書に基づいて名寄せを行うことができるようになる。
【００１１】
また、表形式データ処理プログラムは、ユーザの操作に基づき、再実行情報と、当該再実行情報に従って処理を実行する時刻とを少なくとも含むスケジュール情報を記憶装置に記憶させるステップと、スケジュール情報に基づいて、スケジュール情報に設定された時刻に再実行情報が規定する縦結合処理及び集約処理を行うようにしてもよい。このようにすれば、処理をスケジュールしておくことができるようになる。
【００１２】
また、表形式データ処理プログラムは、縦結合処理及び集約処理の実行順序をグラフィカルに表示するとともに、縦結合処理を実行するための設定である項目の対応付け、又は集約処理を実行するための設定であるキー項目、又は縦結合処理もしくは集約処理に入力される表形式データの項目の構成もしくは出力される表形式データの項目の構成を表示するステップをさらに実行させるようにしてもよい。このようにすれば、ユーザは、実行される表形式データの操作を視覚的に確認することができる。
【００１３】
なお、上記課題を解決するための手段の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。上記プログラムを保持する記録媒体を提供するようにしてもよい。また、上記課題を解決するための手段の内容をコンピュータが実行する表形式データ処理方法や、上記課題を解決するための手段の内容を実行する各処理部を備えた表形式データ処理装置を提供することもできる。
【発明の効果】
【００１４】
本発明によれば、デリミター（Delimiter）区切りで表現された表形式データの操作を
支援するための技術を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】表形式データ処理装置の一例を示す機能ブロック図である。
【図２】コンピュータの一例を示す装置構成図である。
【図３】実施形態に係るジョブの概要を説明するための図である。
【図４】縦結合処理の入力データの一例を示す表である。
【図５】縦結合処理の入力データの一例を示す表である。
【図６】縦結合処理の出力データの一例を示す表である。
【図７】縦結合の設定画面（縦結合列編集画面）の一例を示す図である。
【図８】縦結合の設定画面（縦結合ベースファイル選択画面）の一例を示す図である。
【図９】縦結合の設定画面（表示属性抽出設定画面）の一例を示す図である。
【図１０】横結合の入力データ（縦結合の出力データ）の一例を示す表である。
【図１１】縦結合の入力データの一例を示す表である。
【図１２】縦結合の入力データの一例を示す表である。
【図１３】横結合の出力データの一例を示す表である。
【図１４】横結合の設定画面（横結合画面）の一例を示す図である。
【図１５】横結合の設定画面（横結合キー設定画面）の一例を示す図である。
【図１６】横結合の入力データの一例を示す表である。
【図１７】横結合の出力例を示す表である。
【図１８】横結合の他の出力例を示す表である。
【図１９】横結合の他の出力例を示す表である。
【図２０】横結合の他の出力例を示す表である。
【図２１】横結合の他の出力例を示す表である。
【図２２】横結合の他の出力例を示す表である。
【図２３】横結合の他の出力例を示す表である。
【図２４】横結合の他の出力例を示す表である。
【図２５】横結合の他の出力例を示す表である。
【図２６】ユーザ辞書の記載例を示す図である。
【図２７】ユーザ辞書における語句の関係を説明するための模式図である。
【図２８】他のユーザ辞書の記載例を示す表である。
【図２９】他のユーザ辞書の記載例を示す表である。
【図３０】集計処理の出力データの一例を示す表である。
【図３１】集計処理の設定画面（集計画面）の一例を示す図である。
【図３２】集計処理の設定画面（集計キー設定画面）の一例を示す図である。
【図３３】集計処理の設定画面（集計属性設定画面）の一例を示す図である。
【図３４】集計処理の設定画面（集計追加属性画面）の一例を示す図である。
【図３５】集計処理の設定画面（計算画面）の一例を示す図である。
【図３６】集計処理の設定画面（条件画面）の一例を示す図である。
【図３７】集計処理の設定画面（関数処理画面）の一例を示す図である。
【図３８】グループ化処理の入力データの一例を示す表である。
【図３９】グループ化処理の出力データの一例を示す表である。
【図４０】グループ化処理の設定画面（グループ化画面）の一例を示す図である。
【図４１】グループ化解除処理の出力データの一例を示す表である。
【図４２】グループ化解除処理の設定画面（グループ化キー設定画面）の一例を示す図である。
【図４３】ナンバリング処理の設定画面の一例を示す図である。
【図４４】検索条件の設定画面の一例を示す図である。
【図４５】ＸＭＬファイルの内容の一例を示す図である。
【図４６】バッチ処理の概要を説明するための図である。
【図４７】バッチ処理の設定画面の一例を示す図である。
【図４８】新規ジョブ実行処理の一例を示す処理フロー図である。
【図４９】ジョブの設定画面一例を示す図である。
【図５０】ジョブの設定画面の他の例を示す図である。
【図５１】ジョブの設定画面の他の例を示す図である。
【図５２】ジョブの設定画面の他の例を示す図である。
【図５３】ジョブの設定画面の他の例を示す図である。
【図５４】バッチ定義処理の一例を示す処理フロー図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、一実施形態に係る表形式データ処理方法、プログラム及び装置について説明する。実施形態の構成は例示であり、本発明に係るプログラム、装置、方法は実施形態の構成には限定されない。
【００１７】
本実施形態に係る装置は、いわゆる表形式データを処理する。表形式データとは、例えば、カンマやタブ、スペース等の区切記号（すなわち、「デリミター」）によって要素（「フィールド」、「列」、「項目」、「属性」又は「値」とも呼ぶ）が区切られ、改行によってレコード（「行」とも呼ぶ）が区切られたテキストデータである。本実施形態では、表形式データのうち、先頭から所定数の行をタイトル行として扱う。すなわち、先頭から所定数の行に含まれる要素を、フィールド名（「列名」、「項目名」、「属性名」等とも呼ぶ）として扱う。このとき、空の行があれば自動的に削除等するようにしてもよい。また、その他の行をデータレコードとして扱う。そして、データレコードに含まれる要素（「値」とも呼ぶ）を結合処理や集計処理等の対象とする。
【００１８】
具体的には、本実施形態に係るプログラムは、表形式データに含まれる要素を配列（リスト）に保持し、後述する様々な処理を行う。また、本実施の形態に係る表形式データは、１つの要素としてさらに入れ子状に配列を保持する場合もある。すなわち、表形式データの１つのフィールドに、複数の値を保持できる構成とする。また、本実施の形態では、要素を基本的に文字列として扱う。ただし、集計処理等においては要素が数値、日時等であるか判断し、所定の形式でない要素を検出した場合はエラーメッセージを出力するようにしてもよい。
【００１９】
＜機能構成＞
図１は、表形式データを処理する表形式データ処理装置の一例を示す機能ブロック図である。本実施形態に係る表形式データ処理装置１は、データ記憶部１０１と、入出力部１０２と、制御部１０３と、縦結合部１０４と、横結合部１０５と、集計部１０６と、グループ化部１０７と、検索部１０８と、外部連携部１０９と、バッチ処理部１１０とを有する。
【００２０】
データ記憶部１０１は、例えば、本実施形態で処理の対象となる表形式データ、処理の内容を示すスクリプトデータ、処理結果として生成される表形式データ、その他処理において中間的に生成されるデータを保持する。また、本実施形態に係る処理を実行するための設定も記憶される。本実施の形態では、ＣＳＶデータが、表形式データ処理装置１のデータ記憶部１０１に予め記憶されているものとする。
【００２１】
入出力部１０２は、データ記憶部１０１に記憶されている表形式データをユーザの指定に基づいて読み出したり、処理結果として生成される表形式データをデータ記憶部１０１に書き出したりする。制御部１０３は、ユーザの操作に基づき、縦結合処理、横結合処理、集計処理、グループ化処理、検索処理、外部連携処理等といった処理（プロセスとも呼ぶ）を１つ以上用いて、プロセスを順に実行する処理であるジョブを定義する。なお、ジョブの定義に基づいて、縦結合部１０４、横結合部１０５、集計部１０６、グループ化部１０７、検索部１０８、外部連携部１０９等が処理を実行する。また、ジョブの定義は、一連の処理を実行するためのスクリプトとして、例えばＸＭＬ（Extensible Markup Language）形式で保存される。なお、ここではプログラムのソースコード自体でなく、本実施形態に係るプログラムが読み込む設定データを「スクリプト」と呼んでいる。
【００２２】
縦結合部１０４は、１以上の表形式データに含まれるレコードを１つの表形式データに統合する処理（「縦結合処理」と呼ぶ）を行う。また、縦結合処理を実行するための設定をユーザの操作によって受け付ける。横結合部１０５は、例えばキー項目の値が所定の条件を満たす、複数の表形式データのレコードを１レコードに結合する処理（「横結合処理」と呼ぶ）を行う。また、横結合処理を実行するための設定をユーザの操作によって受け付ける。
【００２３】
集計部１０６は、設定に基づいて、値を数値として集計したり、値を文字列として１つ
のフィールドに統合したりする処理を行う。グループ化部１０７は、表形式データに含まれる値を所定のグループに分け、クロス集計を行う。また、クロス集計された状態の表形式データを、条件に従って分割する処理（グループ化解除）を行う。なお、横結合部１０５、集計部１０６、グループ化部１０７を総称して本発明における集約部とも呼ぶ。
【００２４】
検索部１０８は、所定の検索条件に基づいて表形式データからレコードを抽出する。外部連携部１０９は、本実施形態に係る処理を行うプログラム以外のアプリケーションプログラムを起動させる。バッチ処理部１１０は、制御部１０３が定義したジョブを１つ以上用いて、ジョブを順に実行する処理であるバッチ処理を定義する。なお、バッチ処理の定義に基づいて、所定の日時に所定のジョブが所定の順序で起動される。なお、機能の詳細については、後述する。
【００２５】
＜装置構成＞
図２は、コンピュータの一例を示す装置構成図である。表形式データ処理装置１は、図２に示すようなコンピュータである。図２に示すコンピュータ１０００は、ＣＰＵ（Central Processing Unit）１００１、主記憶装置１００２、補助記憶装置１００３、通信Ｉ
Ｆ（Interface）１００４、入出力ＩＦ（Interface）１００５、ドライブ装置１００６、通信バス１００７を備えている。ＣＰＵ１００１は、プログラム（「ソフトウェア」又は「アプリケーション」とも呼ぶ）を実行することにより本実施の形態に係る処理を行う。主記憶装置１００２は、ＣＰＵ１００１が読み出したプログラムやデータをキャッシュしたり、ＣＰＵの作業領域を展開したりする。主記憶装置は、具体的には、ＲＡＭ（Random
Access Memory）やＲＯＭ（Read Only Memory）等である。補助記憶装置１００３は、ＣＰＵ１００１により実行されるプログラムや、本実施の形態で用いる設定情報などを記憶する。補助記憶装置１００３は、具体的には、ＨＤＤ（Hard-disk Drive）やＳＳＤ（Solid State Drive）、フラッシュメモリ等である。主記憶装置１００２や補助記憶装置１００３は、表形式データ処理装置１のデータ記憶部１０１として働く。通信ＩＦ１００４は、他のコンピュータとの間でデータを送受信する。通信ＩＦ１００４は、具体的には、有線又は無線のネットワークカード等である。表形式データ処理装置１は、通信ＩＦ１００４を介してネットワークに接続されていてもよい。入出力ＩＦ１００５は、入出力装置と接続され、ユーザから操作を受け付けたり、ユーザへ情報を提示したりする。入出力装置は、具体的には、キーボード、マウス、ディスプレイ、タッチパネル等である。ドライブ装置１００６は、磁気ディスク、光磁気ディスク、光ディスク等の記憶媒体に記録されたデータを読み出したり、記憶媒体にデータを書き込んだりする。そして、以上のような構成要素が、通信バス１００７で接続されている。なお、これらの構成要素はそれぞれ複数設けられていてもよいし、一部の構成要素（例えば、通信ＩＦ１００４、ドライブ装置１００６等）を設けないようにしてもよい。また、入出力装置がコンピュータと一体に構成されていてもよい。また、ドライブ装置１００６で読み取り可能な可搬性の記憶媒体や、フラッシュメモリのような可搬性の補助記憶装置１００３、通信ＩＦ１００４などを介して、本実施の形態で実行されるプログラムが提供されるようにしてもよい。そして、ＣＰＵ１００１がプログラムを実行することにより、図２に示したコンピュータを図１に示した表形式データ処理装置１として働かせる。
【００２６】
＜機能の詳細＞
次に、表形式データ処理装置１の機能について説明する。図３は、本実施形態に係るジョブの概略図である。表形式データ処理装置１は、フォーマット（すなわち、列や列の名称といった表形式データの構成）の異なる複数の表形式データから、指定した条件のデータを抽出し、縦横自在に結合を行うことができる。また、横方向の結合をする際、データクレンジングを行うことにより、結果の精度を上げることができる。結合処理の他、集計や検索等も行うことができ、設定したスケジュールでこれらの処理を連携させて実行することもできる。なお、作成する表形式データは新たなファイルとして出力し、入力された
表形式データは更新しない方が、例えばユーザが試行錯誤しつつ処理を繰り返す上では好ましい。これらの機能の設定は、例えばＸＭＬ形式で保存することができる。
【００２７】
＜縦結合＞
縦結合とは、例えばデータフォーマットの異なる複数の表形式データ（入力データ）に含まれるレコードを統合し、新たな表形式データ（出力データ）を生成する処理である。図４及び図５は、縦結合処理の入力データの一例である。図４は、「社員交通費清算.csv」というファイル名の表形式データであり、８件のレコードを含んでいる。図５は、「営業経費.csv」というファイル名の表形式データであり、８件のレコードを含んでいる。図４及び図５の列名及び順序は異なっているが、２つの表形式データは内容的に対応する項目を一部に含んでいる。また、図６は、縦結合処理の出力データの一例である。図６の表形式データは、図４の８件及び図５の８件に対応するレコードを含んでいる。すなわち、縦結合部１０４は、入力データに含まれるレコードを縦方向に結合（積み重ね）する。さらに、図６においては、所定の列同士が対応付けられている。また、図４における列「名前」は、図５における列「lastName」及び列「FirstName」の結合と対応付けられている
。なお、入力される表形式データは複数でなく１つであってもよい。この場合、出力される表形式データの列名を変更することはできるが、データレコードの要素は入力データと変わらない。なお、縦結合処理は、縦結合部１０４によって実行される。
【００２８】
図７は、縦結合の設定画面（縦結合列編集画面）の一例を示す図である。図７のテーブルは、「ＣＳＶファイル名」の列と、各ＣＳＶファイルに含まれる列の対応付けを示す列（「番号」、「日付」、「名前」・・・）とを含んでいる。図７の上段に表示されている列の名称（「番号」、「日付」、「名前」・・・）は、出力ファイルの列名を表している。すなわち、図７において同一の列に表示されている各ＣＳＶファイルの列は、出力ファイルにおいて対応付けられている。なお、出力ファイルの列名は、ユーザが変更することができる。また、図７に示す列の順序は、出力ファイルにおける列の順序を表している。「名前」の列のように、一方のＣＳＶファイルにおける複数の列の結合を、他方のＣＳＶファイルにおける１つの列に対応付けることもできる。また、他方のＣＳＶファイルのいずれの列とも対応付けられない列が存在してもよく、入力ファイルの少なくとも一部の列は出力ファイルに出力されなくてもよい。また、３つ以上のＣＳＶファイルを対応付けることも可能である。
【００２９】
また、図７に示した縦結合列編集画面において「ベースファイル選択」ボタンが押下されると、図８に示すような縦結合ベースファイル選択画面が表示される。図８の画面では、「ＣＳＶファイル名」の列に、読み出されたＣＳＶファイルの名称が表示される。また、「データサイズ」の列には、ＣＳＶファイルのファイルサイズが表示される。「日付」の列には、ＣＳＶファイルの更新日が表示される。「選択」の列のチェックボックスには、縦結合の基準とするＣＳＶファイルにユーザがチェックを入れる。本実施形態では、基準とするＣＳＶファイルの属性名を用いて所定の優先順位に従い、出力データの属性名を設定するものとする。
【００３０】
また、図７の画面において「編集」ボタンが押下されると、操作メニューが表示される。操作メニューは、「編集」、「削除」、「右側に移動」、「左側に移動」、「右側に属性を追加」、「左側に属性を追加」、「キャンセル」といったメニューを含む。ユーザが「編集」を選択すると、図９に示すような表示属性抽出設定画面が表示される。表示属性抽出設定画面については、後述する。「削除」を選択すると、当該列が削除される。「右側に移動」を選択すると、当該列が右隣りと入れ替わる。「左側に移動」を選択すると、当該列が左隣りと入れ替わる。「右側に属性を追加」を選択すると、当該列の右側に新たな列が１つ追加される。「キャンセル」を選択すると、メニューの選択が中止される。
【００３１】
また、縦結合列編集画面では、設定の状態に応じてフィールドの色が変更されるようにしてもよい。例えば、薄紫色は、新しい属性名と同一であり、表示属性抽出設定画面で個別に属性指定をしていない状態を示す。また、クリーム色は、表示属性抽出設定画面で個別に属性指定を行った状態を示す。さらに、オレンジ色は、表示属性抽出設定画面でＣＳＶファイル選択を解除した状態を示す。そして、白色は、表示属性抽出設定画面で新しい属性名と一致する属性名がＣＳＶファイル中に存在しない状態を示す。なお、プロセス復元をした場合は、新規プロセス作成時に薄紫色であったパネルは、クリーム色となる。
【００３２】
また、図７の操作メニューから「編集」が選択された場合、図９に示すような表示属性抽出設定画面が表示される。図９の画面は、「新しい属性名」のテキストボックス、「ＣＳＶファイル名」の欄、「ＣＳＶファイルの属性名」のチェックボックス、「ＣＳＶファイルの内容」の行、設定を保存する「設定」ボタンが含まれている。「新しい属性名」のテキストボックスには、属性名が表示される。新しい属性名は、ユーザが修正できる。「ＣＳＶファイル名」の欄には、ＣＳＶファイル名が表示される。「ＣＳＶファイルの属性名」のチェックボックスは、個別に属性の関連付けを行う場合にユーザがチェックする。なお、例えば、「都道府県」及び「市区町村」の２つの属性を結合して１つの属性としたい場合、「都道府県」と「市区町村」とにチェックをする。「ＣＳＶファイルの内容」の行には、ＣＳＶファイルのデータレコードの１行目が表示される。表示属性抽出設定画面には、以上のような情報が、ＣＳＶファイルの数だけ表示される。また、縦結合の設定として、列同士の対応付け等、図７から図９を用いてユーザが設定した内容がデータ記憶部１０１に記憶される。
【００３３】
＜横結合＞
横結合とは、所定の列に含まれる要素の集合に基づいてレコードを統合（集約とも呼ぶ）し、新たな表形式データを生成する処理である。具体的には、例えば縦結合等で得られた１つの表形式データを処理対象として、ユーザが指定したキー属性の値に基づきレコードを横方向に結合する。後述するデータクレンジング機能を用いることで、住所や名前といった要素の集合を特定する際に、表記の揺れを吸収して処理を行うことが可能である。また、データ欠損、重複データの確認、データ品質のチェック等を行うこともできる。
【００３４】
図１０は、横結合の処理対象となる表形式データ（入力データ）の一例である。図１０は、図１１及び図１２に示すような表形式データを用いて縦結合処理したものである。図１０では、図１１の「会社名」及び図１２の「会社」という項目が１つの列に揃えられている。その他の項目は、対応付けされておらず、図１０の一部のフィールドは空になっている。横結合では、キー属性の値が同一である複数のレコードを１レコードにまとめ（「名寄せ」とも呼ぶ）、キー以外の属性については複数のレコードに含まれていた値を１つのフィールドにデリミター又は改行で区切って列挙するようにしてもよい。この場合、１つのフィールド内に同一の値が複数存在するときは、重複を除くようにしてもよいし、重複を除かないようにしてもよい。また、横結合では、いわゆるマスタデータにあたる表形式データを用いて、他の表形式データに存在しない項目のフィールドを補完（「自動補完」とも呼ぶ）するようにしてもよい。図１０の属性「会社」をキー属性として、キー属性の値が同一（完全一致）のレコードを１行にまとめると、図１３のようになる。図１３の例では、キー属性の値が同一のレコードを基準として、図１２にない「社員数」の列を、いわゆるマスタデータである図１１の要素で補完している。なお、補完の処理は、縦結合を行う際、補完元となる属性を左側に配置しておくものとし、表型データ上の優先レコード（マスタデータ）を判別する。また、マスタデータがキー属性で一意に特定される場合に、優先レコードの内容から補完を実行可能とする。最後に、優先レコードは削除される。なお、横結合のキー属性は、標準化（データクレンジング）を行うようにしてもよい。例えば、値に含まれる法人名が「株式会社」、「（株）」、「カ）」等である場合に、同一として扱うことができる。また、「完全一致」の他、「前方一致」、「後方一致」、「
中間一致」等の場合に同一であると判断するようにしてもよい。
【００３５】
図１４及び図１５は、横結合の設定を行う画面の一例を示す図である。図１４の画面（横結合画面とも呼ぶ）は、「属性一覧」と、「キー属性」と、「重複する値の処理」と、「値の間の接続因子」とを指定するための領域を含む。「属性一覧」の領域には、入力ファイルである表形式データに含まれる属性の一覧が表示される。表示されている属性のパネルを「キー属性」の領域へドラッグアンドドロップすることにより、ユーザは「キー属性」を指定できる。なお、キー属性の領域に複数のキー属性が表示されている場合、ユーザはパネルをドラッグしてキー属性の順序を入れ替えることもできる。
【００３６】
また、キー属性の指定の詳細は、図１５のような画面（横結合キー設定画面とも呼ぶ）を介して行う。図１５の画面は、「名寄せ判断」と、「データクレンジング処理」とを指定するための領域を含む。「名寄せ判断」は、「完全一致」、「中間一致」、「前方一致」又は「後方一致」から、ユーザがいずれかをクリックすることで選択される。ここで、キー属性を複数指定する場合、各パネルの名寄せ判断の設定に関わらず、「完全一致」として動作するものとする。また、データクレンジングを行う場合は、ユーザは「標準化（データクレンジング）をする」のチェックボックスにチェックし、プルダウンメニューからデータクレンジングの種類を選択する。図１５の例では、「法人名」が選択されている。
【００３７】
また、図１４に示すように、ユーザは「重複する場合の処理」について、「１行にまとめ且つ重複を除く」、「１行にまとめ且つ重複を除かない」、「１行にまとめず頻度でソートする」、「１行にまとめず自動補完する」のいずれかをクリックして選択できる。さらに、１行にまとめる場合は、「値の間の接続因子」について、キー属性以外の属性について１つのフィールドにまとめられる複数の要素を区切る記号を選択する。選択肢としては、「カンマ」、「スラッシュ」、「改行」及び「スペース」がある。図１４及び図１５を用いて説明したような項目が、横結合処理の設定情報としてデータ記憶部１０１に記憶される。なお、図１４や図１５の設定画面において、パネルの色が設定の状態を表すようにしてもよい。例えば、水色は、未設定の状態を表す。また、紫色は、横結合キー設定画面において設定済の状態を表す。また、横結合の設定として、図１４及び図１５の画面を介してユーザが指定した内容が、データ記憶部１０１に記憶される。
【００３８】
ここで、図１６から図２５を用いて、「重複する値の処理」及び「値の間の接続因子」別の出力例を説明する。例えば、図１６に示すような社員の交通費清算のデータを入力データとし、「血液型」をキー属性として横結合するものとする。重複を除き且つ値の間の接続因子をカンマとする出力例は、図１７のようになる。同様に、重複を除き且つ接続因子をスラッシュとする出力例は、図１８のようになる。また、重複を除き且つ接続因子を改行とする出力例は、図１９のようになる。重複を除き且つ接続因子をスペースとする出力例は、図２０のようになる。また、重複を除かず且つ接続因子をカンマとする出力例は、図２１のようになる。同様に、重複を除かず且つ接続因子をスラッシュとする出力例は、図２２のようになる。また、重複を除かず且つ接続因子を改行とする出力例は、図２３のようになる。そして、重複を除かず且つ接続因子をスペースとする出力例は、図２４のようになる。さらに、１行にまとめず且つ頻度ソートを行う場合の出力例は、図２５のようになる。
【００３９】
＜クレンジング及びユーザ定義辞書＞
横結合や後述する集計、グループ化において、標準化（データクレンジング）を行うことができる。標準化は、揺れのある表記に対して名寄せを行う。例えば、「名寄せ判断」が「完全一致」を選択した場合に指定する。データクレンジングの方法として、電話番号、郵便番号、日付、法人名、数値、和文解析、英文解析、氏名、住所、ユーザ辞書のいず
れかを選択することができる。
【００４０】
電話番号は、「03-1234-5678」、「03(1234)5678」、「0312345678」といった表記の違いを同一であるものとして扱う。郵便番号は「〒273-0039」、「273-0039」、「2730039
」といった表記の違いを同一であるものとして扱う。日付は、GGGGyyMMdd（平成250110,H250110）、yyMMdd（130110）、yyyyMMdd（20130110）、GGGGyy年MM月dd日（平成25年01月10日,H25年01月10日）、yyyy年MM月dd日（2013年01月10日）、GGGGyy/MM/dd（平成25/01/10,H25/01/10）、yy/MM/dd（13/01/10）、yyyy/MM/dd（2013/01/10,2013/1/10 9:06:39）、yy-MM-dd（13-01-10）、GGGGyy-MM-dd（平成25-01-10,H25-01-10）、yyyy-MM-dd（2013-01-10）、yy年MM月dd日（13年01月10日）といった表記の違いを同一であるものとして扱う。法人名は、（株）、機種依存文字によるマーク及び株式会社、（有）、機種依存文字によるマーク及び有限会社、（医）及び医療法人、（社）及び社団法人、（財）及び財団法人、（合）及び合資会社、（宗）及び宗教法人、（学）及び学校法人、（相）及び相互会社、（資）及び合資会社、（名）及び合名会社、（独）及び独立行政法人、（特）及び特別認可法人、（福）及び福祉法人、並びに一般、公益、協議会及び連合会の有無といった表記の違いを同一であるものとして扱う。数値は、\12,300、12300、12,300、壱万弐千参百、一万二千三百といった表記の違いを同一であるものとして扱う。和文解析は、「△△太郎です」、「△△  太郎」、「あいう△△太郎」といった文を解析して名前等を抽出する。英文解析は、SankakuTaro、Sankaku Taro、sankaku taroといった英文における標
記の違いを同一であるものとして扱う。氏名は、齋藤たろう、齊藤たろう、斉藤たろう、斎藤たろうといった感じの異体字を同一であるものとして扱う。住所は、「千葉県船橋市印外○丁目□番×号△△△ハイツB-567号室」、「船橋市印外○-□-×-567」、「千葉県
船橋市印外○-□-×-567」、「千葉県船橋市印外○丁目□番×号B-567号室」、「千葉県
船橋市印外○丁目□番×号567号室」といった表記の違いを同一であるものとして扱う。
【００４１】
ユーザ辞書は、ユーザが定義する辞書ファイルに表記のゆれや同義語をあらかじめ設定して用いる。表記のゆれや同義語をあらかじめ設定することにより、あいまいな値を正規化して扱うことができる。また、一括して文字を置換するための辞書（一括文字置換辞書）も選択できる。ユーザ辞書は、間柄（親子間関係）と同義語による名寄せを行う辞書である。正規表現ユーザ辞書は、正規表現による名寄せを行うための辞書である。置換用ユーザ辞書は、登録した内容をもとに、文字置換を一括で行うための辞書である。名寄せ関連の辞書は、例えば、順位１：間柄と同義語、順位２：正規表現のような優先順位をつけて適用される。
【００４２】
ユーザ辞書は、例えば図２６のように、テキストエディタなどで内容を編集できるものとする。図２６は、間柄と同義語のユーザ辞書の記載例である。図２６では、語句を模式的にアルファベットで示している。間柄（親子間関係）の入力は、例えば、語句を半角スラッシュ「/」で区切って入力する。スラッシュの左側に親の語句、スラッシュの右側に
子の語句を入力する。同義語の入力は、例えば、語句を半角カンマ「,」で区切って入力
する。また、先頭に「#」を付した行は、コメントとして扱い、処理には用いない。
【００４３】
図２７に、図２６のユーザ辞書を図化した語句の関係の一例を示す。なお、図２７における円形で囲われたアルファベットは、１つの語句を表している。例えば、「Ｃ」「Ｄ」「Ｐ」は同義語、「Ｃ」は親「Ａ」と、「Ｐ」は親「Ｏ」と間柄（親子間関係）である。なお、間柄と同義語は、自動的に連携するものとする。具体的には、図２６において「Ｋ」は直接的には「Ｉ」との親子間関係が定義されているのみである。自動的に連携することにより、最上位概念を取得する場合、「Ｋ」を指定すると、「Ｋ」−「Ｉ」−「Ｈ」−「Ｇ」−「Ｑ」−「Ｏ」の順に辿り、最上位の語句「Ｏ」を取得することができる。また、「Ｃ」及び「Ｐ」のように複数の同義語が別々の親と紐付いている場合、同義語「Ｃ」「Ｄ」「Ｐ」は自然順序で並べ替えられ、一番近い親と紐付く。自然順序とは、例えば、
文字であればアルファベット順、数値であれば値の小さい順である。なお、図２６のようなユーザ辞書において、同義語のうち一番左に定義されている語句に紐づけるようにしてもよい。図２６のようなユーザ辞書が設定されている場合、図２７の語句「Ｄ」は、同義語「Ｃ」と紐づけられる。さらに、語句「Ｃ」は、親「Ａ」と紐づけられる。また、ある語句の下位概念を取得する場合、例えば当該語句の下位に接続されたすべての子及びそれらの同義語を取得するものとする。具体的には、「Ｈ」を指定すると「Ｉ」、「Ｋ」、「Ｊ」、「Ｍ」、「Ｌ」を取得できる。このように、各語句は、最上位の親、もしくは所定の優先順位に基づく同義語、又は下位に接続されたすべての子及びそれらの同義語と紐づけられるものとする。
【００４４】
本実施形態では、例えば、間柄として組織内の部署の構成を定義することで、部署ごとに名寄せや後述する集計を行うことができる。また、間柄として、製品を構成する部品を階層的に定義することで、製品の構成要素ごとに名寄せや集計を行うこともできる。新旧製品についてこのような集計結果の結果を比較することで、新旧製品の部品の互換性をチェックすることもできる。なお、同義語とは、同一概念（同概念）の関係を意味する。また、間柄とは、上位概念及び下位概念の関係を意味する。本実施の形態では、ユーザが設定した辞書に基づいて自由度の高い名寄せ等を行うことができるようになる。
【００４５】
また、図２８は、正規表現のユーザ辞書の入力例である。「.?」は、０又は１個の文字の存在を示す。よって、「パ.?ツ」には、「パーツ」、「パ−ツ」、「パツ」等が該当する。なお、「パーーツ」は該当しない。「.*」は、０個以上の文字の存在を示す。よって、「.*前田.*」には、「あいう前田」、「前田」、「前田か」等が該当する。一般的な正規表現が使用できるものとし、上記以外の表現については説明を省略する。
【００４６】
また、図２９は、置換のユーザ辞書の入力例である。図２９の例では、語句を「/」で
区切って入力している。「/」の左側の語句は、置換後の語句を表し、「/」の右側の語句は、置換元の語句を表す。なお、置換基の語句は、「,」で複数入力できる。図２９のよ
うなユーザ辞書を利用すると、「ＪＡＰＡＮ」という語句は、「ＪＸＰＸＰ」に置換される。
【００４７】
＜集計＞
集計とは、１つの表形式データを処理対象として、キー属性を含む所定の条件に基づいて値群を要約統計量値として出力する機能である。集計処理後は、キー属性の値が設定した条件を満たすレコードごとに集計属性が集計（すなわち、集約）される。また、求められた値又は元の値群に対して四則演算を行い、さらに所定の条件に基づく計算結果を出力することもできる。また、関数を用いてデータの加工を行うこともできる。さらに、数値の集計以外に、条件に該当するデータを計数（カウント）したり、条件に該当するデータに印をつけることもできる。
【００４８】
例えば、図６に示した縦結合処理の出力データが、集計処理の入力データであるものとする。また、図３０は、集計処理の出力データの一例である。図６の「駅名」及び「日付」をキー属性として、「値」、「給与」をそれぞれ合算し、集計の対象となったレコード数（該当数）、所定の条件式を満たすか否かによるフラグ（問題）を年月ごとに集計すると、図３０のようになる。
【００４９】
また、図３１から図３７は、集計処理の設定をするための画面の一例を示す図である。図３１の集計の設定画面（集計画面）は、「属性一覧」、「新規属性」、「キー属性」、「集計属性」を設定するための領域を含む。「属性一覧」の領域には、入力データに含まれる属性の一覧が表示される。「新規属性」の領域には、入力データにない項目を設定する場合にユーザがドラッグする「新規」パネルが表示される。「キー属性」の領域は、キ
ー属性として用いる属性を表すパネルをユーザがドラッグアンドドロップするための領域であり、設定されているキー属性が表示される。なお、キー属性に設定されたパネルは並べ替え可能としてもよい。また、キー属性の設定後はパネルが二段表示となり、上段には属性名が表示され、下段には、後述する集計キー設定画面の集計方法の内容が表示される。「集計属性」の領域は、集計の対象となる属性を表すパネルをユーザがドラッグアンドドロップするための領域であり、設定されている集計属性が表示されている。ユーザは、「集計属性」の領域に「新規」パネルをドラッグアンドドロップすることにより、集計属性に新規属性を追加することができる。新規属性とは、レコード数、算術演算の結果、条件判定の結果、所定の関数処理の結果等、新たな属性として追加したものである。なお、先（集計属性領域の上方）に設定されている新規属性を用いて、後（集計属性領域の下方）の新規属性を定義することもできる。
【００５０】
図３２は、キー属性を設定するための画面（集計キー設定画面）の一例である。なお、図３２の画面は、ユーザが選択したキー属性について、集計方法を選択するための領域を含む。集計方法としては、「完全一致」、「ユーザ辞書」、「年別」、「月別」、「日別」、「週別・年単位」「週別・月単位」及び「曜日別」の選択肢が示されており、ユーザはいずれかをクリックすることで選択できる。なお、「年別」から「曜日別」は、値が日付の場合に有効となる。
【００５１】
図３３は、集計属性を設定するための画面（集計属性設定画面）の一例である。図３３の画面は、ユーザが選択した集計属性について、文字集計の種類又は数値集計の種類を選択するための領域を含む。文字集計の種類には、「結合」及び「頻度」がある。結合は、値をカンマ区切りで出力する機能である。頻度は、値の出現回数をカッコ内に出力する機能である。数値集計の種類には、「合計」、「平均」、「最大」、「最小」、「中央値」、「最頻値」、「分散」及び「標準偏差」がある。合計は、全ての数値を足し合わせた値を算出する機能である。平均は、合計の算術平均を算出する機能である。最大は、最大値を特定する機能である。最小は、最小値を特定する機能である。中央値は、有限個のデータを大きさの順に並べたとき中央に位置する値を特定する機能である。最頻値は、標本群で最も頻繁に出現する値を特定する。分散は、標本分散を算出する。標準偏差は、標本標準偏差を算出する。ユーザはいずれかをクリックすることにより、集計の種類を選択することができる。なお、集計属性には、「新規」パネルを登録することもできる。
【００５２】
図３４は、集計属性として新規属性を設定するための画面（集計追加属性画面）の一例である。すなわち、図３４の画面は、図３１の画面において集計属性に追加された新規属性の設定をする際に表示される。図３４の画面は、新規属性の名称を入力するための領域と、新規属性の種類を選択するための領域とを含む。新規属性の名称には、ユーザが文字列を入力する。そして、入力された文字列が、出力データの属性名に設定される。新規属性の種類には、「カウント」、「計算」、「条件」及び「関数処理」の選択肢がある。カウントは、キー属性画面で指定した属性の個数を出力する機能である。すなわち、「カウント」が選択された場合、図３２の「集計キー設定」画面で設定された条件を満たすレコード群に含まれるレコード数を計数し、当該新規項目の値とする。計算は、計算結果を出力する機能であり、後述する計算画面で詳細を設定する。条件は、設定された判定条件の判定結果を出力する機能であり、後述する条件画面で詳細を設定する。関数処理は、設定した関数処理の結果を出力する機能であり、後述する関数処理画面で詳細を設定する。なお、図３４の設定画面において、パネルの色が設定の状態を表すようにしてもよい。例えば、水色は、未設定の状態を表す。また、紫色は、横結合キー設定画面において設定済の状態を表す。黄色は、新規属性が未設定の状態を示す。
【００５３】
図３５は、「計算」の設定をするための画面（計算画面）の一例である。図３５の画面は、集計属性の一覧を表示する領域と、四則演算の設定をするためのテンキー領域とを含
む。ユーザはこれらを組み合わせて、当該新規属性の値を算出するための計算式を定義することができる。集計属性には、集計画面集計属性名が表示される。ここでは、設定済みの属性（紫色のパネル）が表示される。また、自パネルより前の新規属性も表示され、計算に用いることができる。演算式の値には、計算式用の数値や演算子を選択する。入力は、集計属性のパネルから選択したり、テンキー領域からドラッグアンドドロップしたりすることにより行う。また、確認用計算式には、計算式の値がテキスト表示される。なお、計算式に誤りがある場合、赤字等で強調表示するようにしてもよい。
【００５４】
また、図３６は、「条件」の設定をするための画面（条件画面）の一例である。図３６の画面は、集計属性の一覧を表示する領域と、条件式を設定するための領域と、条件に合致する場合に当該新規属性に表示する値及び条件に合致しない場合に当該新規属性に表示する値を入力する領域とを含む。ユーザは、任意の集計属性が所定の条件を満たすか否かを判定するための条件式を設定することができる。条件式は、ＡＮＤ（論理積）又はＯＲ（論理和）で複数接続することもできる。集計属性には、集計画面 の集計属性名が表示
される。ここでは、設定済みの属性（紫色のパネル）が表示される。また、新規属性は、自パネルより前の属性が表示される。条件式を設定するための領域には、集計時の条件式を入力する。属性には、条件のもととなる集計属性を選択する。値には、条件の値を入力する。区分には、判定条件を１つ選択する。選択肢として、「一致する」、「を含む」、「以上」、「以下」、「大なり」、「小なり」、「一致しない」、「含まない」、「正規表現」が選択できる。また、「ＡＮＤ」ボタンが押下されると、新たなＡＮＤ条件式の行が追加される。「ＯＲ」ボタンが押下されると、新たなＯＲ条件式の行が追加される。条件に合致の欄には、条件式に合致した値の行に出力する値を、入力又は集計属性から選択する。条件に合致しないの欄には、条件式に合致しない値の行に出力する値を入力または、集計属性から選択する。
【００５５】
図３７は、「関数処理」を設定するための画面（関数処理画面）の一例である。図３７の画面は、「集計属性」の一覧を表示する領域と、「対象属性」を指定するための領域と、「データ処理関数名」を選択するための領域とを含む。ユーザは、集計属性のパネルを対象属性を設定するための領域にドラッグアンドドロップすることができる。また、ユーザがデータ処理関数名を選択すると、選択されたデータ処理関数名に応じて引数を入力するための領域が表示される。集計属性には、集計画面の集計属性名が表示される。ここでは、設定済みの属性（紫色のパネル）が表示される。また、新規属性は、自パネルより前の属性が表示される。対象属性には、関数処理を行う属性を指定する。データ処理関数名には、関数の分類を選択する。図３１から図３７を用いて説明したような項目が、集計処理の設定情報としてデータ記憶部１０１に記憶される。
【００５６】
選択肢として、次のような関数がある。「alphabetic」は、アルファベットの文字（A-Zとa-z）のみ抽出する関数である。「left」は、左端から指定された文字数分の文字を取得する関数である。「lefta」は、左端から検索文字を検索し、その文字までの文字を取
得する関数である。「leftb」は、左端か検索文字を検索し、その位置までの文字を取得
する関数である。「length」は、文字の長さを取得する関数である。「lower」は、英字
の大文字を小文字にする関数である。「middle」は、左から指定された位置と文字数を取得する関数である。「multibytechar」は、マルチバイト文字のみ抽出する関数である。
「number」は、文字列のうち1文字ずつ判定し数値のみ抽出する関数である。「repeat」
は、指定された属性の値(数値)から指定された文字を繰り返して登録する関数である「replace」は、指定された文字を置換する関数である。「replacedic」は、置換辞書の内容
をもとに指定された文字を置換する関数である。「right」は、右端から指定された文字
を取得する関数である。「righta」は、右端から検索文字を検索し、その文字までの文字を取得する関数である。「rightb」は、右端から検索文字検索し、その位置までの文字を取得する関数である。「substitute」は、左から指定された位置と文字数を置換する関数
である。「normalizeaddress」は、あいまいな住所を標準化する関数である。「normalizecompany」は、会社名を標準化する関数である。「normalizedate」は、日付をスラッシ
ュ(/)で区切る関数である。「normalizedateISO」は、日付を正規化する関数である。「jnounphrase」は、文章から一般的な名詞のみを抽出する関数である。「normalizename」
は、名前を正規化する関数である。「normalizenumber」は、漢数字（旧漢字も含みます
）を含めた数字を標準化する関数である。「normalizepostcode」は、郵便番号を標準化
する関数である。「municipalities」は、住所から市区町村名を取得する関数である。「postaddress」は、郵便番号から住所を取得する関数である。「prefectures」は、住所から都道府県名を取得する関数である。なお、本実施形態において、集計結果出力時の属性名は、『属性名』＋『_（アンダーバー）』＋『下記表の「集計結果の属性名」』とする
。
【００５７】
＜グループ化＞
グループ化とは、表型データを任意の形で分類し集計する機能である。具体的には、所定の列の要素に基づいてレコードを分類して集計（いわゆる「クロス集計」）する機能である。グループ化部１０７は、ユーザが設定したキー属性とグループ化属性に基づいて、集計を行う。キーとなる列の要素には、後述するデータクレンジング機能を用いることができる。
【００５８】
図３８は、グループ化処理の入力データの一例である。また、図３９は、グループ化処理の出力データの一例である。図３８のような表形式データのうち、「機器名」及び「シリアル番号」をキー属性に設定し、「データ取得日」をグループ属性に設定し、「出力枚数」を値に設定すると、キー属性が同一のレコードごとに、且つデータ取得日ごとにグループ化され、出力枚数の値が集計される。
【００５９】
また、図４０は、グループ化処理の設定をするための画面（グループ化画面）の一例である。図４０は、「属性一覧」を表示するための領域と、キー属性を設定するための領域と、グループ属性を設定末ための領域と、値の設定をするための領域と、数値集計をするための領域とを含む。属性一覧には、属性名が表示される。キー属性には、グループ化する際のキー属性を指定する。なお、パネルは並べ替え可能である。また、設定後は二段表示となり、上段には属性名が表示され、下段にはグループ化キー設定画面の名寄せ判断及びデータクレンジング処理の内容が表示される。図４０を用いて説明したような項目が、グループ化処理の設定情報としてデータ記憶部１０１に記憶される。
【００６０】
＜グループ化解除＞
グループ化解除とは、指定したキー列に従い、統合的なデータをレコードに分割する機能である。このとき、要素の名称を値として用いることができる。また、ユーザが指定したキー属性とグループ化解除属性とに従ってレコードを分割する。
【００６１】
図３８に示したデータが、グループ化解除処理の入力データであるものとする。また、図４１は、グループ化解除処理の出力データの一例である。図３８のような表形式データのうち、「データ取得日」をキー属性に設定し、「機器名」及び「シリアル番号」をグループ化解除属性に設定すると、図４１のように、グループ化解除属性の属性名を値とするレコードに分割される。
【００６２】
図４２は、グループ化解除処理の設定をするための画面（グループ化キー設定画面）の一例である。図４２は、「属性一覧」を表示するための領域と、「キー属性」を設定するための領域と、「グループ化解除属性」を設定するための領域とを含む。属性一覧には、属性名が表示される。キー属性には、グループ化解除する際のキー属性を指定する。なお、パネルは並べ替え可能である。グループ化解除属性には、グループ化解除する際の属性
を指定する。全移動が指定されると、属性一覧のパネルをグループ化解除属性に全て移動する。本実施形態において、グループ化解除結果出力時の属性名は、キー属性の属性名、「sub」、「value」とする。図４２を用いて説明したような項目が、グループ化解除処理の設定情報としてデータ記憶部１０１に記憶される。
【００６３】
＜ナンバリング＞
ナンバリングとは、レコードに連続番号（「連番」とも呼ぶ）を振るための属性を追加する機能である。複数のファイルを結合した場合であっても、レコードを一意に特定できる連番を追加することができる。例えば、図３８の「Ｎｏ」のように連番を追加することができる。図４３は、ナンバリングを設定するための画面の一例である。図４３は、属性名を入力するための領域を含む。ユーザは、連番を振るための属性に任意の名称を付けることができる。
【００６４】
＜検索＞
検索とは、データフォーマットの異なる複数の表形式データや結合後の表形式データから、指定された検索条件にもとづいて、レコードを抽出する機能である。抽出されたレコードをソート（並べ替え）することも可能である。
【００６５】
図４４は、検索条件を設定するための画面の一例である。図４４の画面は、検索条件式を入力するための領域と、ソート条件を設定するための領域と、属性一覧を表示する領域と、検索条件式生成オプションの領域（検索キーワードの条件式への入力を支援するための領域及び検索範囲の条件式への入力を支援するための領域）とを含む。キーワード検索の条件には、論理積（ＡＮＤ）、論理和（ＯＲ）、否定（ＮＯＴ）を使用することができる。範囲検索の条件には、所定の属性に対し、「完全一致」、「中間一致」、「前方一致」、「後方一致」、「以上」、「以下」、「大なり」、「小なり」、「一致しない」、「含まない」が選択できる。また、ソート条件として、所定の属性に対し「昇順」又は「降順」が指定できる。
【００６６】
＜外部連携＞
外部連携とは、表形式データ処理装置が保持している他のプログラムを起動する機能である。例えば、本実施形態に係る処理によって出力されるデータを読み込んで用いる他のプログラムに、処理を引き継ぐことができる。プログラムファイルには、外部プログラムの絶対パスを入力する。起動オプションとして、コマンドラインオプションを入力できるようにしてもよい。また、起動後の待機時間（秒）を指定できるようにしてもよい。
【００６７】
＜ファイル操作＞
また、ＣＳＶファイルの削除、出力、分割を行うこともできる。ファイル分割とは、表形式データを所定の大きさに分割する機能である。例えば、入力される表形式データを物理的に分割することにより、入力データのサイズを小さくすることができ、本実施形態に係る処理を行う際のコンピュータの負荷を低減させることができる。
【００６８】
＜設定内容の保存・変更＞
設定内容の保存及び復元とは、１以上のプロセスの実行順序及び各プロセスを実行するための設定を定義した設定内容をＸＭＬファイルに保存する処理、並びに保存したファイルを開く処理である。本実施形態では、ＸＭＬファイルに保存される情報により、項目の構成が同一の表形式データに対して、上記のような処理を再度実行することができる。なお、ＸＭＬファイルを再実行情報とも呼ぶ。なお、保存したファイルを開き、定義されたプロセスを実行することができると共に、定義を修正することも可能である。本実施形態では、ＸＭＬファイルに保存される一連のプロセスをジョブとも呼ぶ。
【００６９】
また、復元時には、各プロセスの出力属性及び入力属性に不整合がないかチェックするようにしてもよい。例えば、ＣＳＶファイルの属性が増減していたり、属性名が変更されている場合には、不整合を検知して画面上で警告表示をするようにしてもよい。
【００７０】
＜ＸＭＬファイルの内容＞
図４５にＸＭＬファイルの内容の一例を示す。<Set>タグは、データセット項目であり
、タグ内には入力ＣＳＶファイルについて記述する。<Process>タグは、プロセスセット
項目であり、タグ内には実行する処理について記述する。具体的には検索、縦結合、横結合、集計を設定する。その他、データ宣言部を含んでいてもよい。以下、図４５において使用されていないタグも含め、ＸＭＬファイルで用いられる要素名及び属性名並びにその内容の一例を説明する。
【００７１】
<Search>タグは、検索項目であり、タグ内にはファイル内検索の条件を記述する。<OneColumnJoin>タグは、縦結合項目であり、タグ内には縦結合に関する設定を記述する。<FullColumnJoin>タグは、横結合項目であり、タグ内には横結合に関する設定を記述する。<Summarization>タグは、集計項目であり、タグ内には集計に関する設定を記述する。<Runtime>タグは、外部連携項目であり、タグ内には外部プログラムの起動について記述する
。<Numbering>タグは、ナンバリング項目であり、タグ内にはナンバリングに関する設定
を記述する。<Group>タグは、グループ化項目であり、タグ内にはグループ化に関する設
定を記述する。<Ungroup>タグは、グループ化解除項目であり、タグ内にはグループ化解
除に関する設定を記述する。<Out>タグは、データアウト項目であり、タグ内には出力Ｃ
ＳＶファイルについて記述する。<Comment>タグは、コメント項目であり、タグ内には、
コメント（文字列）を記載する。
【００７２】
Searchタグには、ＸＭＬ要素（エレメント）として、検索条件を示す論理式（Fml）が
記述される。ソートする場合には、ソート（Sort）要素に昇順（asc）又は降順（desc）
が記述される。
【００７３】
OneColumnJoinタグには、縦結合の設定を表す要素が記述される。ターゲット（Target
）は、データセットで指定したファイル内容である。フィールド（Field）は、出力する
属性の数だけ記述される。フィールド要素（Cell）には属性名が記述され、さらにファイル名（filename）属性（アトリビュート）に、フルパスのファイル名が記述される。結合（Unite）は、属性の連結が連結する属性の数だけ記述される。結合するセル要素（UCell）には、連結する属性名が記述され、さらにファイル名（filename）属性に、フルパスのファイル名が記述される。新しいフィールド（New）は、出力する属性内容が記述される
。フィールド（Field）は、ターゲット（Target）の数だけ記述される。フィールド要素
（Cell）には、データアウトの属性名が記述される。
【００７４】
次に、横結合に関連するタグについて説明する。横結合（FullColumnJoin）は、横結合を示すタグである。キー（Key）には、キー属性が記述され、さらに名寄せ判断（match）属性には、完全一致、前方一致、後方一致、中間一致のいずれかを示す識別情報が記述される。また、クレンジング（cleansing）属性には、使用しない、電話番号、郵便番号、
日付、法人名、数値、日本語解析、英字解析、氏名、住所、ユーザ辞書のいずれかが記述される。結合（Add）要素には、重複する値の処理（jointype）属性として、重複除外（
一行）、重複（一行）、頻度ソート、自動補完のいずれかを示す識別情報、及び値の間の接続因子（delimiter）属性として、改行、スラッシュ、カンマ、スペースのいずれかを
示す識別情報が記述される。
【００７５】
次に、集計する際の各要素について説明する。Summarizationは集計を示すタグである
。また、Keyは、キー要素を示し、キーの数だけ記述され、さらにaggregate属性には、名
寄せ判断を示し、完全一致、年別、月別、日別、週別（年単位）、週別（月単位）、曜日別、ユーザ辞書のいずれかを示す識別情報が記述される。Statistic要素は属性集計を示
し、出力する属性の数だけ記述される。さらに、flag属性はフラグであり、0-99までの数値で重複しない値が入力される。また、collect属性は集計内容を示し、結合、頻度、合
計、平均、中央値、最頻値、最大値、最小値、分散、標準偏差のいずれかを示す識別情報が設定される。また、StatisticNew要素は新規属性集計を示す。また、出力する属性の数だけ属性名が記述され、collect属性は、集計内容であり、カウント、計算、条件、分岐
（未使用）、ナンバリング（廃止）、関数処理のいずれかを示す識別情報が設定される。また、fml属性は集計式を示す。集計式の中の括弧において、角括弧内の数字は、フラグ
で設定した番号、波括弧内の数字は、新規属性集計の０から始まる登録順番を表す。集計式の記述は、集計内容が「計算」の場合、四則演算の式を記述する。集計内容が「条件」の場合、条件式を記述する。集計内容が「関数処理」の場合、関数を記述する。
【００７６】
Runtimeは、外部連携を示すタグである。File要素には、外部プログラムの絶対パスを
記述する。さらに、option属性には、コマンドラインオプションを記述する。Wait属性には、外部プログラム起動後の待ち時間をミリ秒単位で記述する。外部プログラムが終了するまで待機する設定値を設けてもよい。
【００７７】
Numberingは、ナンバリングを示すタグである。ＸＭＬ要素のうち、Fieldにはフィールド、Cellにはフィールド要素（属性名）を記述する。
【００７８】
Groupは、グループ化を示すタグである。Key要素は、キーを示す。さらに、match属性
には、名寄せ判断として、完全一致、前方一致、後方一致、中間一致のいずれかを示す識別情報が記述される。また、cleansing属性には、クレンジングの種類として、使用しな
い、電話番号、郵便番号、日付、法人名、数値、日本語解析、英字解析、氏名、住所、ユーザ辞書のいずれかを示す識別情報が記述される。GroupLabel要素には、グループ化属性を示す属性名を記述される。GroupData要素には、グループ化値を示す属性名を記述され
る。StatisticNew要素には、グループ化集計を示す属性名をグループ化値の数だけ記述される。さらに、collect属性には、グループ化内容として、結合、頻度、合計、平均、中
央値、最頻値、最大値、最小値、分散、標準偏差の何れかを示す識別情報を記述する。
【００７９】
Ungroupは、グループ化解除を示すタグである。Key要素には、キー属性を記述する。Field要素には、属性の数だけ記述される。Unite要素は結合を示し、セル要素が１つの場合は記述されない。UCell要素には、結合するセル要素であるグループ化解除属性名を記述
する。
【００８０】
Outは、データアウトを示すタグである。Saveには、出力するファイルパスを記述する
。codeには、文字コードを記述する。Deleteはファイル削除を示し、削除するフォルダ又はファイルパスを記述する。
【００８１】
Commentは、それぞれのエレメントにコメントを例えば文章として記述するタグである
。それぞれの前述のタグ内に処理内容及び担当者、日時などを記述しても良い。
【００８２】
本実施形態における処理を再実行するための情報は、様々な形式で記憶させておくことが可能である。ＸＭＬファイルは、インターネットブラウザやテキストエディタ等で表示することができ、ユーザにとって確認しやすいものとなる。なお、本実施形態に係るタグの規格は一例であり、設定項目を保持することができる範囲で様々な変更を加えることができる。また、機能の追加に応じてタグの種類を増やしてもよい。
【００８３】
＜バッチ処理＞
図４６に示すように、バッチ処理は、１以上のジョブを設定されたスケジュールで実行する処理である。図４６の例は、３つのＸＭＬファイルで定義された３つのジョブが連続して動作するバッチ処理を模式的に表している。なお、２以上のジョブによって出力される２以上のＣＳＶファイルを、後続の１つのジョブの入力ファイルとしてもよい。
【００８４】
図４７にバッチ処理の設定画面の一例を示す。バッチ処理では、作成したジョブ（ＸＭＬファイル）を、設定したスケジュール（曜日・時刻・期間）で起動する。図４７の画面は、バッチ処理フィールド、バッチ実行フィールド（スケジュールとオプション）から構成される。また、バッチ処理の設定を記憶させておき、本実施形態に係るプログラムの起動時に、設定されている内容を読み出す。また、複数のジョブを指定した場合、番号（Ｎｏ．）順に実行する。バッチ実行フィールドで指定する日時等は、表形式データ処理装置が備える時計機能を利用して判断される。開始時間には、バッチ実行開始時間を入力する。「バッチ開始」ボタンを押下すると、設定内容に従いバッチを実行する。また、「停止」ボタンを押下すると、実行中のバッチを停止する。スケジュールには、バッチを実行する曜日（日〜土）を指定する。開始日には、バッチ実行開始日を入力する。終了日には、バッチ実行終了日を入力する。メール送信をＯＮにすると、実行結果がエラーの場合に設定した宛先にメールで通知することができる。繰返しをＯＮにすると、繰返し実行とする。図４７を用いて説明した項目が、バッチ処理の設定情報としてデータ記憶部１０１に記憶される。
【００８５】
＜新規ジョブ実行処理＞
図４８は、新規ジョブ実行処理の一例を示す処理フロー図である。また、図４９は、１つのジョブに含まれるプロセス（処理）の流れを、矢印で接続されたアイコンでグラフィカルに表示するプロセスフィールド画面である。例えば、表形式データ処理装置１は、図４９のような画面を介して、ユーザからジョブの設定及び実行の要求を受ける。図４９の画面は、メニューバーと、ジョブ作成用のボタンと、ジョブに含まれるプロセスを表示するプロセスフィールドとを含む。図４９の例では、４つのファイルが縦結合されて１つの表に統合され、さらに横結合及びＣＳＶファイル出力を実行する一連のプロセスがプロセスフィールドに表示されている。なお、プロセスフィールドに表示される各プロセスやＣＳＶファイル操作のアイコンを、「エレメント」とも呼ぶ。
【００８６】
図４９の画面において、例えば、「ファイル」メニューから、ＸＭＬ形式で保存したファイルを開き、プロセスフィールドに復元することができる。また、メニューから時間起動の設定を行うバッチ処理画面を開くこともできる。さらに、メニューからキャッシュをクリアできるようにしてもよい。
【００８７】
また、図４９の画面は、各処理の設定を行うためのボタンを有している。各ボタンは、画面上の左から順に、入力ファイルをプロセスフィールドに追加し、ファイル設定画面を表示する「ファイル設定」ボタン、縦結合のエレメントをプロセスフィールドに追加し、設定画面を表示する「縦結合」ボタン、横結合のエレメントをプロセスフィールドに追加し、設定画面を表示する「横結合」ボタン、集計のエレメントをプロセスフィールドに追加し、設定画面を表示する「集計」ボタン、グループ化のエレメントをプロセスフィールドに追加し、設定画面を表示する「グループ化」ボタン、グループ化解除のエレメントをプロセスフィールドに追加し、設定画面を表示する「グループ化解除」ボタン、ナンバリングのエレメントをプロセスフィールドに追加し、設定画面を表示する「ナンバリング」ボタン、検索のエレメントをプロセスフィールドに追加し、設定画面を表示する「検索」ボタン、外部連携のエレメントをプロセスフィールドに追加し、設定画面を表示する「外部連携」ボタン、プロセス実行時に、指定したＣＳＶファイルを削除するエレメントをプロセスフィールドに追加し、設定画面を表示する「ＣＳＶファイル削除」ボタン、指定したＣＳＶファイルを出力するエレメントをプロセスフィールドに追加し、設定画面を表示
する「ＣＳＶファイル出力」ボタン、指定したＣＳＶファイルを分割するエレメントをプロセスフィールドに追加し、設定画面を表示する「ＣＳＶファイル分割」ボタン、作成したプロセスを実行する「実行」ボタン、復元するＸＭＬファイル選択画面を表示する「プロセス復元」ボタン、ＸＭＬファイル保存画面を表示する「プロセス保存」ボタン、操作結果イメージを別画面で表示する「イメージデータビューア」ボタン、プロセスフィールドの内容をリセットする「プロセスリセット」ボタンである。ユーザはこれらのボタンを押下することで、ジョブ（プロセスフィールド）にプロセスを追加したり、プロセスを実行したりすることができる。また、プロセスフィールド上でエレメントを右クリックすると、当該エレメントの処理設定をするための「編集」メニュー、当該エレメントをプロセスフィールドから削除するための「削除」メニュー等（コンテキストメニュー）が表示される。ここで、「編集」を選択した場合も、上で説明した各処理の設定画面が表示されるものとする。さらにエレメントはドラッグアンドドロップにより順序を変更することができる。また、エレメント間の入出力ファイルが整合しない場合は、エレメントの順序を変更できないようにするか、自動的にエレメント内部のデータの整合を取るような処理にしてもよい。
【００８８】
また、図４９のプロセスフィールド画面において、各エレメントが実行する処理の内容を表示するようにしてもよい。例えば、各エレメントの周囲に表示を追加してもよいし、各エレメントにカーソルを合わせると表示が現れるようにしてもよい。表示の内容は、例えばＸＭＬに設定されるような内容の少なくとも一部を含むようにしてもよい。また、処理エレメント前後の表型データを表示してもよい。例えば、縦結合処理のエレメントであれば、属性の対応付けの少なくとも一部が表示される。また、横結合処理のエレメントであれば、キー属性、名寄せ判断及び重複する値の処理の少なくとも一部が表示される。また、集計処理のエレメントであれば、キー属性及び集計属性の少なくとも一部が表示される。さらに、ユーザが内容を修正及び保存できるようにしてもよい。また、その処理エレメントにコメントとして文章及び修正できるようにしてもよい。また、中間的に生成される表形式データの内容を表示できる機能（イメージデータビューアとも呼ぶ）を設けてもよい。ユーザは、各プロセスで生成される出力データを検証しつつ、ジョブの設定を行うことができる。図５０に、処理の内容及びイメージデータビューアを表示する画面の一例を示す。図５０の例では、各エレメントに吹き出しのアイコンが設けられており、ユーザがクリックしたりカーソルを重ねることで、予め記憶させられているコメントが表示されるものとする。また、吹き出しのアイコンをクリック等することによって、右下に示すような「コメント編集」ウィンドウを表示させ、ユーザがコメントを入力又は修正できるようにしてもよい。図５０の上には、「イメージデータビューア」ウィンドウが表示されている。ここには、例えば、編集中のジョブが最終的に出力する表形式データの内容が表示される。なお、ジョブに含まれるエレメントの各々について、入力ファイル又は出力ファイルの項目の構成又は表形式データの内容を表示できるようにしてもよい（図示せず）。
【００８９】
このようにすれば、ユーザは「横結合」や「集計」といった処理の具体的な内容を理解することができる。本実施形態に係るジョブは設定の変更が容易であるところ、このような表示があれば、ユーザは最新の仕様を容易に理解することができる。したがって、例えば業務の担当者であるユーザが交代するような場合も、引継ぎがスムーズになる。さらに、ジョブの簡易的な仕様書又は設計書として、プロセスフィールドに含まれる各エレメントの内容及び入出力データのＣＳＶファイルの属性名等を印刷等できるようにしてもよい。
【００９０】
表形式データ処理装置１の入出力部１０２は、表形式データの読み出しを行う（図４８：Ｓ１）。本ステップでは、入出力部１０２は、新規ジョブの処理対象として１以上の表形式データをデータ記憶部１０１から読み出す。表形式データ処理装置１の表示装置には、例えば、図５１に示すようなウィンドウが表示される。図５１の例では、表形式データ
「社員交通費清算.csv」及び「営業経費.csv」が読み出され、下段のプロセスフィールドには２つのＣＳＶファイルのエレメントが表示されている。また、ＣＳＶファイルの内容が、上段のイメージデータビューアに表示されている。
【００９１】
また、ジョブ制御部１０２は、ユーザの操作を受けて縦結合の設定をデータ記憶部１０１に記憶させ、縦結合部１０３は、縦結合の処理を行う（Ｓ２）。結合結果は１つの表形式データで表すことができる。ここでは、一時的にメモリに保持される。また、縦結合処理はジョブの設定が完了してからジョブ全体の実行中に行われるようにしてもよい。ここでは、例えば、図５２に示すようなウィンドウが表示される。図５２の例では、プロセスフィールドに縦結合のエレメントが追加されている。また、イメージデータビューアには、縦結合の結果として生成される表形式データが表示されている。
【００９２】
次に、ジョブ制御部１０２は、ジョブの設定が完了したか判断する（Ｓ３）。なお、ユーザの操作を介して、設定の保存やジョブの実行、設定操作の終了が指示された場合、ジョブの設定が完了したと判断する。ジョブの設定が完了していないと判断された場合（Ｓ３：ＮＯ）、ジョブ制御部１０２は、ユーザの操作を受けてその他のプロセスをジョブの後尾に追加する（Ｓ４）。ここでは、横結合、集計等、任意のプロセスが追加される。また、各プロセスは、前段階のプロセスの出力データを入力データとしてそれぞれの処理を行う。図５３に、横結合及びＣＳＶファイル出力のエレメントが追加された例を示す。図５３のイメージデータビューアには、出力されるＣＳＶファイルの内容が表示されている。
【００９３】
一方、Ｓ３においてジョブの設定が完了したと判断された場合、ジョブ制御部１０２は、ジョブに含まれるプロセスを再実行するための設定を定義したスクリプト（ＸＭＬファイル）を生成し、データ記憶部１０１に記憶させる（Ｓ５）。なお、ジョブの設定が完了した場合にはじめてジョブ全体を実行するようにしてもよいし、ジョブに含まれる任意のプロセスまでの処理を自由に実行できるようにしてもよい。
【００９４】
このようにすれば、ユーザは、表形式データに対して所望の処理を行い、設定した形式に変換して出力することができるようになる。また、実行した処理を再現するためのスクリプトを保存できるため、例えば前回の処理後に発生した業務データに対して、前回と同様の処理を適用することができるようになる。表計算ソフトが備えるマクロ命令等よりも複雑な処理を容易に定義することができ、また、専用のシステムを開発するよりも処理の作成及び改修が容易になる。したがって、例えば、ユーザが試行錯誤しつつ統計的な分析を行いたい場合や、データ処理のコストを抑えたい場合に有用であるといえる。
【００９５】
＜バッチ定義処理＞
また、１つ以上のジョブの実行予定を定義しておき、より複雑な処理を自動化することもできる。図５４は、いわゆるバッチ処理の設定を定義するバッチ定義処理の一例を示す処理フロー図である。例えば、表形式データ処理装置１は、図４７に示したような画面を介してユーザからバッチ定義の要求を受ける。
【００９６】
まず、表形式データ処理装置１の制御部１０３は、ユーザの操作に応じて、ジョブ（ＸＭＬファイル）の追加を行う（図５４：Ｓ１１）。ここでは、連続して実行する１以上のジョブが実行する順序で登録される。
【００９７】
次に、制御部１０３は、ユーザの操作に応じて、バッチ処理を起動させるスケジュールを登録する（Ｓ１２）。「バッチ処理」の内容についてすでに説明したように、曜日、時刻、期間等の条件や、エラーをメールで通知するための設定等が入力され、データ記憶部１０１に格納されるものとする。以上で、バッチ定義処理を終了する。
【００９８】
バッチ処理は、設定された日時になると、バッチ処理部１１０によって実行される。バッチ処理を行うために、表形式データ処理装置１及び本実施に係るプログラムは予め起動させておくものとする。以上のようなバッチ処理によれば、個々のジョブよりも複雑な処理を実行することができる。また、例えば夜間等にユーザの操作を受けることなく処理を起動するようスケジュールしておくことができるようになる。
【００９９】
＜変形例＞
本実施形態で説明した処理は、いわゆるクライアント−サーバ型のシステムによって提供されるようにしてもよい。すなわち、表形式データ処理装置１は、ネットワークを介して接続されたユーザ端末から要求を受け、本実施形態で説明した処理を実行して結果をユーザ端末へ返すようにしてもよい。ネットワークは、例えばインターネットやイントラネット等のようなコンピュータネットワークである。なお、表形式データ処理装置１とユーザ端末とを、専用線で接続してもよい。また、１つの表形式データ処理装置に複数のユーザ端末が接続されていてもよいし、複数の表形式データ処理装置１がネットワーク上に存在し、１又は複数のユーザ端末からの要求を分散して処理する構成としてもよい。
【０１００】
また、例えばサーバ上で動作するいわゆるＳａａＳ（Software as a Service）のよう
なサービスの機能の１つとして提供されるようにしてもよい。本実施形態では、ＣＳＶファイル等の表形式データを処理対象としている。したがって、外部のＲＤＢＭＳ（Relational DataBase Management System：リレーショナルデータベース管理システム）が管理
するデータベースから、例えばＣＳＶ形式でレコードをエクスポートすれば、本実施形態で説明した処理を実行できるようになる。また、本実施形態に係る処理によって出力された表形式データを所定の形式に変換し、外部装置のデータベース等に反映させられるようにしてもよい。
【０１０１】
また、本実施形態で示した処理フローは例示であり、処理結果が変わらない限りにおいて処理の順序を変更したり、並列に処理を行うようにしてもよい。画面の例についても、配置、デザイン等を適宜変更できる。
【符号の説明】
【０１０２】
１      表形式データ処理装置
１０１      データ記憶部
１０２      入出力部
１０３      制御部
１０４      縦結合部
１０５      横結合部
１０６      集計部
１０７      グループ化部
１０８      検索部
１０９      外部連携部
１１０      バッチ処理部
【図１】
2015075970.tif 000003
【図２】
2015075970.tif 000004
【図３】
2015075970.tif 000005
【図４】
2015075970.tif 000006
【図５】
2015075970.tif 000007
【図６】
2015075970.tif 000008
【図７】
2015075970.tif 000009
【図８】
2015075970.tif 000010
【図９】
2015075970.tif 000011
【図１０】
2015075970.tif 000012
【図１１】
2015075970.tif 000013
【図１２】
2015075970.tif 000014
【図１３】
2015075970.tif 000015
【図１４】
2015075970.tif 000016
【図１５】
2015075970.tif 000017
【図１６】
2015075970.tif 000018
【図１７】
2015075970.tif 000019
【図１８】
2015075970.tif 000020
【図１９】
2015075970.tif 000021
【図２０】
2015075970.tif 000022
【図２１】
2015075970.tif 000023
【図２２】
2015075970.tif 000024
【図２３】
2015075970.tif 000025
【図２４】
2015075970.tif 000026
【図２５】
2015075970.tif 000027
【図２６】
2015075970.tif 000028
【図２７】
2015075970.tif 000029
【図２８】
2015075970.tif 000030
【図２９】
2015075970.tif 000031
【図３０】
2015075970.tif 000032
【図３１】
2015075970.tif 000033
【図３２】
2015075970.tif 000034
【図３３】
2015075970.tif 000035
【図３４】
2015075970.tif 000036
【図３５】
2015075970.tif 000037
【図３６】
2015075970.tif 000038
【図３７】
2015075970.tif 000039
【図３８】
2015075970.tif 000040
【図３９】
2015075970.tif 000041
【図４０】
2015075970.tif 000042
【図４１】
2015075970.tif 000043
【図４２】
2015075970.tif 000044
【図４３】
2015075970.tif 000045
【図４４】
2015075970.tif 000046
【図４５】
2015075970.tif 000047
【図４６】
2015075970.tif 000048
【図４７】
2015075970.tif 000049
【図４８】
2015075970.tif 000050
【図４９】
2015075970.tif 000051
【図５０】
2015075970.tif 000052
【図５１】
2015075970.tif 000053
【図５２】
2015075970.tif 000054
【図５３】
2015075970.tif 000055
【図５４】
2015075970.tif 000056