JP6623754B2 - Tabular data processing program, method and apparatus - Google Patents
Tabular data processing program, method and apparatus Download PDFInfo
- Publication number
- JP6623754B2 JP6623754B2 JP2015523912A JP2015523912A JP6623754B2 JP 6623754 B2 JP6623754 B2 JP 6623754B2 JP 2015523912 A JP2015523912 A JP 2015523912A JP 2015523912 A JP2015523912 A JP 2015523912A JP 6623754 B2 JP6623754 B2 JP 6623754B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- item
- tabular data
- processing
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、表形式データ処理プログラム、方法及び装置に関する。 The present invention relates to a tabular data processing program, a method and an apparatus.
顧客情報、営業情報、その他のあらゆる情報を管理するため、例えばRDB(Relational Database)が利用されている。RDBを利用する場合、正規化したテーブルを作成することにより、情報を一元的に管理し、不整合、損失、冗長を低減することができる。なお、1又は複数のテーブルから同一の実体に関するレコードを求めるため、「名寄せ」と呼ばれる処理を行うこともある。名寄せすることにより、例えば、同一人物が有する複数の口座を取りまとめて扱うことができるようになるため、集計結果がより精確になる。 In order to manage customer information, sales information, and any other information, for example, an RDB (Relational Database) is used. When an RDB is used, by creating a normalized table, information can be centrally managed and inconsistency, loss, and redundancy can be reduced. In order to obtain a record for the same entity from one or a plurality of tables, a process called “name matching” may be performed. By performing name identification, for example, a plurality of accounts owned by the same person can be collectively handled, so that the counting result becomes more accurate.
また、利用者が、セルと自動実行データとの関連付けの登録・削除・更新を行うことによって、内部データを意識することなく表計算プログラムを自動実行させる技術が提案されている(例えば、特許文献1)。また、設計書に基づいて、コンピュータプログラムのソースコードを自動生成するという技術も提案されている(例えば、特許文献2)。 In addition, a technique has been proposed in which a user registers, deletes, and updates the association between a cell and automatic execution data to automatically execute a spreadsheet program without being conscious of internal data (for example, Patent Document 1). 1). Further, a technique of automatically generating a source code of a computer program based on a design document has been proposed (for example, Patent Document 2).
RDBを利用するためには、テーブルの設計、レコードの登録及びメンテナンス等が必要である。さらに、サーバの構築、データ操作言語やRDBMS(Relational Database Management System)の使用等、専門的な技術が必要になる場合もある。そこで、RDBを利用することなく簡易的にデータを管理するため、CSV(Comma Separated Values)に代表されるテキストで記録された表形式データ(「Delimiter-Separated Values」、「Character-Separated Values」等とも呼ばれる)を利用する場合も少なくない。 In order to use the RDB, table design, record registration and maintenance are required. Further, specialized techniques such as construction of a server, use of a data manipulation language, and use of an RDBMS (Relational Database Management System) may be required. Therefore, in order to easily manage data without using RDB, tabular data ("Delimiter-Separated Values", "Character-Separated Values", etc.) recorded in text represented by CSV (Comma Separated Values) Is also often used.
しかしながら、上記のような表形式データを表計算ソフト等で処理する場合、RDBMSによって実行するようにテーブルを結合したり値を集計したりといったデータ操作をするためには、手間と時間がかかるという問題がある。また、取引先ごと、支社ごと、部署ごと等でそれぞれ異なるデータ構造の情報資産を保有している場合に、これらを統合して集計等するときには専用のシステムを開発する必要があった。 However, when such tabular data is processed by spreadsheet software or the like, it takes time and effort to perform data operations such as combining tables and compiling values to be executed by an RDBMS. There's a problem. In addition, when information assets having different data structures are held for each business partner, each branch office, each department, and the like, it is necessary to develop a dedicated system for integrating and tabulating the information assets.
そこで、本発明は、デリミター(Delimiter)区切りで表現された表形式データの操作を支援するための技術を提供することを目的とする。 Therefore, an object of the present invention is to provide a technique for supporting the operation of tabular data expressed by delimiters.
本発明に係る表形式データ処理装置は、複数の項目にそれぞれ対応する複数の要素を含むレコードが複数登録される表形式データを処理する装置であって、ユーザの操作に基づき、複数の表形式データにそれぞれ含まれる項目を対応付けて1つの表形式データを生成する縦結合処理を行う縦結合部と、ユーザの操作に基づき、生成された1つの表形式データに含まれる項目をキーとして当該1つの表形式データに含まれるレコードを集約する集約処理を行う集約部と、項目の構成が同一の表形式データに対して、縦結合処理及び集約処理を実行するための再実行情報として、項目の対応付けとキー項目とを少なくとも記憶装置に記憶させる制御部とを有する。 A tabular data processing device according to the present invention is a device that processes tabular data in which a plurality of records including a plurality of elements respectively corresponding to a plurality of items are registered. A vertical combining unit that performs a vertical combining process of generating one tabular data by associating the items included in the data with each other, and using the items included in the generated one tabular data as a key based on a user operation An aggregating unit that performs an aggregating process for aggregating records included in one tabular data, and an item as re-execution information for executing a vertical joining process and an aggregating process on tabular data having the same item configuration And a control unit for storing at least the key item and the correspondence in the storage device.
このようにすれば、表形式データの構成をユーザの操作に基づいて再構築することができる。また、同様の構成を有する表形式データに対し、同様の操作を実行するための情報を記憶させておくことができる。したがって、表形式データの操作を支援するための技術を提供することができる。 In this way, the structure of the tabular data can be reconstructed based on the operation of the user. Further, information for executing a similar operation can be stored for tabular data having a similar configuration. Therefore, it is possible to provide a technique for supporting operation of tabular data.
また、表形式データ処理装置は、ユーザの操作に基づき、同一概念の関係、又は上位概念及び下位概念の関係にある語句の登録を受け付ける辞書登録部をさらに有し、集約部は、キーとされた項目の要素が同一概念の関係にあるレコード、又は上位概念及び下位概念の関係にあるレコードを集約するようにしてもよい。このようにすれば、レコードを集約する際にユーザが設定した辞書に基づいて名寄せを行うことができるようになる。 In addition, the tabular data processing apparatus further includes a dictionary registration unit that receives registration of words having a relationship between the same concept, or a relationship between a superordinate concept and a subordinate concept, based on a user's operation. Records in which the elements of the items have the same concept relationship or records in which the superordinate concept and the subordinate concept have a relationship may be aggregated. This makes it possible to perform name matching based on a dictionary set by the user when aggregating records.
また、表形式データ処理装置は、ユーザの操作に基づき、再実行情報と、当該再実行情報に従って処理を実行する時刻とを少なくとも含むスケジュール情報を記憶装置に記憶させるスケジュール設定部と、スケジュール情報に基づいて、スケジュール情報に設定された時刻に再実行情報が規定する縦結合処理及び集約処理を行うバッチ処理部とをさらに有するようにしてもよい。このようにすれば、処理をスケジュールしておくことができるようになる。 A table setting unit configured to store, in a storage device, schedule information including at least re-execution information and a time at which a process is to be executed in accordance with the re-execution information, based on a user operation; And a batch processing unit that performs the vertical combination process and the aggregation process defined by the re-execution information based on the time set in the schedule information. In this way, the process can be scheduled.
また、表形式データ処理装置は、縦結合処理及び集約処理の実行順序をグラフィカルに表示するとともに、縦結合処理を実行するための設定である項目の対応付け、又は集約処理を実行するための設定であるキー項目、又は縦結合処理もしくは集約処理に入力される表形式データの項目の構成もしくは出力される表形式データの項目の構成を表示する表示部をさらに有するようにしてもよい。このようにすれば、ユーザは、実行される表形式データの操作を視覚的に確認することができる。 In addition, the tabular data processing device graphically displays the execution order of the vertical combination process and the aggregation process, and associates items that are settings for performing the vertical combination process or settings for performing the aggregation process. The display unit may further include a display unit that displays a key item that is or a configuration of an item of tabular data input to the vertical combination process or the aggregation process or a configuration of an item of tabular data to be output. In this way, the user can visually confirm the operation of the tabular data to be executed.
本発明の他の側面に係る表形式データ処理装置は、複数の項目に対応する複数の要素を含むレコードが複数登録される表形式データについて、入力される表形式データである入力テーブルに含まれるレコードを集約し、出力する表形式データである出力テーブルを生成する。具体的には、複数の入力テーブルにそれぞれ含まれる項目と、出力テーブルに含まれる項目との対応付けの指定を受け付ける設定処理部と、出力テーブルに含まれる項目の一覧を表示する一覧領域と、集約に用いるキー項目を表示するキー指定領域とを表示する表示制御部と、一覧領域に表示された項目をキー指定領域へドラッグするユーザの操作により、キー項目の指定を受け付けるキー指定部と、指定されたキー項目の値が所定の条件を満たす入力テーブルのレコードを集約し、出力テーブルを生成する出力部とを有する。 A tabular data processing apparatus according to another aspect of the present invention includes table data in which a plurality of records including a plurality of elements corresponding to a plurality of items are registered in an input table which is input tabular data. Aggregate records and generate an output table that is tabular data to be output. Specifically, a setting processing unit that receives designation of the correspondence between the items included in the plurality of input tables and the items included in the output table, a list area that displays a list of the items included in the output table, A display control unit that displays a key designation area that displays key items used for aggregation, and a key designation unit that accepts designation of key items by a user operation of dragging an item displayed in the list area to the key designation area. An output unit that aggregates records of the input table in which the value of the designated key item satisfies a predetermined condition and generates an output table.
このようにすれば、ユーザはテキストでクエリを入力することなく、データ操作の要求を入力することができる。すなわち、表形式データの操作を支援するための技術を提供することができる。 In this way, the user can input a request for data operation without inputting a query in text. That is, a technique for supporting operation of tabular data can be provided.
また、表形式データ処理装置は、キー項目の各々について、レコードを集約するための条件の指定を受け付けるキー設定部と、条件が指定されたキー項目の表示態様を、条件の指定が完了したことを示す所定の表示態様に変更する第1表示変更部とをさらに有するようにしてもよい。このようにすれば、キー項目に対してデータ操作の要求に必要な設定が完了したか否かをユーザが視覚的に認識できるようになる。 In addition, the tabular data processing device is configured such that, for each of the key items, a key setting unit that receives specification of a condition for aggregating records, and a display mode of the key item for which the condition is specified, that the specification of the condition is completed. And a first display change unit for changing the display mode to a predetermined display mode. With this configuration, the user can visually recognize whether or not the setting required for the data operation request for the key item has been completed.
また、表形式データ処理装置は、表示ステップにおいて、集計対象の項目を表示する集計項目領域をさらに表示し、一覧領域に表示された項目を集計項目領域へドラッグするユーザの操作により、集計項目の指定を受け付ける集計項目指定部と、指定された集計項目に対して、集計方法の指定を受けつける集計方法指定部と、集計項目領域において、集計方法が指定された集計対象の項目の表示態様を、集計方法の指定が完了したことを示す所定の表示態様に変更する第2表示変更部とをさらに有するようにしてもよい。このようにすれば、ユーザはテキストでクエリを入力することなく、集計に関するデータ操作の要求を入力することができる。また、集計項目に対して必要な設定が完了したか否かをユーザが視覚的に認識できるようになる。 Further, the tabular data processing device further displays, in the display step, a tallying item area for displaying the tallying target item, and operates the tallying item by dragging the item displayed in the list area to the tallying item area. A tally item specification part that receives the specification, a tally method specification part that receives the specification of the tally method for the specified tally item, and a display mode of the tallying target item for which the tally method is specified in the tally item area. A second display change unit configured to change to a predetermined display mode indicating that the specification of the counting method has been completed may be further provided. In this way, the user can input a request for data operation related to aggregation without inputting a query in text. Further, the user can visually recognize whether or not the necessary setting for the tally item has been completed.
また、表形式データ処理装置は、集計項目指定部が、集計項目として、新たな項目の生成の要求を受け付けるとともに、集計項目領域において、集計項目を、順序を表す所定の方向に沿って一列に表示し、集計方法指定部が、新たな項目の集計方法として、一覧領域の項目及び集計項目領域において当該新たな項目よりも順序が先の集計項目の少なくともいずれかを用いて、当該新たな項目の要素を決定する計算式又は条件式の指定を受け付けるようにしてもよい。このようにすれば、ユーザは、順序が先の項目に係る集計結果を用いてさらに集計を行うための要求を入力できる。段階を追って入力することにより、ユーザは、複雑な集計の要求も容易に入力することができる。 In the tabular data processing device, the tabulation item designating unit receives a request to generate a new item as a tabulation item, and arranges the tabulation items in a row in the tabulation item area in a predetermined direction representing the order. The display method and the totaling method designating unit use the item in the list area and / or the totaling item area in the totaling item area as at least one of the totaling items in the order of the new item as the totaling method of the new item. The specification of a calculation expression or a conditional expression for determining the element may be accepted. In this way, the user can input a request for further counting using the counting result of the item whose order is earlier. By inputting step by step, the user can easily input a complicated tally request.
また、表形式データ処理装置は、キー指定部において、指定されたキー項目を、順序を表す所定の方向に沿って一列に表示するとともに、ユーザのドラッグ操作に応じてキー項目の順序を変更し、出力部において、キー項目の値が所定の条件を満たす、入力テーブルのレコードを、キー項目の順序にしたがって複数のキーによるソートを行い、出力テーブルを生成するようにしてもよい。このようにすれば、ユーザは、キー項目の指定を容易に行うことができる。 Further, the tabular data processing device displays the designated key items in a line along a predetermined direction indicating the order in the key designation unit, and changes the order of the key items according to the drag operation of the user. The output unit may sort the records of the input table in which the values of the key items satisfy a predetermined condition by a plurality of keys according to the order of the key items to generate an output table. In this way, the user can easily specify key items.
また、本発明の他の側面に係る表形式データ処理装置は、複数の項目に対応する複数の要素を含むレコードが複数登録される表形式データについて、入力される表形式データである入力テーブルに含まれるレコードを集約し、出力する表形式データである出力テーブルを生成する。具体的には、入力テーブルに基づいて、項目の順序に対応付けられている要素を抽出し、表形式データにおけるレコードの順序と対応付けて項目ごとに保持する項目別データを生成する項目別データ生成部と、項目別データに含まれる要素を集約し、集約後の項目別データから出力テーブルを生成する出力テーブル生成部とを有する。 In addition, the tabular data processing device according to another aspect of the present invention may include a table format data in which a plurality of records including a plurality of elements corresponding to a plurality of items are registered. Aggregate the included records and generate an output table that is tabular data to be output. More specifically, based on an input table, an element associated with an item order is extracted, and item-specific data to be generated for each item to be retained for each item in association with a record order in tabular data. It has a generation unit and an output table generation unit that aggregates elements included in the itemized data and generates an output table from the aggregated itemized data.
このようにすれば、表形式データを項目ごとの単位で表す項目別データに分解して扱うことができる。項目別データに含まれる要素を集約するだけでなく、出力テーブルに出力する項目に応じて項目別データを結合することができる。すなわち、項目別データは、複雑な処理を行うのに適している。なお、集約処理としては、例えばテーブルの結合や集計を行うことができる。 In this way, tabular data can be decomposed into item-specific data expressed in units of items and handled. In addition to aggregating the elements included in the itemized data, the itemized data can be combined according to the items output to the output table. That is, the item-by-item data is suitable for performing complicated processing. In addition, as the consolidation processing, for example, table joining and tabulation can be performed.
また、表形式データ処理装置は、項目別データを用いて、所定の条件を満たす複数の要素に対応する、レコードの順序の集合を生成する順序集合生成部をさらに有し、出力テーブル生成部は、集合に属する順序に基づいて項目別データに含まれる要素を集約するようにしてもよい。このようにすれば、レコードの順序(換言すれば、順番を示す番号)の集合を用いて集約を行うことができるようになる。ここで、順序の集合を生成するためには、所定の条件を満たす、各要素が属すべき集合にレコードの順序を分類すればよい。集約のためにレコードを検索するような必要がなく、レコードの順序の集合を用いることで高速に処理を行うことができる。 In addition, the tabular data processing apparatus further includes an ordered set generating unit that generates a set of the order of records corresponding to a plurality of elements satisfying a predetermined condition using the item-by-item data, and the output table generating unit includes: Alternatively, the elements included in the itemized data may be aggregated based on the order belonging to the set. In this way, aggregation can be performed using a set of record orders (in other words, numbers indicating the order). Here, in order to generate a set of orders, the order of records may be classified into a set that satisfies a predetermined condition and to which each element belongs. There is no need to search for records for aggregation, and processing can be performed at high speed by using a set of record orders.
また、表形式データ処理装置は、複数の表形式データ間における項目の対応付けを表すデータに基づいて、複数の表形式データの項目別データの和集合を生成する縦結合部をさらに有し、順序集合生成部は、項目別データの和集合を用いて、レコードの順序の集合を生成するようにしてもよい。このようにすれば、複数の表形式データを対象として、データ操作を行うことができるようになる。 In addition, the tabular data processing device further includes a vertical combining unit that generates a union of the item-by-item data of the plurality of tabular data, based on the data representing the correspondence of the items among the plurality of tabular data, The order set generation unit may generate a set of the order of the records using the union of the item-by-item data. This makes it possible to perform data manipulation on a plurality of tabular data.
また、表形式データ処理装置は、集合に属する順序に基づいて集約される要素に異なる値が存在する場合、集約後の項目別データには、異なる値を結合した要素を登録するようにしてもよい。このようにすれば、所定の条件を満たすレコードを1つに集約して表示することができるようになる。 Further, the table format data processing device may register an element in which different values are combined in the itemized data after aggregation when elements that are aggregated based on the order belonging to the set have different values. Good. In this way, records satisfying the predetermined condition can be displayed collectively.
また、表形式データ処理装置は、集約後の項目別データを用いて、第2の所定条件を満たす複数の要素に対応する、レコードの順序の集合を生成する第2順序集合生成部をさらに有し、出力テーブル生成部において、第2順序集合生成部が生成した集合に属する順序に基づいて集約後の項目別データに含まれる要素をさらに集約し、集約後の項目別データから出力テーブルを生成するようにしてもよい。このようにすれば、例えば結合や集計のような集約処理を行った後の項目別データに対して、さらに集約処理を行うことができる。すなわち、段階を追って複雑なデータ操作を行うことができる。 In addition, the tabular data processing apparatus further includes a second ordered set generation unit that generates a set of the order of the records corresponding to the plurality of elements satisfying the second predetermined condition using the itemized data after aggregation. The output table generation unit further aggregates the elements included in the aggregated itemized data based on the order belonging to the set generated by the second ordered set generation unit, and generates an output table from the aggregated itemized data. You may make it. In this way, it is possible to further perform the aggregation processing on the itemized data after the aggregation processing such as the combination and the aggregation is performed. That is, complicated data operations can be performed step by step.
また、本発明の他の側面に係る表形式データ処理装置は、複数の項目にそれぞれ対応する複数の要素を含むレコードが複数登録される表形式データを入力データとして処理する。具体的には、所定の規則に基づいてグループに分類した、所定の項目に対応する要素の件数を、グループごとに集計し、集計結果を出力する集計部と、入力データから、集計結果におけるグループのいずれかに分類された要素を含むレコードを抽出して出力する出力部と、出力されたレコードに含まれる要素について変更の要求を受け、当該要素を変更する修正部とを有する。 Further, a tabular data processing device according to another aspect of the present invention processes tabular data in which a plurality of records including a plurality of elements respectively corresponding to a plurality of items are registered as input data. Specifically, the number of elements corresponding to a predetermined item classified into a group based on a predetermined rule is totaled for each group, and a totaling unit that outputs a totaling result, and a group in the totaling result from input data, An output unit that extracts and outputs a record including an element classified as any of the above, and a correction unit that receives a request to change an element included in the output record and changes the element.
当該処理は、本発明におけるデータプロファイリング処理に相当する。このようにすれば、誤りや漏れ、重複等の不適切なデータを統計的手法(集計)によって可視化(出力)することができる。すなわち、不適切なデータの検出及び修正を支援することができる。 This processing corresponds to the data profiling processing in the present invention. In this way, inappropriate data such as errors, omissions, and duplication can be visualized (output) by a statistical method (totaling). That is, detection and correction of inappropriate data can be supported.
また、所定の規則に基づく分類は、要素を記述する表現形式に基づく分類であってもよい。このようにすれば、特にスキーマの定義されていないDSV形式等の入力データに登録され得る不適切な要素の存在を、ユーザは容易に発見することができる。具体的には、所定の規則に基づく分類は、要素が日付を表すか否か、一意であるか否か、空であるか否か、数値であるか否か、若しくは所定の文字列を含むか否かによって、又は要素ごと若しくは要素のデータパターンごとに行うようにしてもよい。 Further, the classification based on the predetermined rule may be a classification based on an expression format that describes an element. In this way, the user can easily find the presence of an inappropriate element that can be registered in input data such as a DSV format in which no schema is defined. Specifically, the classification based on a predetermined rule includes whether an element represents a date, whether it is unique, whether it is empty, whether it is a numerical value, or a predetermined character string. It may be performed depending on whether or not, or for each element or each element data pattern.
また、複数の表形式データ間における項目の対応付けを示すデータに基づいて、複数の表形式データの和集合を生成する縦結合部をさらに有し、集計部は、表形式データの和集合を入力データとするようにしてもよい。このようにすれば、本発明における縦結合後の表形式データを対象として、データプロファイリング処理を行うことができる。 Further, based on the data indicating the correspondence between the items in the plurality of tabular data, the apparatus further includes a vertical combination unit that generates a union of the plurality of tabular data. You may make it input data. In this way, the data profiling process can be performed on the tabular data after the vertical combination in the present invention.
なお、上記課題を解決するための手段の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、上記課題を解決するための手段の内容をコンピュータが実行する表形式データ処理方法や、上記課題を解決するための手段の内容を実行するステップをコンピュータに実行させる表形式データ処理プログラムを提供することもできる。さらに、当該プログラムを保持する記録媒体を提供するようにしてもよい。 The contents of the means for solving the above problems can be combined as much as possible without departing from the problems and technical ideas of the present invention. Further, there is provided a tabular data processing method for causing a computer to execute the contents of the means for solving the above problems, and a tabular data processing program for causing a computer to execute the steps for executing the contents of the means for solving the above problems. You can also. Further, a recording medium holding the program may be provided.
本発明によれば、デリミター(Delimiter)区切りで表現された表形式データの操作を支援するための技術を提供することができる。 ADVANTAGE OF THE INVENTION According to this invention, the technique for supporting the operation of the tabular data expressed by the delimiter (Delimiter) delimiter can be provided.
以下、図面を参照して、一実施形態に係る表形式データ処理プログラム、表形式データ処理装置、及び表形式データ処理方法について説明する。実施形態の構成は例示であり、本発明に係るプログラム、装置、方法は実施形態の構成には限定されない。 Hereinafter, a tabular data processing program, a tabular data processing device, and a tabular data processing method according to an embodiment will be described with reference to the drawings. The configuration of the embodiment is an exemplification, and the program, apparatus, and method according to the present invention are not limited to the configuration of the embodiment.
<<内部処理とユーザインターフェースに係る実施形態>>
<システム構成>
図1は、表形式データを処理するためのシステムの一例を示す機能ブロック図である。本実施形態に係るシステムは、表形式データ処理装置1と、ユーザ端末2とを含む。また、表形式データ処理装置1とユーザ端末2とは、ネットワーク3を介して接続されている。<<< Embodiment of Internal Processing and User Interface >>>
<System configuration>
FIG. 1 is a functional block diagram showing an example of a system for processing tabular data. The system according to the present embodiment includes a tabular
表形式データ処理装置1は、例えば、表形式データに対し本実施形態で説明する処理を行うサーバである。また、ユーザ端末2は、例えば、インターネットに接続する機能を有するコンピュータである。ユーザは、例えば、ユーザ端末2が有するインターネットブラウザを介して、表形式データ処理装置1に本実施形態で説明する処理の実行を命じたり、表形式データ処理装置1から受信した処理の結果を確認したりすることができる。ネットワーク3は、例えばインターネットやイントラネット等のようなネットワークシステムである。なお、表形式データ処理装置1とユーザ端末2とは、専用線で接続されていてもよい。また、図1では1つのユーザ端末2を示しているが、複数のユーザ端末が接続されていてもよい。一方、複数の表形式データ処理装置1がネットワーク上に存在し、分散して処理を行う構成としてもよい。
The tabular
<機能構成>
図2は、表形式データ処理装置1の一例を示す機能ブロック図である。本実施形態に係る表形式データ処理装置1は、データ記憶部101と、設定処理部102と、データ分割部103と、表示制御部104と、縦結合部105と、対照群生成部106と、横結合部107と、集計部108と、出力データ生成部109とを有する。<Functional configuration>
FIG. 2 is a functional block diagram illustrating an example of the tabular
データ記憶部101は、例えば、本実施形態で処理の対象となる表形式データ、処理の要求を示す設定データ、処理結果として生成される表形式データ、その他処理において中間的に生成されるデータを保持する。表形式データ処理装置1は、例えば、カンマやタブ、スペース等の区切記号(「デリミター」とも呼ぶ)によってフィールド(「列」、「項目」、「要素」又は「属性」とも呼ぶ)が区切られ、改行によってレコード(「行」とも呼ぶ)が区切られたテキストデータを処理対象とする。本実施の形態では、ユーザが転送したCSVデータが、予め表形式データ処理装置1のデータ記憶部101に記憶されているものとする。
The
設定処理部102は、例えば、結合する複数の表形式データの指定、レコードを集約する条件、集計の方法のようなデータ操作の要求を、ネットワーク3を介してユーザ端末2から受け付け、データ記憶部101へ記憶させる。データ分割部103は、表形式データを、レコード別(行ごと)に分割したり、項目別(列ごと)に分割したりして、データ記憶部101へ記憶させる。表示制御部104は、ユーザがデータ操作の要求を入力するためのGUI(Graphical User Interface)を生成したり、結果を表示するための画面を生成したりする。
The setting
縦結合部105は、例えば複数の表形式データに含まれるレコードを1つの表形式データに統合する処理(「縦結合処理」とも呼ぶ)を行う。対照群生成部106は、集約するレコードを行番号(「レコード番号」とも呼ぶ)の集合として表す対照群を生成する処理を行う。なお、行番号とは、例えば、CSVデータの1行ごとに先頭から付される通し番号であり、行番号により、表形式データにおいてレコードを一意に特定することができる。横結合部107は、例えばキー項目の値が所定の条件を満たす、複数の表形式データのレコードを1レコードに結合する処理(「横結合処理」とも呼ぶ)を行う。集計部108は、データ記憶部101に記憶された設定に基づいて、値を数値として集計したり、値を文字列として1つのフィールドに統合したりする処理を行う。出力データ生成部109は、結合された項目別データから行別データを生成し、CSVデータとして出力する。
The
<装置構成>
図3は、コンピュータの一例を示す装置構成図である。表形式データ処理装置1及びユーザ端末2は、図3に示すようなコンピュータである。図3に示すコンピュータ1000は、CPU(Central Processing Unit)1001、主記憶装置1002、補助記憶装置1003、通信IF(Interface)1004、入出力IF(Interface)1005、ドライブ装置1006、通信バス1007を備えている。CPU1001は、プログラム(「ソフトウェア」又は「アプリケーション」とも呼ぶ)を実行することにより本実施の形態に係る処理等を行う。主記憶装置1002は、CPU1001が読み出したプログラムやデータをキャッシュしたり、CPUの作業領域を展開したりする。主記憶装置は、具体的には、RAM(Random Access Memory)やROM(Read Only Memory)等である。補助記憶装置1003は、CPU1001により実行されるプログラムや、本実施の形態で用いる設定情報などを記憶する。補助記憶装置1003は、具体的には、HDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等である。主記憶装置1002や補助記憶装置1003は、表形式データ処理装置1のデータ記憶部101として働く。通信IF1004は、他のコンピュータとの間でデータを送受信する。表形式データ処理装置1及びユーザ端末2は、通信IF1004を介してネットワーク3に接続される。通信IF1004は、具体的には、有線又は無線のネットワークカード等である。入出力IF1005は、入出力装置と接続され、ユーザから入力を受け付けたり、ユーザへ情報を出力したりする。入出力装置は、具体的には、キーボード、マウス、ディスプレイ、タッチパネル等である。ドライブ装置1006は、磁気ディスク、光磁気ディスク、光ディスク等の記憶媒体に記録されたデータを読み出したり、記憶媒体にデータを書き込んだりする。そして、以上のような構成要素が、通信バス1007で接続されている。なお、これらの構成要素はそれぞれ複数設けられていてもよいし、一部の構成要素(例えば、ドライブ装置1006)を設けないようにしてもよい。また、入出力装置がコンピュータと一体に構成されていてもよい。また、ドライブ装置1006で読み取り可能な可搬性の記憶媒体や、フラッシュメモリのような可搬性の補助記憶装置1003、通信IF1004などを介して、本実施の形態で実行されるプログラムが提供されるようにしてもよい。そして、CPU1001がプログラムを実行することにより、上記のようなコンピュータを図2に示した表形式データ処理装置1として働かせる。また、ユーザ端末2は、例えば、CPU1001が実行するインターネットブラウザを介して表形式データ処理装置1へ処理を要求したり、受信した処理結果を表示したりする。<Apparatus configuration>
FIG. 3 is an apparatus configuration diagram illustrating an example of a computer. The tabular
<ファイル読込処理>
次に、表形式データ処理装置1が実行する処理を、処理フローを用いて説明する。図4は、ファイル読込処理の一例を示す処理フローである。まず、表形式データ処理装置1の設定処理部102は、CSVファイルの入力を受け付ける(図4:ステップS1)。具体的には、設定処理部102は、ユーザ端末2からCSVファイルを受信し、データ記憶部101に記憶させる。例えば、図5に示すようなCSVファイルが入力される。<File reading process>
Next, processing executed by the tabular
図5Aは、本実施形態に係る表形式データの処理を説明するための図である。図5AのCSVファイルは、1行目にカンマ区切りで複数の項目名を有し、2行目以降にカンマ区切りで複数のフィールドを含むレコードを複数有している。また、カンマで区切られた項目名及びフィールドは、それぞれカンマで区切られた順序で対応しており、1つのCSVファイルには、項目名及び各レコードのフィールドが同数存在する。 FIG. 5A is a diagram for describing processing of tabular data according to the present embodiment. The CSV file in FIG. 5A has a plurality of item names separated by commas on the first line, and a plurality of records including a plurality of fields separated by commas on the second and subsequent lines. The item names and fields separated by commas correspond in the order separated by commas, and one CSV file has the same number of item names and fields of each record.
また、設定処理部102は、項目名及びレコードの開始行の入力を受け付ける(S2)。具体的には、ユーザは、CSVファイルごとに項目名が登録されている行、及びレコードが登録されている行の開始位置を、ユーザ端末2を介して指定する。一方、設定処理部102は、項目名が登録されている行、及びレコードが登録されている行の開始位置を、CSVファイルと対応付けてデータ記憶部101に記憶させる。図5Aの例では、1行目が項目名の開始位置であり、2行目がレコードの開始位置である。
Further, the setting
その後、データ分割部103は、CSVファイルの各行を要素とするリストを生成する(S3)。具体的には、データ分割部103は、例えばCSVファイルの先頭から1行ずつ読み出し、1行目から順に新たな要素としてリストに追加する。ここでは、例えば、図5Bに示す表形式データの行リストに示すようなデータが生成される。図5Bの行リストでは、リストの各要素が実線で区切られ、各要素にはCSVデータの各レコードが登録されている。
After that, the
また、データ分割部103は、生成された表形式データの行リストを、表形式データのファイル名と対応付けて、データ記憶部101へ記憶させる(S4)。例えば、Key(キー)をファイル名とし、Value(値)に行リストを登録した、Key−Value形式のデータ構造(いわゆるマップ)で記憶するようにしてもよい。
Further, the
その後、例えば設定処理部102は、未処理のCSVファイルが存在するか判断する(S5)。未処理のCSVファイルが存在する場合(S5:YES)、処理はS1に戻る。一方、未処理のCSVファイルが存在しない場合(S5:NO)、ファイル読込処理を終了する。本実施形態では、ファイル読込処理で読み込まれた1又は複数のCSVファイルを用いて、表形式データを結合したり、集計したりする。
Then, for example, the setting
<縦結合設定処理>
次に、複数の表形式データに含まれるレコードの和集合を生成する縦結合処理を説明する。図6は、縦結合設定処理の一例を示す処理フローである。<Vertical combination setting process>
Next, a vertical combination process for generating a union of records included in a plurality of tabular data will be described. FIG. 6 is a processing flow illustrating an example of the vertical combination setting processing.
まず、設定処理部102は、ユーザ端末2から、複数の表形式データに含まれる項目のうち、対応する項目の入力を受け付ける(図6:S11)。ユーザは、結合する複数の表形式データを指定するとともに、結合する表形式データに含まれ、結合後の表形式データにおいて同一の列(項目)に表示する項目の対応付けを指定する。ここでは、同じ実体を示す項目が対応付けられる。例えば、あるCSVファイルにおける「氏名」という項目と、別のCSVファイルにおける「名前」という項目との対応付けが入力される。
First, the setting
また、本ステップでは、1つの表形式データに含まれる複数の項目を結合し、1つの項目として扱うようにしてもよい。設定処理部102は、ある表形式データに含まれる複数のフィールドの結合と、他の表形式データに含まれる1のフィールド又は複数のフィールドの結合との対応付けの入力を受け付ける。例えば、あるCSVファイルにおける「苗字」という項目及び「名前」という項目の結合と、他のCSVファイルにおける「氏名」という項目との対応付けが入力される。
In this step, a plurality of items included in one tabular data may be combined and treated as one item. The setting
図7Aは、本ステップで入力される対応付けを説明するための図である。図7Aに示す表の1行目は、項目の通し番号を示している。また、表の2行目は、縦結合後の表形式データの出力項目名を示す。結合後の表形式データの項目名は、ユーザによって入力されるものとする。また、3行目以降の各行は、異なるCSVファイルにおける項目名を示す。そして、同じ列に登録されている項目名は、本ステップにおいて対応付けられた項目名を示す。例えば、4行目に示すCSVファイル「AAA」における「苗字」及び「名前」という項目の組合せと、5行目に示すCSVファイル「BBB」における「氏名」という項目とが対応付けられている。なお、CSVファイル名が「共通」の行は、登録されていないCSVファイル(図7Aの例では、「AAA」及び「BBB」以外のCSVファイル)にも共通して適用される設定である。 FIG. 7A is a diagram for explaining the association input in this step. The first line of the table shown in FIG. 7A indicates the serial number of the item. The second line of the table shows the output item names of the tabular data after the vertical combination. It is assumed that the item names of the tabulated data after the combination are input by the user. The third and subsequent lines indicate item names in different CSV files. The item names registered in the same column indicate the item names associated in this step. For example, the combination of the items "Last name" and "Name" in the CSV file "AAA" shown on the fourth line is associated with the item "Name" in the CSV file "BBB" shown on the fifth line. The line with the CSV file name “common” is a setting that is commonly applied to unregistered CSV files (in the example of FIG. 7A, CSV files other than “AAA” and “BBB”).
このように、対応する項目がある場合には、ユーザの操作により本ステップで対応付けられる。なお、複数の表形式データには、必ずしも対応する項目があるわけではない。また、本ステップでは、対応する項目をユーザが入力するものとして説明したが、例えば異なる表形式データに含まれる同一の項目名を予め対応付けて提示し、ユーザが適宜修正できるようにしてもよい。 Thus, when there is a corresponding item, it is associated in this step by the operation of the user. Note that a plurality of tabular data items do not always have corresponding items. In this step, the corresponding items are described as being input by the user. However, for example, the same item names included in different tabular data may be presented in advance in association with each other so that the user can appropriately correct the items. .
次に、設定処理部102は、入力された縦結合の設定データをデータ記憶部101に記憶させる(S12)。設定処理部102は、図7Aを用いて説明した項目の対応付けに基づいて、例えば、縦結合後の出力項目名に対し、当該出力項目名に対応する複数のCSVファイル名及び項目名を対応付けて登録する。例えば、図7Bに示すような、縦結合後の出力項目名のリストを生成して、データ記憶部101に記憶させる。
Next, the setting
図7Bの例では、実線で区切られた、出力項目を表す要素の中に、CSVファイル名及び項目名が入れ子状に登録されている。なお、CSVファイル名が空(CSVファイル名に何も登録されていない)の項目名は、特定のCSVファイルに限らず、出力項目に対応付けられていることを示す。以上で、縦結合設定処理を終了する。縦結合設定処理は、縦結合を行うCSVファイルの組合せについて、予め実行される。 In the example of FIG. 7B, CSV file names and item names are registered in a nested manner in elements representing output items separated by solid lines. Note that an item name with an empty CSV file name (nothing is registered in the CSV file name) indicates that the item name is not limited to a specific CSV file but is associated with an output item. Thus, the vertical combination setting process ends. The vertical combination setting process is executed in advance for a combination of CSV files for performing vertical combination.
<項目別リスト生成処理>
次に、縦結合処理等の前処理として実行される項目別リスト生成処理を説明する。図8は、項目別リスト生成処理の一例を示す処理フローである。<Item-specific list generation processing>
Next, an item-specific list generation process executed as a pre-process such as the vertical combination process will be described. FIG. 8 is a processing flow illustrating an example of the item-specific list generation processing.
まず、データ分割部103は、処理対象の表形式データの行リストを1つ取得する(図8:S21)。ここでは、データ分割部103は、例えば結合するCSVファイルの行リストを1つデータ記憶部101から読み出す。
First, the
次に、データ分割部103は、行リストから項目名の行(図5Bの例では、1行目)にカンマ区切りで登録されている項目名の数を計数する(S22)。項目名及びレコードの開始行は、図4のS2で指定された情報をデータ記憶部101から読み出して用いる。本ステップでは、データ分割部103は、処理対象の表形式データに含まれる列(項目名)の数を求める。
Next, the
その後、データ分割部103は、計数された項目名の数だけ項目別リストを生成し、初期化する(S23)。例えば、項目別リストに値を登録等するためのクラスを定義しておき、図9に示すようなオブジェクトを項目名の数だけ生成するようにしてもよい。図9のオブジェクトには、値を追加したり項目名を追加したりするためのメソッド(関数)が定義されている。また、本ステップでは、項目別リストに項目名を追加する。これにより、項目名によって項目別リストを識別することができるようになる。なお、項目別リストは、例えば表形式データ中の順序を示す通し番号で識別するようにしてもよい。図9のオブジェクトは一例であり、表形式データの項目ごとに要素を保持するリストを生成できれば、本実施形態は特定のプログラミング言語等には限定されない。
After that, the
また、データ分割部103は、表形式データの行リストから、レコードの登録された要素を1つ読み出す(S24)。例えば、図5Bに示した行リストから、2行目の要素が読み出される。ここでは、CSVファイルの1行分に相当するデータ(すなわち、レコード)が読み出される。
The
次に、データ分割部103は、読み出したデータから、カンマで区切られた複数の値を分解し、複数の項目別リストにそれぞれ追加する(S25)。ここでは、データ分割部103は、CSVファイルの1行に含まれる、複数の項目に対応する値を、項目の数だけ生成された項目別リストの各々に新たな要素として登録する。
Next, the
そして、データ分割部103は、行リストに未処理の要素が存在するか判断し(S26)、未処理の要素が存在する場合(S26:YES)は、S24の処理に戻る。一方、未処理の要素が存在しない場合(S26:NO)、データ分割部103は、表形式データの行リストに未処理のものが存在するか判断する(S27)。未処理の行リストが存在する場合(S27:YES)、データ分割部103は、S21の処理に戻る。一方、未処理の行リストが存在しない場合(S27:NO)、データ分割部103は、項目別リスト生成処理を終了する。
Then, the
項目別リスト生成処理では、表形式データに含まれる項目(列)ごとに、各レコード(行)の値を1行目から順に要素として保持するリストが生成される。図5Bに示した行リストの場合、例えば、図10Aに示すような項目別リストが生成される。図10Aには、「No.」、「ID」、「L_Name」、「F_Name」、「Sex」、「Station」及び「Expense」の各項目名に対応する6つの項目別リストが示されている。各項目別リストには、表形式データにおけるレコードの順に対応する順序で、値が要素として保持される。 In the item-specific list generation processing, a list is generated for each item (column) included in the tabular data, in which the values of the records (rows) are sequentially held as elements from the first row. In the case of the row list shown in FIG. 5B, for example, an itemized list as shown in FIG. 10A is generated. FIG. 10A shows six item-specific lists corresponding to the item names “No.”, “ID”, “L_Name”, “F_Name”, “Sex”, “Station”, and “Expense”. . In each itemized list, values are held as elements in the order corresponding to the order of records in tabular data.
<縦結合処理>
次に、複数の表形式データに含まれるレコードの和集合を生成する縦結合処理を説明する。なお、本実施形態では、図10Aに示した項目別リストと、他の表形式データから生成された図10Bに示す項目別リストとが予めデータ記憶部101に記憶されているものとする。図11は、縦結合処理の一例を示す処理フローである。<Vertical combination processing>
Next, a vertical combination process for generating a union of records included in a plurality of tabular data will be described. In this embodiment, it is assumed that the itemized list shown in FIG. 10A and the itemized list shown in FIG. 10B generated from other tabular data are stored in the
まず、縦結合部105は、縦結合の設定データに基づいて、結合する表形式データを1つ特定する(図11:S31)。また、縦結合部105は、縦結合の設定データに基づいて、出力する項目の数だけ出力用の項目別リストを生成し、初期化する(S32)。例えば、縦結合部105は、図7Bに示した設定データを読み出し、要素の数だけ出力用の項目別リストを生成する。項目別リストの生成及び初期化は、図8のS23と同じ処理である。
First, the
また、縦結合部105は、設定データから出力項目を1つ取得し、項目名を特定する(S33)。また、縦結合部105は、S31で特定された表形式データの項目別リストに、S33で取得した出力項目に対応する項目が存在するか判断する(S34)。
In addition, the
対応する項目が存在する場合(S34:YES)、縦結合部105は、S31で取得された項目別リストを、出力用の対応する項目別リストに登録する(S35)。ここで、縦結合の設定データ(例えば、図7B)において、複数の項目名が「+」で結合されている場合、出力用の項目別リスト1つに複数の項目別リストの要素を結合して登録する。一方、対応する項目が存在しない場合(S34:NO)、レコードの数だけ要素に「空」を登録した、出力用の項目別リストを登録する(S36)。出力項目に対応する項目が処理対象のファイルには存在しないため、ここでは、空の項目別リストが追加される。このとき、各要素内の値は、所定の区切記号(例えば、カンマやスペース等)で結合される。
If a corresponding item exists (S34: YES), the
その後、縦結合部105は、処理対象の表形式データに、未処理の項目別リストが存在するか判断する(S37)。未処理の項目別リストが存在する場合(S37:YES)、S33の処理に戻る。一方、未処理の項目別リストが存在しない場合(S37:NO)、縦結合部105は、結合する表形式データに未処理のものが存在するか判断する(S38)。未処理の表形式データが存在する場合(S38:YES)、S31の処理に戻る。一方、未処理の表形式データが存在しない場合(S38:NO)、S39の処理に遷移する。なお、結合後の項目に対応する項目別データが存在しない場合は、レコードの数だけ要素に「空」を登録した、出力用の項目別リストを生成するようにしてもよい。
Thereafter, the
S37までの処理によって、例えば図10Aに示した項目別リストから、図12Aに示すような出力用の項目別リストが生成される。図12Aの例では、縦結合の設定データに基づいて、結合される項目別リストの「L_Name」及び「F_Name」の要素が、出力用の項目別リストの「Name」にスペース区切りで結合されて登録されている。また、出力用の項目別リストとして、結合される項目別リストには存在しない「Office」を生成している。「Office」の項目別リストには、レコードの数だけ「空」が登録されている。また、S38までの処理によって、図12Aに示すような出力用の項目別リストが、結合する表形式データの分だけ生成される。例えば、図10Bに示した項目別リストから、図12Bに示すような出力用の項目別リストが生成される。図12Bの例では、結合する2つの表形式データの項目のうち、図10Aに示した「L_Name」及び「F_Name」の項目の結合と、図10Bに示した「Name」の項目とが、1つの項目「Name」に集約されている。 By the processing up to S37, for example, an itemized list for output as shown in FIG. 12A is generated from the itemized list shown in FIG. 10A. In the example of FIG. 12A, based on the setting data of the vertical combination, the elements “L_Name” and “F_Name” of the itemized list to be combined are combined with “Name” of the itemized list for output in a space-separated manner. It is registered. In addition, “Office”, which does not exist in the combined itemized list, is generated as the itemized list for output. In the itemized list of “Office”, “empty” is registered for the number of records. Further, through the processing up to S38, an output itemized list as shown in FIG. 12A is generated for the combined tabular data. For example, an itemized list for output as shown in FIG. 12B is generated from the itemized list shown in FIG. 10B. In the example of FIG. 12B, of the two tabular data items to be combined, the combination of the items “L_Name” and “F_Name” shown in FIG. 10A and the item “Name” shown in FIG. Are grouped into two items "Name".
その後、縦結合部105は、生成された出力用の項目別リストを、項目ごとに結合する(S39)。結合される複数の表形式データから生成された出力用の項目別リスト(図12A及び図12B)が、例えば図12Cに示すように結合される。図12Cでは、一方の項目別リストの要素と、他方の項目別リストの要素との和集合が生成されている。このとき、縦結合の設定データに基づいて、対応する項目は1つの項目別リスト(図12Cでは、「Name」)に登録される。以上で、縦結合処理を終了する。
Thereafter, the vertical combining
<出力処理>
次に、結合後の項目別データを表形式データとして出力する処理について説明する。図13は、出力処理の一例を示す処理フローである。<Output processing>
Next, a process of outputting the combined itemized data as tabular data will be described. FIG. 13 is a processing flow illustrating an example of the output processing.
出力データ生成部109は、結合された出力用の項目別リストを読み出し、出力用の行別リストを生成する(図13:S41)。例えば、まず、各レコードの値を要素として登録する行別リストを、レコードの数だけ生成及び初期化する。次に、出力用の項目別リストを読み出し、各要素をレコードの順序(すなわち、行番号)に対応する行別リストに新たな要素として登録する。このような処理を出力用の項目別リストのすべてについて行い、行別リストを生成する。例えば、図12Cに示した項目別リストから、図14Aに示すような行別リストが生成される。図14Aの例では、各要素が実線で囲われ、横方向に隣接する要素が、行別リストを表している。
The output
また、出力データ生成部109は、生成された出力用の行別リストを用いて、出力する表形式データの行リストを生成する(S42)。生成される行リストの要素は、出力用の行別リストに含まれる要素の間に区切記号を追加して1行に連結した値である。CSVファイルを出力する場合、出力データ生成部109は、区切記号としてカンマを各要素の間に追加する。例えば、図14Aに示すような行別リストから、図14Bに示すような行リストが生成される。
The output
次に、出力データ生成部109は、生成された行リストを用いて、表形式データを生成する(S43)。本ステップで生成される表形式データは、カンマ等の区切記号でフィールドが区切られ、改行でレコードが区切られたテキストデータである。ここでは、出力データ生成部109は、S42において生成された行リストの要素の各々を1行として、1つのファイルに結合する。例えば、図14Bに示した行リストから、図14Cに示すようなCSVファイルが生成される。なお、CSVファイルの他、既存の表計算ソフトで読込可能なファイルを生成するようにしてもよい。
Next, the output
以上のように、ファイル読込処理、縦結合設定処理、項目別リスト生成処理、及び縦結合処理によれば、データ項目の異なる表形式データの和集合を生成することができる。また、例えばユーザが予め項目の対応付けを指定することにより、対応付けられた項目を、結合後の表形式データにおいて同一の列にそろえる(すなわち、集約する)ことができる。このような処理は、本実施形態において中間的に生成される項目別データを用いることで、効率的に処理することができる。 As described above, according to the file reading processing, the vertical combination setting processing, the itemized list generation processing, and the vertical combination processing, it is possible to generate a union of tabular data having different data items. Further, for example, when the user designates the correspondence of the items in advance, the related items can be arranged in the same column in the combined tabular data (that is, they can be aggregated). Such processing can be efficiently performed by using the item-by-item data generated intermediately in the present embodiment.
<横結合設定処理>
次に、横結合処理及び集計処理について説明する。本実施形態に係る横結合処理とは、キー項目の値が所定の条件を満たす、複数のレコードを1つのレコードに統合する処理である。また、本実施形態に係る集計処理とは、キー項目の値が所定の条件を満たす、複数のレコードを集計する処理である。まず、横結合処理で用いられるキー項目を設定するための横結合設定処理について説明する。<Horizontal connection setting process>
Next, the horizontal joining process and the tallying process will be described. The horizontal combination process according to the present embodiment is a process of integrating a plurality of records into a single record in which the value of a key item satisfies a predetermined condition. The tallying process according to the present embodiment is a process of tallying a plurality of records in which the value of a key item satisfies a predetermined condition. First, a horizontal combination setting process for setting key items used in the horizontal combination process will be described.
図15は、横結合設定処理の一例を示す処理フローである。本実施形態では、先に説明した縦結合後の表形式データを用いて、複数のレコードを1つのレコードに統合する処理を行う。よって、例えば、図7Aに示したような縦結合の設定データが予めデータ記憶部101に記憶されているものとする。
FIG. 15 is a processing flow illustrating an example of the horizontal coupling setting processing. In the present embodiment, a process of integrating a plurality of records into one record is performed using the tabular data after the vertical combination described above. Therefore, for example, it is assumed that the setting data of the vertical combination as shown in FIG. 7A is stored in the
まず、表示制御部104は、出力項目の一覧を生成してユーザ端末2へ送信し、ユーザ端末2の表示装置に表示させる(図15:S51)。本ステップでは、表示制御部104は、縦結合の設定データから出力項目を読み出し、ユーザがキー項目を指定するための一覧を生成する。例えば、各項目をパネル状にして表示し、ユーザがクリックしたり又は所定の領域へドラッグアンドドロップしたりしてキー項目を選択できるようにする。
First, the
図16に、画面の一例を示す。図16の画面は、項目の一覧を表示するための項目一覧表示領域2001と、指定されたキー項目の一覧を表示するためのキー項目表示領域2002と、重複値の処理を選択するための重複値処理選択領域2003と、同一のフィールドに値を結合して表示する際の区切記号を選択するための区切記号選択領域2004とを含む。項目一覧表示領域2001には、縦結合後の表形式データの項目の一覧が、項目ごとパネル状に表示されている。
FIG. 16 shows an example of the screen. The screen of FIG. 16 includes an item
また、設定処理部102は、ユーザ端末2からキー項目の指定を受け付ける(S52)。本ステップでは、ユーザが画面上で項目のパネルに対して所定の操作を行うことにより、設定処理部102はキー項目の指定を受け付ける。所定の操作とは、パネルのキー項目表示領域へのドラッグや、パネルのクリック等である。例えば、図16に示した画面において、項目一覧表示領域2001の各パネルをドラッグアンドドロップ可能とし、パネルがキー項目表示領域2002にドロップされた場合、設定処理部102は当該パネルに対応する項目をキー項目として受け付ける。また、表示制御部104は、画面上において、ドラッグされた項目のパネルの表示を、キー項目表示領域に移動させる。
Further, the setting
キー項目は複数指定できるようにしてもよい。このとき、キー項目表示領域2002において、指定された順に上から下へパネルが追加される。なお、パネルが追加される方向は上から下には限られず、その他の所定の方向であってもよい。また、ユーザがドラッグすることにより、キー項目表示領域におけるパネルの順序を入れ替えることができるようにしてもよい。ここで、キー項目の順序は、結合後のレコードをまとめる際の優先度を示す。すなわち、結合後のレコードは、キー項目の順序に基づいて、例えば、上位のキー項目の値が同一のレコードは下位のキー項目の値でソートされるように、複数キーによるソートができる。
A plurality of key items may be specified. At this time, in the key
また、選択されたキー項目には、レコードを集約するための条件を設定する。すなわち、例えば、「完全一致」、「前方一致」、「後方一致」又は「中間一致」のような、名寄せを行う条件を設定する。さらに、当該キー項目についてデータクレンジング(標準化)を行うか否かを指定できるようにしてもよい。 In the selected key item, a condition for collecting records is set. That is, for example, conditions for performing name identification such as “perfect match”, “front match”, “backward match”, and “intermediate match” are set. Furthermore, whether to perform data cleansing (standardization) on the key item may be designated.
図17は、キー項目の設定を行うための画面の一例である。図17の画面には、キー項目の項目名と、「名寄せ判断」の選択肢3001と、「データクレンジング処理」を行うか否かの選択肢3002と、設定を登録するための「登録」ボタン3003が表示されている。例えば、図16のキー項目一覧に表示されたパネルをクリックすることにより、図17に示すような、当該パネルが示すキー項目の設定画面が表示される。
FIG. 17 is an example of a screen for setting key items. The screen of FIG. 17 includes an item name of a key item, an
「名寄せ判断」の選択肢3001には、名寄せを行う条件が選択肢として表示されている。本実施形態において「名寄せ」とは、表形式データに含まれる同一の実体に係るレコードをまとめる処理をいう。本実施形態では、キー項目の値の少なくとも一部が一致するレコードを集約する。名寄せを行うことで、例えば同一人物に関するレコードを特定することができ、集計結果がより精確になる。
In the
また、「データクレンジング処理」は、キー項目の値の記述形式を標準化する処理である。例えば電話番号を示す値が、「01-2345-6789」、「01(2345)6789」、「0123456789」等のように異なる記述形式で登録されている場合がある。このような値を標準化することにより、より精度の高い名寄せを行うことができるようになる。例示した電話番号の他、郵便番号、日付、法人名、数値(桁区切りの有無や単位の有無等)、氏名の異体字、住所等について、データクレンジングを行うことにより、記述形式の差異を吸収できる。データクレンジング処理については既存の技術を適用することができる。 The “data cleansing process” is a process for standardizing the description format of the value of the key item. For example, a value indicating a telephone number may be registered in a different description format such as “01-2345-6789”, “01 (2345) 6789”, “0123456789”, and the like. By standardizing such values, it is possible to perform more accurate name identification. Absorb the differences in the description format by performing data cleansing on the postal code, date, corporate name, numerical value (whether there is a digit separator, whether there is a unit, etc.), name variant, address, etc. it can. Existing technology can be applied to the data cleansing process.
データクレンジングを併用した名寄せにより、例えば、(1)異体字で記述された「斉藤」、「斎藤」、「齋藤」、「齊藤」のいずれか、且つ(2)記述形式の異なる「東京都千代田区飯田橋99−99−99XXハイツ101号室」、「東京都千代田区飯田橋99−99−99−101」、「東京都千代田区飯田橋99丁目99番99号XXハイツ101号室」、「千代田区飯田橋99−99−99−101」等のいずれか、且つ(3)記述形式の異なるコード番号「1000523」、「1,000,523」、「壱百萬五百二十三」等のいずれかという条件を満たす、(1)〜(3)の様々な組合せを含むレコードを、同一人物に関するレコードとして扱うことができるようになる。
By name matching using data cleansing, for example, (1) one of “Saito”, “Saito”, “Saito”, and “Saito” described in variant characters, and (2) “Chiyoda, Tokyo” having a different description format Iidabashi 99-99-99
また、設定処理部102は、キー項目の設定が完了した場合、キー項目表示領域2002の表示を更新する(S53)。ここでは、キー項目のパネルが、条件の指定が完了したことを示す所定の表示態様に変更される。表示態様としては、背景色、文字色、書体、大きさ、又はこれらの変化パターン(背景色の点滅等)等が挙げられる。例えば、図16に示したキー項目に対して条件の指定が完了した場合、図18に示すようにキー項目のパネルの色を変更する。図18の画面では、条件の指定が完了したパネルの色が、「キー項目」のタイトルの背景色と同一の色に変更されている。なお、図16及び図18では、便宜上ハッチングのパターンで色を表している。同一のパターンで塗りつぶされた領域は、同一の色で塗りつぶされているものとする。
When the setting of the key item is completed, the setting
その後、設定処理部102は、キー項目の入力が終了したか判断する(S54)。例えば、ユーザの操作により、図18の「データ出力」ボタンが押下されると、設定処理部102は、キー項目の入力が終了したものと判断する。入力が終了していない場合(S54:NO)、例えばS52の処理に戻り、設定処理部102は、さらにキー項目の指定を受け付ける。一方、入力が終了した場合(S54:YES)、設定処理部102は、データ記憶部101に設定を記憶させ、横結合設定処理を終了する(S55)。本ステップでは、横結合の設定データとして、「キー項目」及び「名寄せの条件」が設定される。さらに、「データクレンジング処理の要否」や、「重複する値の処理」、「区切記号の種類」等を設定してもよい。
Thereafter, the setting
<集計設定処理>
次に、集計処理で用いられるキー項目及び集計項目を設定するための集計設定処理について説明する。図19は、集計設定処理の一例を示す処理フローである。本実施形態では、縦結合後の表形式データを用いて、レコードの値を集計する。よって、図7Aに示したような縦結合の設定データが予めデータ記憶部101に記憶されているものとする。<Total setting process>
Next, a tally setting process for setting key items and tally items used in the tally process will be described. FIG. 19 is a process flow illustrating an example of the tally setting process. In the present embodiment, the values of the records are totaled using the tabular data after the vertical combination. Therefore, it is assumed that the vertical combination setting data as shown in FIG. 7A is stored in the
まず、表示制御部104は、出力項目の一覧を生成してユーザ端末2へ送信し、出力項目の一覧をユーザ端末2の表示装置に表示させる(図19:S61)。本ステップの処理は、図15のS51と同様である。
First, the
図20に、画面の一例を示す。図20の画面は、項目の一覧を表示するための項目一覧表示領域4001と、出力される表形式データに新しい項目を追加するための新規項目のパネル4002と、指定されたキー項目の一覧を表示するためのキー項目表示領域4003と、集計項目の一覧を表示するための集計項目表示領域4004とを含む。項目一覧表示領域には、縦結合後の表形式データの項目の一覧が、項目ごとパネル状に表示されている。
FIG. 20 shows an example of the screen. The screen of FIG. 20 includes an item
また、設定処理部102は、ユーザ端末2からキー項目の指定を受け付ける(S62)。本ステップは、図15のS52とほぼ同様であり、ユーザが画面上で項目のパネルに対して所定の操作を行うことによって、設定処理部102はキー項目の指定を受け付ける。また、集計設定処理では、集計するレコードの条件として、キー項目の集計方法を選択させる。集計方法は、例えば、「完全一致」、「年別」、「月別」、「日別」、「曜日別」等の選択肢からユーザに指定させる。
Further, the setting
図21は、キー項目の設定を行うための画面の一例である。図20の画面には、キー項目の項目名5001と、「キー項目の集計方法」の選択肢5002とが表示されている。例えば、図20のキー項目一覧に表示されたパネルをクリックすることにより、図21に示すような、当該パネルが示すキー項目の設定画面が表示される。
FIG. 21 is an example of a screen for setting key items. The screen of FIG. 20 displays an
なお、「完全一致」が選択された場合、キー項目の値が完全一致するレコードが集約されて、後述する「集計項目」の値が求められる。また、「年別」、「月別」、「日別」、「曜日別」等の選択肢は、キー項目が日付を表す場合に有効である。それぞれ、所定の期間を単位として集計処理が行われる。 When “exact match” is selected, records in which the values of the key items completely match are aggregated, and the value of “total item” described later is obtained. Further, options such as “by year”, “by month”, “by day”, and “by day of the week” are effective when the key item indicates a date. Aggregation processing is performed for each predetermined period.
また、設定処理部102は、キー項目の設定が完了した場合、キー項目表示領域の表示を更新する(S63)。本ステップは、図15のS53と同様であり、キー項目のパネルが、条件の指定が完了したことを示す所定の表示態様に変更される。例えば、図20に示したキー項目に対して条件の指定が完了した場合、図22に示すようにキー項目のパネルの色を変更する。なお、図20及び図22でも、便宜上ハッチングのパターンで色を表している。なお、キー項目の指定は、複数受け付けるようにしてもよい。キー項目を複数受け付ける場合の処理は、S54(図15)と同様である。
Further, when the setting of the key item is completed, the setting
また、設定処理部102は、集計項目の指定を受け付ける(S64)。ここでは、ユーザが画面上で項目のパネルに対して所定の操作を行うことによって、設定処理部102は集計項目の指定を受け付ける。例えば、図22に示した画面において、項目一覧表示領域4001の各パネルをドラッグアンドドロップ可能とし、パネルが集計項目表示領域4004にドロップされた場合、設定処理部102は当該パネルを集計項目として受け付けるようにする。また、表示制御部104は、例えば、図23に示すように、画面上において、ドラッグされた項目のパネルを、集計項目表示領域4004に移動させる。また、集計項目として、縦結合後の表形式データには存在しない項目を新たに生成することもできる。この場合、ユーザは、例えば、図22の左下に存在する「新規」のパネル4002を集計項目表示領域4004へドラッグする。新規項目については、後に詳述する。
Further, the setting
また、集計項目も、複数指定できるようにしてもよい。このとき、集計項目表示領域4004において、指定された順に上から下へパネルが追加される。なお、パネルが追加される方向は上から下には限られず、その他の所定の方向であってもよい。また、ユーザがドラッグすることにより、集計項目表示領域4004におけるパネルの順序を入れ替えることができるようにしてもよい。ここで、本実施形態では集計項目の順序に基づいて集計処理を行う。よって、下位の集計項目では、上位の集計項目の結果を用いて集計処理を行うことができる。
Also, a plurality of total items may be designated. At this time, panels are added from the top to the bottom in the specified order in the total
また、集計項目には、項目の集計方法を設定する。例えば、値を区切記号で結合した文字列を生成する「結合」や値の出現回数を計数する「頻度」等の「文字集計」、又は「合計」や「平均」、「中央値」、「最頻値」、「最大値」、「最小値」、「分散」、「標準偏差」等の「数値集計(要約統計量)」がユーザによって選択される。 In addition, a totaling method of the item is set in the totaling item. For example, "combination" to generate a character string in which values are combined with a delimiter, "character aggregation" such as "frequency" to count the number of occurrences of a value, or "total", "average", "median", " “Numerical aggregation (summary statistics)” such as “mode”, “maximum”, “minimum”, “variance”, and “standard deviation” is selected by the user.
図24は、集計項目の設定を行うための画面の一例である。図24の画面には、集計項目の項目名6001と、「項目の集計方法」の選択肢6002とが表示されている。例えば、図23の集計項目表示領域に表示されたパネルをクリックすることにより、図24に示すような、当該パネルが示すキー項目の設定画面が表示される。
FIG. 24 is an example of a screen for setting tally items. The screen of FIG. 24 displays an
また、設定処理部102は、集計項目の設定が完了した場合、集計項目表示領域の表示を更新する(S65)。本ステップは、S63と同様であり、集計項目のパネルが、条件の指定が完了したことを示す所定の表示態様に変更される。例えば、図23に示したキー項目に対して条件の指定が完了した場合、図25に示すように集計項目のパネルの色を変更する。なお、図23及び図25でも、便宜上ハッチングのパターンで色を表している。以上のような集計項目の指定も、複数受け付けるようにしてもよい。
Further, when the setting of the tally item is completed, the setting
その後、設定処理部102は、キー項目及び集計項目の入力が終了したか判断する(S66)。例えば、ユーザの操作により、図25の「データ出力」ボタンが押下されると、設定処理部102は、キー項目の入力が終了したものと判断する。入力が終了していない場合(S66:NO)、例えばS62の処理に戻り、設定処理部102は、さらにキー項目の指定を受け付ける。なお、S64の処理に戻り、設定処理部102は、集計項目の指定を受け付けるようにしてもよい。図19の処理フローでは、キー項目の指定及びキー項目表示領域の表示更新(S62及びS63)と、集計項目の指定及び集計項目表示領域の表示更新(S64及びS65)とを便宜的に連続する処理として説明したが、それぞれ独立した処理である。したがって、ユーザの操作に基づき、任意の順序で、それぞれ任意の回数実行される。一方、入力が終了した場合(S66:YES)、設定処理部102は、データ記憶部101に設定を記憶させ(S67)、集計設定処理を終了する。S67では、集計処理の設定データとして、例えば、「キー項目」及び「キー項目の集計方法」、並びに「集計項目」及び「項目の集計方法」が設定される。
Thereafter, the setting
<対照群生成処理>
横結合処理又は集計処理を行う場合、上でも述べた通り、まず縦結合処理を行う。すなわち、図14Cに示したような、複数の表形式データの和集合を処理対象とする。また、横結合処理又は集計処理においても、処理対象の表形式データに対して図8に示した項目別リスト生成処理を行い、項目別リストを生成する。項目別リスト生成処理については、図8に示した通りであるため、説明を省略する。例えば、図14Cに示した表形式データから、図12Cに示したような項目別リストが生成される。<Control group generation processing>
When performing the horizontal combining process or the totalizing process, first, as described above, the vertical combining process is performed. That is, the union of a plurality of tabular data as shown in FIG. Also, in the horizontal joining process or the tabulation process, the item-specific list generation process shown in FIG. 8 is performed on the tabular data to be processed to generate the item-specific list. The item-specific list generation processing is as shown in FIG. For example, an itemized list as shown in FIG. 12C is generated from the tabular data shown in FIG. 14C.
また、横結合処理及び集計処理の処理過程で、項目別リストを用いて集約するレコードを特定するためのデータである「対照群」が、中間的に生成される。本実施形態の対照群とは、キー項目の値が所定の条件を満たすレコード(行)を、行番号の集合で表したものである。対照群生成処理では、例えば、キー項目の値が完全一致するレコードの行番号の集合や、日付形式で記述されたキー項目の値が所定の期間内に属するレコードの行番号の集合が生成される。そして、表形式データ処理装置1は、後述する横結合処理又は集計処理において、対照群を用いてレコードを集約する。
In the process of the horizontal joining process and the aggregation process, a “control group” which is data for specifying records to be aggregated using the itemized list is generated in the middle. The control group according to the present embodiment is a record (row) in which the value of a key item satisfies a predetermined condition is represented by a set of row numbers. In the control group generation processing, for example, a set of line numbers of records in which the values of key items completely match or a set of line numbers of records in which the values of the key items described in the date format belong within a predetermined period are generated. You. Then, the tabular
図26及び27は、対照群生成処理の一例を示す処理フローである。対照群生成部106は、横結合の設定データ又は集計処理の設定データをデータ記憶部101から読み出し、キー項目の項目別リストを1つ取得する(図26:S71)。例えば、図14Cに示した表形式データのうち、「Name」がキー項目に指定されている場合、図12Cに示した項目別リストのうち、左から3番目(項目名:Name)の項目別リストが取得される。
FIGS. 26 and 27 are processing flows illustrating an example of the control group generation processing. The control
また、対照群生成部106は、値と行番号のリストとを対応付けて保持する、Key−Value形式のマップを生成する(S72)。Keyには、キー項目の値が登録され、Valueには、行番号を要素として保持するリストが登録される。
In addition, the control
次に、対照群生成処理部106は、クレンジング処理を行う(S73)。本ステップは、例えば、横結合の設定データ又は集計処理の設定データにおいて、クレンジング処理を行う旨の指定がされている場合に行われる。本ステップでは、電話番号、郵便番号、日付、法人名、数値(区切記号の有無や単位の有無等)、氏名の異体字、住所等について、値の記述形式を変更して統一する。これにより、名寄せのような、レコードを集約する処理の精度が向上する。
Next, the control group
また、対照群生成部106は、キー項目の項目別リストから要素を1つ取得する(S74)。本ステップでは、キー項目の値が、レコードの登録順(行番号順)に1つずつ読み出される。そして、対照群生成処理部106は、読み出された要素の値が対照群に存在するか判断する(S75)。ここでは、対照群生成処理部106は、読み出された要素の値が属すべき集合がすでに生成されているか判断する。図12Cの例では、例えば「Name」の値が読み出され、値が同一の集合がすでに存在するか判断される。読み出された要素の値が対照群に存在しない場合(S75:NO)、対照群生成部106は、読み出された要素の値と関連付けて、当該要素の行番号をリストに登録する(S76)。一方、読み出された要素の値が対照群に存在する場合(S75:YES)、対照群生成部106は、合致する値と関連付けられた行番号のリスト(すなわち、集合)に、当該要素の行番号を追加する(S77)。
Further, the control
その後、対照群生成部106は、キー項目の項目別リストに未処理の要素が存在するか判断する(S78)。未処理の要素が存在する場合(S78:YES)、S74の処理に戻る。キー項目を集約する条件が「完全一致」であり、図12Cの左から3番目に示した「Name」の項目別リストについて処理を行う場合、1行目から3行目までは同一の値が対照群に存在しないため、新たな行番号の集合が生成される。4行目の「Fujita Tomoko」は1行目と同一である。よって、S74において4行目が取得された場合、S75において合致する値が対照群に存在すると判断される。同様に5行目は、2行目と同一の集合に追加される。図12Cの左から3番目の項目別データからは、図28Aに示すような対照群が生成される。
Thereafter, the control
また、対照群生成部106は、未処理のキー項目が存在するか判断する(S79)。未処理のキー項目が存在する場合(S79:YES)、処理は図16のS71に戻る。一方、未処理のキー項目が存在しない場合(S79:NO)、対照群生成部106は、対照群は1種類であるか判断する(S80)。なお、ここまでの処理で、キー項目の数だけ対照群が生成されている。また、対照群の生成において、図28Aに示したような値と行番号の集合との組み合わせを保持していたが、ここでは値との対応付けを削除し、行番号の集合のみを処理の対象とする。
Further, the control
対照群が複数存在する場合(S80:NO)、対照群生成部106は、2つの対照群を取得する(S81)。例えば、対照群に含まれる集合の数が少ない順に2つの対照群を取得する。また、対照群生成部106は、取得した2つの対照群の積集合を生成する(S82)。そして、対照群生成部106は、取得した2つの対照群を、生成した積集合で置換する(S83)。その後、S80の処理に戻る。一方、S80において対照群が1種類であると判断された場合(S80:YES)、対照群生成部106は、対照群生成処理を終了する。
When there are a plurality of control groups (S80: NO), the control
以上の対照群生成処理により、対照群生成部106は、図28Bに示すような、値とは対応付けされていない行番号の集合を、データ記憶部101に記憶させる。なお、後述する横結合処理や集計処理では、行番号の集合がわかればレコードを集約することができる。
Through the above-described control group generation processing, the control
また、出力する表形式データにおいてレコードをソートする場合は、対照群生成処理において行番号の集合をソートしておく。仮に、「英字」及び「数字」という2つのキー項目を有する表形式データから、図29Aに示すような行番号の集合が生成されたとする。ここでは、「英字」の値が「A」、「B」及び「C」である行番号の集合が、「英字」の昇順にソートされている。また、「数字」の値の昇順に行番号の集合をソートすると、図29Bのような行番号の集合が生成されたものとする。図29Bでは、「数字」の値が「0」及び「1」である行番号の集合が生成されている。このようなデータに対して、キー項目が「英字」、「数字」の順に、複数キーでのソートを行う場合、図29Cに示すような積集合が生成される。図29Cの例では、「英字」及び「数字」の値が、「A」且つ「1」、「B」且つ「1」、「C」且つ「0」である行番号の集合が生成されている。なお、キー項目が「数字」、「英字」の順に、複数キーでのソートを行う場合は、図29Dに示すような積集合が生成される。図29Dの例では、「数字」及び「英字」の値が、「0」且つ「C」、「1」且つ「A」、「1」且つ「B」である行番号の集合が生成されている。このようにソートされた順序を保持しておけば、行番号の集合と値との対応付けを削除しても、行番号の集合とその順序に基づいてレコードをソートしつつ集約することができる。 When records are sorted in tabular data to be output, a set of row numbers is sorted in the control group generation processing. It is assumed that a set of row numbers as shown in FIG. 29A is generated from tabular data having two key items of “alphabet” and “numeric”. Here, a set of line numbers in which the value of “alphabet” is “A”, “B”, and “C” is sorted in ascending order of “alphabet”. When the set of line numbers is sorted in ascending order of the value of “number”, it is assumed that a set of line numbers as shown in FIG. 29B is generated. In FIG. 29B, a set of row numbers in which the value of “number” is “0” and “1” is generated. When such data is sorted by a plurality of keys in the order of key letters “alphabet” and “numeric”, an intersection set as shown in FIG. 29C is generated. In the example of FIG. 29C, a set of line numbers in which the values of “alphabet” and “number” are “A” and “1”, “B” and “1”, “C” and “0” are generated. I have. When the key items are sorted by a plurality of keys in the order of “numeric” and “alphabet”, an intersection set as shown in FIG. 29D is generated. In the example of FIG. 29D, a set of row numbers in which the values of “numeric” and “alphabet” are “0” and “C”, “1” and “A”, “1” and “B” are generated. I have. By maintaining the sorted order in this way, even if the association between the set of row numbers and the value is deleted, records can be sorted and aggregated based on the set of row numbers and their order. .
以上のように、対照群生成処理では、最終的に1つの対照群が生成され、データ記憶部101に記憶される。対照群の積集合を求めることにより、複数のキー項目が指定された場合でも、複数のキー項目によって特定されるレコードの集合ごとにレコードを集約することができるようになる。
As described above, in the control group generation processing, one control group is finally generated and stored in the
<横結合処理・集計処理>
対照群が生成された後、横結合処理又は集計処理が行われる。横結合処理は横結合部107によって実行され、集計処理は集計部108によって実行されるものとする。<Horizontal join processing / aggregation processing>
After the control group is generated, a horizontal joining process or a totaling process is performed. The horizontal combining process is performed by the
図30は、横結合・集計処理の一例を示す処理フローである。まず、横結合部107又は集計部108は、出力用の項目別リストを生成し、初期化する(図30:S91)。ここでは、横結合の設定データ又は集計処理の設定データに基づいて、出力項目の数だけ項目別リストを生成する。
FIG. 30 is a processing flow illustrating an example of the horizontal combination / aggregation processing. First, the
また、横結合部107又は集計部108は、処理対象の項目別リストを1つ取得する(S92)。横結合処理の場合、図12Cに示したような、縦結合後の項目別リストから項目別リストを1つ取得する。集計処理の場合、キー項目及び集計項目に対応する項目別リストから、1つ取得する。また、横結合部107又は集計部108は、対照群から集合を1つ取得する(S93)。ここでは、図28Aに示したような対照群から行番号の集合を1つ取得する。
Further, the
そして、横結合部107又は集計部108は、値を結合するか判断する(S94)。ここでは、横結合を行う場合、又は項目の集計方法として「結合」が指定されている場合、値を結合すると判断される。一方、項目の集計方法として、「合計」、「平均」、「中央値」、「最頻値」、「最大値」、「最小値」、「分散」、「標準偏差」等が指定されている場合、値を結合しないと判断される。
Then, the
値を結合する場合(S94:YES)、横結合部107又は集計部108は、S93で取得した集合に含まれる行番号に対応する要素を、S92で取得した項目別リストから取得し、例えば所定の区切記号で結合する(S95)。なお、図16の重複値処理選択領域に示したように、横結合処理においてはキー項目が所定の条件を満たすレコードを1つのレコードにまとめる場合、重複を除いて値を結合するようにしてもよいし、重複を許して値を結合するようにしてもよい。また、横結合処理において、キー項目が所定の条件を満たすレコードを1つのレコードにまとめるのではなく、例えば出現頻度の順にソートするようにしてもよい。
When the values are combined (S94: YES), the
一方、S94において値を結合しないと判断された場合(S94:NO)、集計部108は、値を算出する(S96)。ここでは、横結合部107又は集計部108は、S93で取得した集合に含まれる行番号に対応する要素を、S92で取得した項目別リストから取得し、項目の集計方法に基づいて、合計したり平均を算出したりする。
On the other hand, when it is determined that the values are not combined in S94 (S94: NO), the
S95又はS96の後、横結合部107又は集計部108は、結合した値又は集計した値を出力用の項目別リストに新たな要素として登録する(S97)。そして、横結合部107又は集計部108は、対照群に未処理の集合が存在するか判断する(S98)。未処理の集合が存在する場合(S98:YES)、S93の処理に戻る。一方、未処理の集合が存在しない場合(S98:NO)、横結合部107又は集計部108は、未処理の項目が存在するか判断する(S99)。横結合処理の場合、図12Cに示したような、縦結合後の項目別リストに、未処理の項目別リストが存在するか判断する。集計処理の場合、キー項目及び集計項目に対応する項目別リストに、未処理のものが存在するか判断する。未処理の項目が存在する場合(S99:YES)、S92の処理に戻る。一方、未処理の項目が存在しない場合(S99:NO)、横結合部107又は集計部108は、横結合・集計処理を終了する。
After S95 or S96, the
以上のように、本実施形態では対照群を用いて集約するレコードを特定する。上でも述べたように、対照群の生成は、キー項目の値の各々について、すでに生成された集合(対照群の集合のいずれか)に属するか否かを判断することにより行われる。キー項目の値の各々について、キー項目の他の値の各々と比較するような処理を行う必要がないため、対照群の生成は比較的高速に行うことができる。また、対照群を生成した後は、各集合と当該集合に属するレコードの値との関連付けは保持する必要がない。すなわち、対照群の各集合は、行番号のみを保持している。このような対照群を記憶するために必要なメモリの容量は比較的少なくなる。 As described above, in the present embodiment, records to be aggregated are specified using the control group. As described above, the generation of the control group is performed by determining whether or not each of the values of the key item belongs to the already generated set (any of the sets of the control group). Since it is not necessary to perform a process for comparing each of the key item values with each of the other key item values, the control group can be generated relatively quickly. After the control group is generated, it is not necessary to maintain the association between each set and the value of the record belonging to the set. That is, each set of the control group holds only the row number. The amount of memory required to store such a control group is relatively small.
<新規項目生成処理>
次に、集計処理において新しい項目の生成が指示された場合の処理について説明する。例えば、図23に示した画面において集計項目表示領域に「新規」のパネルが追加された場合、図19のS64において、設定処理部102は、値の係数、計算式の入力、又は条件式の入力をユーザ端末2から受け付ける。図31は、新規項目の設定画面の一例を示す図である。例えば、図23において、集計項目表示領域に「新規」パネルが追加され、追加された当該パネルがクリックされると、ユーザ端末2の表示部には、図31に示すような画面が表示される。<New item generation process>
Next, a description will be given of a process when generation of a new item is instructed in the tallying process. For example, when a “new” panel is added to the total item display area on the screen shown in FIG. 23, in S64 of FIG. 19, the setting
図31の例では、新規項目の名称7001と、「キーカウント」、「計算」及び「条件」の各ボタン7002とが表示されている。「キーカウント」が押下されると、キー項目含まれる同一の値ごとに個数が計数される。「計算」が押下されると、ユーザ端末2には、計算式を入力するための画面が表示される。図32は、計算式を入力するための画面の一例を示す図である。図32の画面には、集計項目の一覧を表示するための領域8001と、演算式又は固定値を入力するためのテンキー8002と、計算式を項目のパネル及びテンキーのパネルで表示するための計算式の表示領域8003と、計算式を文字列で確認するための確認用計算式の表示領域8004とを有する。集計項目の一覧には、図25等の集計項目表示領域に追加されたパネルが表示されている。また、本実施形態では、当該新規項目よりも上位に登録されている項目を用いて計算式を作成することができる。すなわち、上位に登録されている他の新規項目の計算結果を用いて、さらに新規項目を定義することができる。
In the example of FIG. 31, a
また、「条件」が押下されると、ユーザ端末2には、条件式を入力するための画面が表示される。図33は、条件式を入力するための画面の一例を示す図である。図33の例では、集計項目の一覧9001と、条件を定義する領域9002と、条件に合致する場合の出力値を設定する領域9003と、条件に合致しない場合の出力値を設定するための領域9004とが表示されている。ユーザは、例えば、集計項目と任意の値との大小関係が指定された条件を満たす場合と満たさない場合とについて、出力する値を設定することができる。また、条件式は「AND」(論理積)又は「OR」(論理和)で接続して複数定義することができる。条件式の場合も、当該新規項目よりも上位に登録されている集計項目を用いてさらに条件式を作成することができる。
When “condition” is pressed, a screen for inputting a conditional expression is displayed on the
新規項目を設定する場合、集計項目の設定データには、「項目の集計方法」として、頻度を係数する項目、計算式又は条件式が設定される。 When a new item is set, an item for calculating the frequency, a calculation formula, or a conditional expression is set in the setting data of the tally item as “item tallying method”.
図34は、新規項目生成処理の一例を示す処理フローである。まず、集計部108は、集計処理の設定データを読み出し、新規項目を1つ取得する(図34:S101)。また、集計部108は、新規項目の集計処理が条件式又は計算式であるか判断する(S102)。条件式又は計算式である場合(S102:YES)、集計部108は、対照群の集合を1つ取得する(S103)。
FIG. 34 is a process flow illustrating an example of a new item generation process. First, the
そして、集計部108は、条件式の判断又は計算式の算出を行う(S104)。また、集計部108は、条件式の判断結果又は計算式の算出結果を出力用の項目別リストに新たな要素として登録する(S105)。そして、集計部108は、未処理の集合が対照群に存在するか判断し(S106)、未処理の集合が存在する場合(S106:YES)、S103の処理に戻る。一方、未処理の集合が存在しない場合(S106:NO)、S111の処理に遷移する。一方、S102において、条件式又は計算式でないと判断された場合(S102:NO)、集計部108は、対照群の集合を1つ取得する(S107)。そして、集計部108は、対照群の集合に含まれる値の数を計数する(S108)。そして、集計部108は、出力用の項目別リストに新たな要素として登録する(S109)。
Then, the
その後、未処理の集合が存在するか判断する(S110)。未処理の集合が存在する場合(S110:YES)、S107の処理に戻る。一方、未処理の集合が存在しない場合(S110:NO)、又はS106において未処理の集合が存在しないと判断された場合(S106:NO)、集計部108は、未処理の新規項目が存在するか判断する(S111)。未処理の新規項目が存在する場合(S111:YES)、S101の処理に戻る。一方、未処理の新規項目が存在しない場合(S111:NO)、集計部108は、新規項目生成処理を終了する。
Thereafter, it is determined whether there is an unprocessed set (S110). If there is an unprocessed set (S110: YES), the process returns to S107. On the other hand, when there is no unprocessed set (S110: NO), or when it is determined in S106 that there is no unprocessed set (S106: NO), the
例えば、図12Cの項目別リストのうち、「Name」をキー項目として横結合する場合、図28Bに示す対照群が生成される。図28Bの対照群に基づいて項目別リストの要素を集約すると、1行目及び4行目の要素、2行目及び5行目の要素、並びに3行目の要素が横結合後の項目別リストの要素になる。図35Aに、横結合後の項目別データの例を示す。図35Aの各項目別リストのうち、1行目の要素は、図12Cの1行目及び4行目の要素を集約したものである。同様に、図35Aの2行目の要素は、図12Cの2行目及び5行目の要素を集約したものである。図35Aの3行目の要素は、図12Cの3行目の要素に相当する。 For example, in the case of horizontally connecting “Name” in the itemized list of FIG. 12C as a key item, a control group shown in FIG. 28B is generated. When the elements of the itemized list are aggregated based on the control group of FIG. 28B, the elements on the first and fourth rows, the elements on the second and fifth rows, and the element on the third row are classified into Become a list element. FIG. 35A shows an example of item-by-item data after horizontal merging. In the list for each item in FIG. 35A, the element on the first line is an aggregation of the elements on the first and fourth lines in FIG. 12C. Similarly, the elements on the second row in FIG. 35A are obtained by integrating the elements on the second and fifth rows in FIG. 12C. The element on the third row in FIG. 35A corresponds to the element on the third row in FIG. 12C.
また、横結合後の項目別リストにおいて、重複する値をフィールド内に残す場合は、図35Bのような項目別リストが生成される。図35Bの例では、「Name」の項目別リストの1行目及び2行目の要素に、それぞれ同一の値が2つずつ保持されている。キー項目以外の項目についても、結合後の項目別リストにおいて1つの要素に複数の値を結合して登録してもよいし、重複を除いて登録してもよい。さらに、重複を除いた上で当該値が出現した頻度を示す数値を登録するようにしてもよい。 In the case where duplicate values are left in the field in the itemized list after the horizontal combination, an itemized list as shown in FIG. 35B is generated. In the example of FIG. 35B, two identical values are held in the elements on the first and second lines of the item-specific list of “Name”. Regarding items other than key items, a plurality of values may be combined and registered for one element in the combined itemized list, or registered without duplication. Further, a numerical value indicating the frequency of occurrence of the value after removing the overlap may be registered.
また、図示は省略するが、集計処理を行う場合は、キー項目及び集計項目について項目別リストが生成される。そして、対照群の集合ごとに、設定された集計方法に基づいて集計される。 In addition, although not shown, when performing the tallying process, an itemized list is generated for the key items and the tallying items. Then, for each set of the control groups, the total is calculated based on the set totaling method.
以上のようにして、横結合後の項目別リスト、又は集計処理後の項目別リストがすべて生成される。これらの項目別リストを表形式データとして出力するためには、図13を用いて説明した出力処理を行う。 As described above, the itemized list after the horizontal combination or the itemized list after the aggregation process is all generated. In order to output these itemized lists as tabular data, the output process described with reference to FIG. 13 is performed.
<変形例>
本実施形態では、項目別リスト生成処理によって、表形式データを項目別リストに分解して扱う。上記の説明では、縦結合処理から出力処理を行うパターン、及び縦結合後の表形式データを用いて横結合・集計処理から出力処理を行うパターンについて説明した。しかし、本実施形態に係る処理のパターンはこれらに限られない。例えば項目別リストを用いて、縦結合処理、横結合処理、集計処理の順に処理を行ったり、このようにして生成した複数の表形式データを用いてさらに縦結合処理を行ったりすることができる。<Modification>
In the present embodiment, the tabular data is decomposed into an itemized list and handled by the itemized list generation processing. In the above description, the pattern for performing the output process from the vertical combination process and the pattern for performing the output process from the horizontal combination / aggregation process using the tabular data after the vertical combination have been described. However, the processing pattern according to the present embodiment is not limited to these. For example, by using the itemized list, vertical joining processing, horizontal joining processing, and totaling processing can be performed in this order, or further vertical joining processing can be performed using a plurality of tabular data generated in this manner. .
本実施形態では、表形式データ処理装置1が、ネットワーク3を介して各ユーザ端末2へサービスを提供するという構成を説明したが、このような態様には限られない。例えば、表形式データ処理プログラムをインストールしたユーザ端末2が、ネットワーク3への接続を行うことなく、本実施の形態に係る処理を実行するようにしてもよい。この場合、例えば、表形式データ処理装置は入力I/Fを介してユーザからのデータ操作の指示を受け付ける。また、表形式データ処理装置は、出力I/Fを介してモニタ等の出力装置に結果を出力する。
In the present embodiment, the configuration has been described in which the tabular
また、本実施形態で示した処理フローは例示であり、処理結果が変わらない限りにおいて処理の順序を変更したり、並列に処理を行うようにしてもよい。画面の例についても適宜レイアウト等を変更することができる。 Further, the processing flow described in the present embodiment is an example, and the processing order may be changed or the processing may be performed in parallel as long as the processing result does not change. The layout and the like of the example of the screen can be appropriately changed.
<<バッチ処理に係る実施形態>>
本実施形態に係る装置は、いわゆる表形式データを処理する。表形式データとは、例えば、カンマやタブ、スペース等の区切記号(すなわち、「デリミター」)によって要素(「フィールド」、「列」、「項目」、「属性」又は「値」とも呼ぶ)が区切られ、改行によってレコード(「行」とも呼ぶ)が区切られたテキストデータである。本実施形態では、表形式データのうち、先頭から所定数の行をタイトル行として扱う。すなわち、先頭から所定数の行に含まれる要素を、フィールド名(「列名」、「項目名」、「属性名」等とも呼ぶ)として扱う。このとき、空の行があれば自動的に削除等するようにしてもよい。また、その他の行をデータレコードとして扱う。そして、データレコードに含まれる要素(「値」とも呼ぶ)を結合処理や集計処理等の対象とする。<< Batch process embodiment >>
The device according to the present embodiment processes so-called tabular data. In tabular data, for example, elements (also called “fields”, “columns”, “items”, “attributes”, or “values”) are separated by delimiters (that is, “delimiters”) such as commas, tabs, and spaces. This is text data that is separated and records (also called “lines”) are separated by line feeds. In the present embodiment, a predetermined number of lines from the top of the tabular data are treated as title lines. That is, elements included in a predetermined number of rows from the top are treated as field names (also called “column names”, “item names”, “attribute names”, and the like). At this time, if there is an empty line, it may be automatically deleted. The other lines are treated as data records. Then, the elements (also referred to as “values”) included in the data records are subjected to the joining process, the tallying process, and the like.
具体的には、本実施形態に係るプログラムは、表形式データに含まれる要素を配列(リスト)に保持し、後述する様々な処理を行う。また、本実施の形態に係る表形式データは、1つの要素としてさらに入れ子状に配列を保持する場合もある。すなわち、表形式データの1つのフィールドに、複数の値を保持できる構成とする。また、本実施の形態では、要素を基本的に文字列として扱う。ただし、集計処理等においては要素が数値、日時等であるか判断し、所定の形式でない要素を検出した場合はエラーメッセージを出力するようにしてもよい。 Specifically, the program according to the present embodiment holds the elements included in the tabular data in an array (list) and performs various processes described later. Also, the tabular data according to the present embodiment may further hold a nested array as one element. In other words, the configuration is such that a plurality of values can be held in one field of the tabular data. In the present embodiment, elements are basically handled as character strings. However, in the tabulation process or the like, it may be determined whether or not the element is a numerical value, date and time, or the like, and an error message may be output when an element having a format other than a predetermined format is detected.
<機能構成>
図36は、表形式データを処理する表形式データ処理装置の一例を示す機能ブロック図である。本実施形態に係る表形式データ処理装置4は、データ記憶部401と、入出力部402と、制御部403と、縦結合部404と、横結合部405と、集計部406と、グループ化部407と、検索部408と、外部連携部409と、バッチ処理部410とを有する。<Functional configuration>
FIG. 36 is a functional block diagram illustrating an example of a tabular data processing device that processes tabular data. The tabular
データ記憶部401は、例えば、本実施形態で処理の対象となる表形式データ、処理の内容を示すスクリプトデータ、処理結果として生成される表形式データ、その他処理において中間的に生成されるデータを保持する。また、本実施形態に係る処理を実行するための設定も記憶される。本実施の形態では、CSVデータが、表形式データ処理装置4のデータ記憶部401に予め記憶されているものとする。
The
入出力部402は、データ記憶部401に記憶されている表形式データをユーザの指定に基づいて読み出したり、処理結果として生成される表形式データをデータ記憶部401に書き出したりする。制御部403は、ユーザの操作に基づき、縦結合処理、横結合処理、集計処理、グループ化処理、検索処理、外部連携処理等といった処理(プロセスとも呼ぶ)を1つ以上用いて、プロセスを順に実行する処理であるジョブを定義する。なお、ジョブの定義に基づいて、縦結合部404、横結合部405、集計部406、グループ化部407、検索部408、外部連携部409等が処理を実行する。また、ジョブの定義は、一連の処理を実行するためのスクリプトとして、例えばXML(Extensible Markup Language)形式で保存される。なお、ここではプログラムのソースコード自体でなく、本実施形態に係るプログラムが読み込む設定データを「スクリプト」と呼んでいる。
The input /
縦結合部404は、1以上の表形式データに含まれるレコードを1つの表形式データに統合する処理(「縦結合処理」と呼ぶ)を行う。また、縦結合処理を実行するための設定をユーザの操作によって受け付ける。横結合部405は、例えばキー項目の値が所定の条件を満たす、複数の表形式データのレコードを1レコードに結合する処理(「横結合処理」と呼ぶ)を行う。また、横結合処理を実行するための設定をユーザの操作によって受け付ける。
The
集計部406は、設定に基づいて、値を数値として集計したり、値を文字列として1つのフィールドに統合したりする処理を行う。グループ化部407は、表形式データに含まれる値を所定のグループに分け、クロス集計を行う。また、クロス集計された状態の表形式データを、条件に従って分割する処理(グループ化解除)を行う。なお、横結合部405、集計部406、グループ化部407を総称して本発明における集約部とも呼ぶ。
The
検索部408は、所定の検索条件に基づいて表形式データからレコードを抽出する。外部連携部409は、本実施形態に係る処理を行うプログラム以外のアプリケーションプログラムを起動させる。バッチ処理部410は、制御部403が定義したジョブを1つ以上用いて、ジョブを順に実行する処理であるバッチ処理を定義する。なお、バッチ処理の定義に基づいて、所定の日時に所定のジョブが所定の順序で起動される。なお、機能の詳細については、後述する。
The
<装置構成>
表形式データ処理装置4も、図3に示すようなコンピュータである。図3に示すコンピュータ1000は、CPU(Central Processing Unit)1001、主記憶装置1002、補助記憶装置1003、通信IF(Interface)1004、入出力IF(Interface)1005、ドライブ装置1006、通信バス1007を備えている。CPU1001は、プログラム(「ソフトウェア」又は「アプリケーション」とも呼ぶ)を実行することにより本実施の形態に係る処理を行う。主記憶装置1002は、CPU1001が読み出したプログラムやデータをキャッシュしたり、CPUの作業領域を展開したりする。主記憶装置は、具体的には、RAM(RandomAccess Memory)やROM(Read Only Memory)等である。補助記憶装置1003は、CPU1001により実行されるプログラムや、本実施の形態で用いる設定情報などを記憶する。補助記憶装置1003は、具体的には、HDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等である。主記憶装置1002や補助記憶装置1003は、表形式データ処理装置4のデータ記憶部401として働く。通信IF1004は、他のコンピュータとの間でデータを送受信する。通信IF1004は、具体的には、有線又は無線のネットワークカード等である。表形式データ処理装置4は、通信IF1004を介してネットワークに接続されていてもよい。入出力IF1005は、入出力装置と接続され、ユーザから操作を受け付けたり、ユーザへ情報を提示したりする。入出力装置は、具体的には、キーボード、マウス、ディスプレイ、タッチパネル等である。ドライブ装置1006は、磁気ディスク、光磁気ディスク、光ディスク等の記憶媒体に記録されたデータを読み出したり、記憶媒体にデータを書き込んだりする。そして、以上のような構成要素が、通信バス1007で接続されている。なお、これらの構成要素はそれぞれ複数設けられていてもよいし、一部の構成要素(例えば、通信IF1004、ドライブ装置1006等)を設けないようにしてもよい。また、入出力装置がコンピュータと一体に構成されていてもよい。また、ドライブ装置1006で読み取り可能な可搬性の記憶媒体や、フラッシュメモリのような可搬性の補助記憶装置1003、通信IF1004などを介して、本実施の形態で実行されるプログラムが提供されるようにしてもよい。そして、CPU1001がプログラムを実行することにより、図3に示したコンピュータを図36に示した表形式データ処理装置4として働かせる。<Apparatus configuration>
The tabular
<機能の詳細>
次に、表形式データ処理装置4の機能について説明する。図37は、本実施形態に係るジョブの概略図である。表形式データ処理装置4は、フォーマット(すなわち、列や列の名称といった表形式データの構成)の異なる複数の表形式データから、指定した条件のデータを抽出し、縦横自在に結合を行うことができる。また、横方向の結合をする際、データクレンジングを行うことにより、結果の精度を上げることができる。結合処理の他、集計や検索等も行うことができ、設定したスケジュールでこれらの処理を連携させて実行することもできる。なお、作成する表形式データは新たなファイルとして出力し、入力された表形式データは更新しない方が、例えばユーザが試行錯誤しつつ処理を繰り返す上では好ましい。これらの機能の設定は、例えばXML形式で保存することができる。<Details of function>
Next, the function of the tabular
<縦結合>
縦結合とは、例えばデータフォーマットの異なる複数の表形式データ(入力データ)に含まれるレコードを統合し、新たな表形式データ(出力データ)を生成する処理である。図38及び図39は、縦結合処理の入力データの一例である。図38は、「社員交通費清算.csv」というファイル名の表形式データであり、8件のレコードを含んでいる。図39は、「営業経費.csv」というファイル名の表形式データであり、8件のレコードを含んでいる。図38及び図39の列名及び順序は異なっているが、2つの表形式データは内容的に対応する項目を一部に含んでいる。また、図40は、縦結合処理の出力データの一例である。図40の表形式データは、図38の8件及び図39の8件に対応するレコードを含んでいる。すなわち、縦結合部404は、入力データに含まれるレコードを縦方向に結合(積み重ね)する。さらに、図40においては、所定の列同士が対応付けられている。また、図38における列「名前」は、図39における列「lastName」及び列「FirstName」の結合と対応付けられている。なお、入力される表形式データは複数でなく1つであってもよい。この場合、出力される表形式データの列名を変更することはできるが、データレコードの要素は入力データと変わらない。なお、縦結合処理は、縦結合部404によって実行される。<Vertical connection>
The vertical combination is, for example, a process of integrating records included in a plurality of tabular data (input data) having different data formats to generate new tabular data (output data). FIG. 38 and FIG. 39 are examples of input data of the vertical combination processing. FIG. 38 shows tabular data having a file name of “employee transportation expense settlement.csv”, which includes eight records. FIG. 39 shows tabular data of a file name “operating expenses.csv”, which includes eight records. Although the column names and the order in FIGS. 38 and 39 are different, the two tabular data partially include items corresponding in content. FIG. 40 shows an example of output data of the vertical combining process. The tabular data in FIG. 40 includes records corresponding to the eight cases in FIG. 38 and the eight cases in FIG. That is, the vertical combining
図41は、縦結合の設定画面(縦結合列編集画面)の一例を示す図である。図41のテーブルは、「CSVファイル名」の列と、各CSVファイルに含まれる列の対応付けを示す列(「番号」、「日付」、「名前」・・・)とを含んでいる。図41の上段に表示されている列の名称(「番号」、「日付」、「名前」・・・)は、出力ファイルの列名を表している。すなわち、図41において同一の列に表示されている各CSVファイルの列は、出力ファイルにおいて対応付けられている。なお、出力ファイルの列名は、ユーザが変更することができる。また、図41に示す列の順序は、出力ファイルにおける列の順序を表している。「名前」の列のように、一方のCSVファイルにおける複数の列の結合を、他方のCSVファイルにおける1つの列に対応付けることもできる。また、他方のCSVファイルのいずれの列とも対応付けられない列が存在してもよく、入力ファイルの少なくとも一部の列は出力ファイルに出力されなくてもよい。また、3つ以上のCSVファイルを対応付けることも可能である。 FIG. 41 is a diagram illustrating an example of a vertical combination setting screen (vertical combination column editing screen). The table of FIG. 41 includes a column of “CSV file name” and columns (“number”, “date”, “name”...) Indicating correspondence between columns included in each CSV file. The column names (“number”, “date”, “name”...) Displayed in the upper part of FIG. 41 represent the column names of the output file. That is, the columns of each CSV file displayed in the same column in FIG. 41 are associated with each other in the output file. Note that the column name of the output file can be changed by the user. The order of the columns shown in FIG. 41 indicates the order of the columns in the output file. Like the column of “name”, a combination of a plurality of columns in one CSV file can be associated with one column in the other CSV file. Further, there may be a column that is not associated with any column of the other CSV file, and at least a part of the column of the input file may not be output to the output file. It is also possible to associate three or more CSV files.
また、図41に示した縦結合列編集画面において「ベースファイル選択」ボタンが押下されると、図42に示すような縦結合ベースファイル選択画面が表示される。図42の画面では、「CSVファイル名」の列に、読み出されたCSVファイルの名称が表示される。また、「データサイズ」の列には、CSVファイルのファイルサイズが表示される。「日付」の列には、CSVファイルの更新日が表示される。「選択」の列のチェックボックスには、縦結合の基準とするCSVファイルにユーザがチェックを入れる。本実施形態では、基準とするCSVファイルの属性名を用いて所定の優先順位に従い、出力データの属性名を設定するものとする。 When the “base file selection” button is pressed on the vertical combination column editing screen shown in FIG. 41, a vertical combination base file selection screen as shown in FIG. 42 is displayed. In the screen of FIG. 42, the name of the read CSV file is displayed in the column of “CSV file name”. In the column of “data size”, the file size of the CSV file is displayed. In the column of “date”, the update date of the CSV file is displayed. In the check box in the column of "selection", the user checks a CSV file as a reference of the vertical combination. In the present embodiment, the attribute name of the output data is set according to a predetermined priority using the attribute name of the reference CSV file.
また、図41の画面において「編集」ボタンが押下されると、操作メニューが表示される。操作メニューは、「編集」、「削除」、「右側に移動」、「左側に移動」、「右側に属性を追加」、「左側に属性を追加」、「キャンセル」といったメニューを含む。ユーザが「編集」を選択すると、図43に示すような表示属性抽出設定画面が表示される。表示属性抽出設定画面については、後述する。「削除」を選択すると、当該列が削除される。「右側に移動」を選択すると、当該列が右隣りと入れ替わる。「左側に移動」を選択すると、当該列が左隣りと入れ替わる。「右側に属性を追加」を選択すると、当該列の右側に新たな列が1つ追加される。「キャンセル」を選択すると、メニューの選択が中止される。 When the “edit” button is pressed on the screen in FIG. 41, an operation menu is displayed. The operation menu includes menus such as “edit”, “delete”, “move right”, “move left”, “add attribute to right”, “add attribute to left”, and “cancel”. When the user selects “edit”, a display attribute extraction setting screen as shown in FIG. 43 is displayed. The display attribute extraction setting screen will be described later. When "delete" is selected, the column is deleted. When "move right" is selected, the row is replaced with the row on the right. When "move to left" is selected, the column is replaced with the column on the left. When "add attribute to right" is selected, one new column is added to the right of the column. When "Cancel" is selected, menu selection is stopped.
また、縦結合列編集画面では、設定の状態に応じてフィールドの色が変更されるようにしてもよい。例えば、薄紫色は、新しい属性名と同一であり、表示属性抽出設定画面で個別に属性指定をしていない状態を示す。また、クリーム色は、表示属性抽出設定画面で個別に属性指定を行った状態を示す。さらに、オレンジ色は、表示属性抽出設定画面でCSVファイル選択を解除した状態を示す。そして、白色は、表示属性抽出設定画面で新しい属性名と一致する属性名がCSVファイル中に存在しない状態を示す。なお、プロセス復元をした場合は、新規プロセス作成時に薄紫色であったパネルは、クリーム色となる。 Further, on the vertical combination column editing screen, the color of the field may be changed according to the setting state. For example, light purple is the same as the new attribute name, and indicates a state in which no attribute is individually specified on the display attribute extraction setting screen. The cream color indicates a state in which the attribute is individually specified on the display attribute extraction setting screen. Further, the orange color indicates a state where the CSV file selection is released on the display attribute extraction setting screen. The white color indicates a state where the attribute name that matches the new attribute name on the display attribute extraction setting screen does not exist in the CSV file. When the process is restored, the panel that was light purple when the new process was created becomes cream-colored.
また、図41の操作メニューから「編集」が選択された場合、図43に示すような表示属性抽出設定画面が表示される。図43の画面は、「新しい属性名」のテキストボックス、「CSVファイル名」の欄、「CSVファイルの属性名」のチェックボックス、「CSVファイルの内容」の行、設定を保存する「設定」ボタンが含まれている。「新しい属性名」のテキストボックスには、属性名が表示される。新しい属性名は、ユーザが修正できる。「CSVファイル名」の欄には、CSVファイル名が表示される。「CSVファイルの属性名」のチェックボックスは、個別に属性の関連付けを行う場合にユーザがチェックする。なお、例えば、「都道府県」及び「市区町村」の2つの属性を結合して1つの属性としたい場合、「都道府県」と「市区町村」とにチェックをする。「CSVファイルの内容」の行には、CSVファイルのデータレコードの1行目が表示される。表示属性抽出設定画面には、以上のような情報が、CSVファイルの数だけ表示される。また、縦結合の設定として、列同士の対応付け等、図41から図43を用いてユーザが設定した内容がデータ記憶部401に記憶される。
When "edit" is selected from the operation menu in FIG. 41, a display attribute extraction setting screen as shown in FIG. 43 is displayed. The screen of FIG. 43 includes a text box of “new attribute name”, a column of “CSV file name”, a check box of “CSV file attribute name”, a line of “CSV file content”, and “setting” for saving the setting. Buttons are included. The attribute name is displayed in the text box of "new attribute name". The new attribute name can be modified by the user. The CSV file name is displayed in the column of “CSV file name”. The user checks the “CSV file attribute name” check box when associating attributes individually. For example, in a case where two attributes “prefecture” and “city” are to be combined into one attribute, “prefecture” and “city” are checked. The first line of the data record of the CSV file is displayed in the line of “contents of CSV file”. The above information is displayed on the display attribute extraction setting screen by the number of CSV files. Further, as the setting of the vertical combination, the contents set by the user using FIGS. 41 to 43, such as correspondence between columns, are stored in the
<横結合>
横結合とは、所定の列に含まれる要素の集合に基づいてレコードを統合(集約とも呼ぶ)し、新たな表形式データを生成する処理である。具体的には、例えば縦結合等で得られた1つの表形式データを処理対象として、ユーザが指定したキー属性の値に基づきレコードを横方向に結合する。後述するデータクレンジング機能を用いることで、住所や名前といった要素の集合を特定する際に、表記の揺れを吸収して処理を行うことが可能である。また、データ欠損、重複データの確認、データ品質のチェック等を行うこともできる。<Horizontal coupling>
The horizontal join is a process of integrating records (also referred to as aggregation) based on a set of elements included in a predetermined column and generating new tabular data. Specifically, for example, one table format data obtained by vertical combination or the like is processed, and records are combined in the horizontal direction based on the value of the key attribute specified by the user. By using a data cleansing function described later, when specifying a set of elements such as an address and a name, it is possible to perform processing while absorbing fluctuations in notation. It is also possible to check for missing data, duplicate data, and check data quality.
図44は、横結合の処理対象となる表形式データ(入力データ)の一例である。図44は、図45及び図46に示すような表形式データを用いて縦結合処理したものである。図44では、図45の「会社名」及び図46の「会社」という項目が1つの列に揃えられている。その他の項目は、対応付けされておらず、図44の一部のフィールドは空になっている。横結合では、キー属性の値が同一である複数のレコードを1レコードにまとめ(「名寄せ」とも呼ぶ)、キー以外の属性については複数のレコードに含まれていた値を1つのフィールドにデリミター又は改行で区切って列挙するようにしてもよい。この場合、1つのフィールド内に同一の値が複数存在するときは、重複を除くようにしてもよいし、重複を除かないようにしてもよい。また、横結合では、いわゆるマスタデータにあたる表形式データを用いて、他の表形式データに存在しない項目のフィールドを補完(「自動補完」とも呼ぶ)するようにしてもよい。図44の属性「会社」をキー属性として、キー属性の値が同一(完全一致)のレコードを1行にまとめると、図47のようになる。図47の例では、キー属性の値が同一のレコードを基準として、図46にない「社員数」の列を、いわゆるマスタデータである図45の要素で補完している。なお、補完の処理は、縦結合を行う際、補完元となる属性を左側に配置しておくものとし、表型データ上の優先レコード(マスタデータ)を判別する。また、マスタデータがキー属性で一意に特定される場合に、優先レコードの内容から補完を実行可能とする。最後に、優先レコードは削除される。なお、横結合のキー属性は、標準化(データクレンジング)を行うようにしてもよい。例えば、値に含まれる法人名が「株式会社」、「(株)」、「カ)」等である場合に、同一として扱うことができる。また、「完全一致」の他、「前方一致」、「後方一致」、「中間一致」等の場合に同一であると判断するようにしてもよい。 FIG. 44 is an example of tabular data (input data) to be processed for horizontal joining. FIG. 44 shows the result of the vertical combining process using the tabular data as shown in FIGS. In FIG. 44, the items “company name” in FIG. 45 and “company” in FIG. 46 are arranged in one column. The other items are not associated, and some fields in FIG. 44 are empty. In the horizontal join, a plurality of records having the same key attribute value are combined into one record (also referred to as “name identification”), and for attributes other than the key, the values included in the multiple records are delimited by a single field. The list may be separated by a line feed. In this case, when a plurality of the same values exist in one field, the duplication may be removed or the duplication may not be removed. In the horizontal combination, the field of an item that does not exist in other tabular data may be complemented (also referred to as “automatic complement”) by using tabular data corresponding to so-called master data. When records having the same (perfect match) key attribute values are grouped into one line using the attribute “company” in FIG. 44 as a key attribute, the result is as shown in FIG. In the example of FIG. 47, the column of “number of employees” not shown in FIG. 46 is complemented by the element of FIG. 45, which is so-called master data, based on records having the same key attribute value. In the complementing process, when performing vertical combining, it is assumed that the attribute to be complemented is arranged on the left side, and the priority record (master data) on the tabular data is determined. Further, when the master data is uniquely specified by the key attribute, the complement can be executed from the contents of the priority record. Finally, the priority record is deleted. The key attributes of the horizontal combination may be standardized (data cleansing). For example, if the corporation name included in the value is “stock company”, “(stock)”, “f)”, etc., it can be treated as the same. In addition, in addition to “perfect match”, in the case of “front match”, “backward match”, “middle match”, etc., it may be determined that they are the same.
図48及び図49は、横結合の設定を行う画面の一例を示す図である。図48の画面(横結合画面とも呼ぶ)は、「属性一覧」と、「キー属性」と、「重複する値の処理」と、「値の間の接続因子」とを指定するための領域を含む。「属性一覧」の領域には、入力ファイルである表形式データに含まれる属性の一覧が表示される。表示されている属性のパネルを「キー属性」の領域へドラッグアンドドロップすることにより、ユーザは「キー属性」を指定できる。なお、キー属性の領域に複数のキー属性が表示されている場合、ユーザはパネルをドラッグしてキー属性の順序を入れ替えることもできる。 FIG. 48 and FIG. 49 are diagrams illustrating an example of a screen for setting horizontal coupling. The screen (also referred to as a horizontal combination screen) in FIG. 48 includes areas for designating “attribute list”, “key attribute”, “processing of duplicate values”, and “connection factor between values”. Including. In the "attribute list" area, a list of attributes included in tabular data as an input file is displayed. By dragging and dropping the displayed attribute panel to the “key attribute” area, the user can specify the “key attribute”. When a plurality of key attributes are displayed in the key attribute area, the user can also change the order of the key attributes by dragging the panel.
また、キー属性の指定の詳細は、図49のような画面(横結合キー設定画面とも呼ぶ)を介して行う。図49の画面は、「名寄せ判断」と、「データクレンジング処理」とを指定するための領域を含む。「名寄せ判断」は、「完全一致」、「中間一致」、「前方一致」又は「後方一致」から、ユーザがいずれかをクリックすることで選択される。ここで、キー属性を複数指定する場合、各パネルの名寄せ判断の設定に関わらず、「完全一致」として動作するものとする。また、データクレンジングを行う場合は、ユーザは「標準化(データクレンジング)をする」のチェックボックスにチェックし、プルダウンメニューからデータクレンジングの種類を選択する。図49の例では、「法人名」が選択されている。 The details of the specification of the key attribute are performed through a screen as shown in FIG. 49 (also referred to as a horizontal combination key setting screen). The screen of FIG. 49 includes an area for designating “name determination” and “data cleansing processing”. The “name identification” is selected by the user clicking one of “perfect match”, “intermediate match”, “front match”, and “backward match”. Here, when a plurality of key attributes are specified, it is assumed that the operation is performed as “perfect match” regardless of the setting of the name identification judgment of each panel. When performing data cleansing, the user checks the check box of “Perform standardization (data cleansing)” and selects a type of data cleansing from a pull-down menu. In the example of FIG. 49, “corporate name” is selected.
また、図48に示すように、ユーザは「重複する場合の処理」について、「1行にまとめ且つ重複を除く」、「1行にまとめ且つ重複を除かない」、「1行にまとめず頻度でソートする」、「1行にまとめず自動補完する」のいずれかをクリックして選択できる。さらに、1行にまとめる場合は、「値の間の接続因子」について、キー属性以外の属性について1つのフィールドにまとめられる複数の要素を区切る記号を選択する。選択肢としては、「カンマ」、「スラッシュ」、「改行」及び「スペース」がある。図48及び図49を用いて説明したような項目が、横結合処理の設定情報としてデータ記憶部401に記憶される。なお、図48や図49の設定画面において、パネルの色が設定の状態を表すようにしてもよい。例えば、水色は、未設定の状態を表す。また、紫色は、横結合キー設定画面において設定済の状態を表す。また、横結合の設定として、図48及び図49の画面を介してユーザが指定した内容が、データ記憶部401に記憶される。
Further, as shown in FIG. 48, regarding the “processing in case of overlapping”, the user “collects in one line and removes duplicates”, “collects in one line and does not remove duplicates”, and Sort by "or" Complete automatically without grouping ". Further, in the case of grouping in one line, for the “connection factor between values”, a symbol that separates a plurality of elements grouped in one field for attributes other than the key attribute is selected. Options include “comma”, “slash”, “new line”, and “space”. The items described with reference to FIGS. 48 and 49 are stored in the
ここで、図50から図59を用いて、「重複する値の処理」及び「値の間の接続因子」別の出力例を説明する。例えば、図50に示すような社員の交通費清算のデータを入力データとし、「血液型」をキー属性として横結合するものとする。重複を除き且つ値の間の接続因子をカンマとする出力例は、図51のようになる。同様に、重複を除き且つ接続因子をスラッシュとする出力例は、図52のようになる。また、重複を除き且つ接続因子を改行とする出力例は、図53のようになる。重複を除き且つ接続因子をスペースとする出力例は、図54のようになる。また、重複を除かず且つ接続因子をカンマとする出力例は、図55のようになる。同様に、重複を除かず且つ接続因子をスラッシュとする出力例は、図56のようになる。また、重複を除かず且つ接続因子を改行とする出力例は、図57のようになる。そして、重複を除かず且つ接続因子をスペースとする出力例は、図58のようになる。さらに、1行にまとめず且つ頻度ソートを行う場合の出力例は、図59のようになる。 Here, with reference to FIG. 50 to FIG. 59, output examples for “processing of duplicate values” and “connection factors between values” will be described. For example, it is assumed that the data of the employee's transportation expenses settlement as shown in FIG. 50 is used as input data, and "blood type" is laterally connected as a key attribute. FIG. 51 shows an output example in which the connection factor between values is removed and commas are excluded. Similarly, an output example in which duplicates are removed and the connection factor is a slash is as shown in FIG. FIG. 53 shows an output example in which duplicates are removed and the connection factor is a line feed. FIG. 54 shows an output example in which the overlap is removed and the connection factor is a space. FIG. 55 shows an output example in which the connection factor is a comma without removing the duplication. Similarly, an output example in which the slash is used as the connection factor without removing the duplication is as shown in FIG. FIG. 57 shows an output example in which the connection factor is a line feed without removing the duplication. Then, an output example in which the overlap is not removed and the connection factor is a space is as shown in FIG. Further, an output example in the case where the frequency sorting is performed without being combined into one line is as shown in FIG.
<クレンジング及びユーザ定義辞書>
横結合や後述する集計、グループ化において、標準化(データクレンジング)を行うことができる。標準化は、揺れのある表記に対して名寄せを行う。例えば、「名寄せ判断」が「完全一致」を選択した場合に指定する。データクレンジングの方法として、電話番号、郵便番号、日付、法人名、数値、和文解析、英文解析、氏名、住所、ユーザ辞書のいずれかを選択することができる。<Cleansing and user-defined dictionary>
Standardization (data cleansing) can be performed in horizontal joining, tabulation and grouping described later. Standardization performs name matching for shaky notations. For example, this is specified when “judgment judgment” selects “perfect match”. As a data cleansing method, any one of a telephone number, a postal code, a date, a company name, a numerical value, Japanese analysis, English analysis, a name, an address, and a user dictionary can be selected.
電話番号は、「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号室」といった表記の違いを同一であるものとして扱う。
Regarding telephone numbers, differences in notation such as “03-1234-5678”, “03 (1234) 5678”, and “0312345678” are treated as being the same. Regarding postal codes, differences in notation such as “$ 273-0039”, “273-0039”, and “2730039” are treated as being the same. Dates are GGGGyyMMdd (Heisei 250110, H250110), yyMMdd (130110), yyyyMMdd (20130110), GGGGyy MM / dd / dd (January 10, 2013, January 10, H25 /
ユーザ辞書は、ユーザが定義する辞書ファイルに表記のゆれや同義語をあらかじめ設定して用いる。表記のゆれや同義語をあらかじめ設定することにより、あいまいな値を正規化して扱うことができる。また、一括して文字を置換するための辞書(一括文字置換辞書)も選択できる。ユーザ辞書は、間柄(親子間関係)と同義語による名寄せを行う辞書である。正規表現ユーザ辞書は、正規表現による名寄せを行うための辞書である。置換用ユーザ辞書は、登録した内容をもとに、文字置換を一括で行うための辞書である。名寄せ関連の辞書は、例えば、順位1:間柄と同義語、順位2:正規表現のような優先順位をつけて適用される。 The user dictionary uses a dictionary file defined by the user in advance by setting the spelling and synonyms of the notation. By setting the notation fluctuation and synonyms in advance, ambiguous values can be normalized and handled. Also, a dictionary for collectively replacing characters (batch character replacement dictionary) can be selected. The user dictionary is a dictionary that performs name matching based on a relationship (parent-child relationship) and a synonym. The regular expression user dictionary is a dictionary for performing name matching based on a regular expression. The replacement user dictionary is a dictionary for performing character replacement collectively based on registered contents. The name-related dictionaries are applied with priorities such as, for example, rank 1: relationship and synonym, rank 2: regular expression.
ユーザ辞書は、例えば図60のように、テキストエディタなどで内容を編集できるものとする。図60は、間柄と同義語のユーザ辞書の記載例である。図60では、語句を模式的にアルファベットで示している。間柄(親子間関係)の入力は、例えば、語句を半角スラッシュ「/」で区切って入力する。スラッシュの左側に親の語句、スラッシュの右側に子の語句を入力する。同義語の入力は、例えば、語句を半角カンマ「,」で区切って入力する。また、先頭に「#」を付した行は、コメントとして扱い、処理には用いない。 It is assumed that the contents of the user dictionary can be edited with a text editor or the like as shown in FIG. 60, for example. FIG. 60 is a description example of a user dictionary of synonyms with relations. In FIG. 60, words and phrases are schematically represented by alphabets. The relationship (parent-child relationship) is input, for example, by separating words and phrases with a half-width slash "/". Enter the parent phrase to the left of the slash and the child phrase to the right of the slash. The synonym is input, for example, by separating words and phrases with a single-byte comma “,”. Lines preceded by “#” are treated as comments and are not used for processing.
図61に、図60のユーザ辞書を図化した語句の関係の一例を示す。なお、図61における円形で囲われたアルファベットは、1つの語句を表している。例えば、「C」「D」「P」は同義語、「C」は親「A」と、「P」は親「O」と間柄(親子間関係)である。なお、間柄と同義語は、自動的に連携するものとする。具体的には、図60において「K」は直接的には「I」との親子間関係が定義されているのみである。自動的に連携することにより、最上位概念を取得する場合、「K」を指定すると、「K」−「I」−「H」−「G」−「Q」−「O」の順に辿り、最上位の語句「O」を取得することができる。また、「C」及び「P」のように複数の同義語が別々の親と紐付いている場合、同義語「C」「D」「P」は自然順序で並べ替えられ、一番近い親と紐付く。自然順序とは、例えば、文字であればアルファベット順、数値であれば値の小さい順である。なお、図60のようなユーザ辞書において、同義語のうち一番左に定義されている語句に紐づけるようにしてもよい。図60のようなユーザ辞書が設定されている場合、図61の語句「D」は、同義語「C」と紐づけられる。さらに、語句「C」は、親「A」と紐づけられる。また、ある語句の下位概念を取得する場合、例えば当該語句の下位に接続されたすべての子及びそれらの同義語を取得するものとする。具体的には、「H」を指定すると「I」、「K」、「J」、「M」、「L」を取得できる。このように、各語句は、最上位の親、もしくは所定の優先順位に基づく同義語、又は下位に接続されたすべての子及びそれらの同義語と紐づけられるものとする。 FIG. 61 shows an example of the relationship between words and phrases formed by plotting the user dictionary shown in FIG. The alphabet enclosed by a circle in FIG. 61 represents one phrase. For example, “C”, “D” and “P” are synonyms, “C” is a parent “A”, and “P” is a relationship with a parent “O” (parent-child relationship). Note that the relationship and the synonym are automatically linked. Specifically, in FIG. 60, “K” directly defines the parent-child relationship with “I” only. When acquiring a top-level concept by automatically cooperating, if "K" is specified, it follows in the order of "K"-"I"-"H"-"G"-"Q"-"O", The top-level phrase "O" can be obtained. When a plurality of synonyms are associated with different parents, such as “C” and “P”, the synonyms “C”, “D”, and “P” are rearranged in a natural order, and Tied. The natural order is, for example, alphabetical order in the case of a character, and small value in the case of a numerical value. In the user dictionary as shown in FIG. 60, a synonym may be linked to the leftmost defined phrase. When the user dictionary as shown in FIG. 60 is set, the phrase “D” in FIG. 61 is associated with the synonym “C”. Further, the phrase “C” is associated with the parent “A”. When acquiring a subordinate concept of a phrase, for example, it is assumed that all children connected to the subordinate of the phrase and their synonyms are acquired. Specifically, when "H" is designated, "I", "K", "J", "M", and "L" can be acquired. In this way, each phrase is assumed to be associated with the highest parent, a synonym based on a predetermined priority, or all children connected below and their synonyms.
本実施形態では、例えば、間柄として組織内の部署の構成を定義することで、部署ごとに名寄せや後述する集計を行うことができる。また、間柄として、製品を構成する部品を階層的に定義することで、製品の構成要素ごとに名寄せや集計を行うこともできる。新旧製品についてこのような集計結果の結果を比較することで、新旧製品の部品の互換性をチェックすることもできる。なお、同義語とは、同一概念(同概念)の関係を意味する。また、間柄とは、上位概念及び下位概念の関係を意味する。本実施の形態では、ユーザが設定した辞書に基づいて自由度の高い名寄せ等を行うことができるようになる。 In the present embodiment, for example, by defining the configuration of a department in an organization as a relationship, it is possible to perform name identification and counting described later for each department. Also, by defining the components that make up the product as a relationship hierarchically, it is also possible to perform name identification and aggregation for each component of the product. By comparing the results of the aggregation results for new and old products, it is also possible to check the compatibility of parts of the new and old products. Note that the synonym means a relationship of the same concept (same concept). In addition, the relationship means a relationship between a superordinate concept and a subordinate concept. In the present embodiment, it is possible to perform name identification with a high degree of freedom based on a dictionary set by the user.
また、図62は、正規表現のユーザ辞書の入力例である。「.?」は、0又は1個の文字の存在を示す。よって、「パ.?ツ」には、「パーツ」、「パ−ツ」、「パツ」等が該当する。なお、「パーーツ」は該当しない。「.*」は、0個以上の文字の存在を示す。よって、「.*前田.*」には、「あいう前田」、「前田」、「前田か」等が該当する。一般的な正規表現が使用できるものとし、上記以外の表現については説明を省略する。 FIG. 62 shows an example of inputting a regular expression user dictionary. ".?" Indicates the presence of 0 or 1 character. Therefore, "parts" corresponds to "parts", "parts", "pats", and the like. “Parts” does not apply. “. *” Indicates the presence of zero or more characters. Therefore, ". * Maeda. *" Corresponds to "that Maeda", "Maeda", "Maeda?", And the like. It is assumed that a general regular expression can be used, and description of expressions other than the above is omitted.
また、図63は、置換のユーザ辞書の入力例である。図63の例では、語句を「/」で区切って入力している。「/」の左側の語句は、置換後の語句を表し、「/」の右側の語句は、置換元の語句を表す。なお、置換基の語句は、「,」で複数入力できる。図63のようなユーザ辞書を利用すると、「JAPAN」という語句は、「JXPXP」に置換される。 FIG. 63 shows an input example of the replacement user dictionary. In the example of FIG. 63, words are input by separating them with “/”. The phrase to the left of “/” represents the phrase after replacement, and the phrase to the right of “/” represents the phrase to be replaced. In addition, the term of the substituent can be input plurally by ",". When a user dictionary as shown in FIG. 63 is used, the phrase “JAPAN” is replaced with “JXPXP”.
<集計>
集計とは、1つの表形式データを処理対象として、キー属性を含む所定の条件に基づいて値群を要約統計量値として出力する機能である。集計処理後は、キー属性の値が設定した条件を満たすレコードごとに集計属性が集計(すなわち、集約)される。また、求められた値又は元の値群に対して四則演算を行い、さらに所定の条件に基づく計算結果を出力することもできる。また、関数を用いてデータの加工を行うこともできる。さらに、数値の集計以外に、条件に該当するデータを計数(カウント)したり、条件に該当するデータに印をつけることもできる。<Tally>
The aggregation is a function of outputting a group of values as a summary statistic value based on a predetermined condition including a key attribute with one tabular data as a processing target. After the aggregation process, the aggregation attributes are aggregated (that is, aggregated) for each record in which the value of the key attribute satisfies the set condition. Further, four arithmetic operations can be performed on the obtained value or the original value group, and a calculation result based on a predetermined condition can be output. Further, data processing can be performed using a function. Further, in addition to counting the numerical values, data corresponding to the condition can be counted (counted), and data corresponding to the condition can be marked.
例えば、図40に示した縦結合処理の出力データが、集計処理の入力データであるものとする。また、図64は、集計処理の出力データの一例である。図40の「駅名」及び「日付」をキー属性として、「値」、「給与」をそれぞれ合算し、集計の対象となったレコード数(該当数)、所定の条件式を満たすか否かによるフラグ(問題)を年月ごとに集計すると、図64のようになる。 For example, it is assumed that the output data of the vertical combination processing shown in FIG. 40 is the input data of the aggregation processing. FIG. 64 is an example of output data of the tallying process. With “station name” and “date” of FIG. 40 as key attributes, “value” and “salary” are respectively added, and the number of records to be counted (the corresponding number) depends on whether or not a predetermined conditional expression is satisfied. The flags (problems) are totaled for each year and month as shown in FIG.
また、図65から図71は、集計処理の設定をするための画面の一例を示す図である。図65の集計の設定画面(集計画面)は、「属性一覧」、「新規属性」、「キー属性」、「集計属性」を設定するための領域を含む。「属性一覧」の領域には、入力データに含まれる属性の一覧が表示される。「新規属性」の領域には、入力データにない項目を設定する場合にユーザがドラッグする「新規」パネルが表示される。「キー属性」の領域は、キー属性として用いる属性を表すパネルをユーザがドラッグアンドドロップするための領域であり、設定されているキー属性が表示される。なお、キー属性に設定されたパネルは並べ替え可能としてもよい。また、キー属性の設定後はパネルが二段表示となり、上段には属性名が表示され、下段には、後述する集計キー設定画面の集計方法の内容が表示される。「集計属性」の領域は、集計の対象となる属性を表すパネルをユーザがドラッグアンドドロップするための領域であり、設定されている集計属性が表示されている。ユーザは、「集計属性」の領域に「新規」パネルをドラッグアンドドロップすることにより、集計属性に新規属性を追加することができる。新規属性とは、レコード数、算術演算の結果、条件判定の結果、所定の関数処理の結果等、新たな属性として追加したものである。なお、先(集計属性領域の上方)に設定されている新規属性を用いて、後(集計属性領域の下方)の新規属性を定義することもできる。 FIGS. 65 to 71 show examples of screens for setting the tallying process. The tabulation setting screen (tabulation screen) in FIG. 65 includes areas for setting “attribute list”, “new attribute”, “key attribute”, and “tabulation attribute”. In the “attribute list” area, a list of attributes included in the input data is displayed. In the area of “new attribute”, a “new” panel that the user drags when setting an item that is not included in the input data is displayed. The “key attribute” area is for the user to drag and drop a panel representing an attribute used as a key attribute, and the set key attribute is displayed. Note that the panels set to the key attributes may be reorderable. After the key attributes are set, the panel is displayed in two columns, the upper column displays the attribute names, and the lower column displays the contents of the tabulation method on the tabulation key setting screen described later. The “total attribute” area is an area for the user to drag and drop a panel representing an attribute to be totaled, and the set total attribute is displayed. The user can add a new attribute to the tally attribute by dragging and dropping the "new" panel into the "total attribute" area. The new attribute is added as a new attribute, such as the number of records, the result of an arithmetic operation, the result of a condition determination, the result of a predetermined function process, and the like. It should be noted that a new attribute that is set earlier (above the aggregation attribute area) can be used to define a later new attribute (below the aggregation attribute area).
図66は、キー属性を設定するための画面(集計キー設定画面)の一例である。なお、図66の画面は、ユーザが選択したキー属性について、集計方法を選択するための領域を含む。集計方法としては、「完全一致」、「ユーザ辞書」、「年別」、「月別」、「日別」、「週別・年単位」「週別・月単位」及び「曜日別」の選択肢が示されており、ユーザはいずれかをクリックすることで選択できる。なお、「年別」から「曜日別」は、値が日付の場合に有効となる。 FIG. 66 is an example of a screen for setting key attributes (total key setting screen). The screen in FIG. 66 includes an area for selecting a tallying method for the key attribute selected by the user. As the counting method, the choices of "exact match", "user dictionary", "yearly", "monthly", "daily", "weekly / yearly", "weekly / monthly", and "by day of week" Are displayed, and the user can select one by clicking any of them. Note that “by year” to “by day of the week” is valid when the value is a date.
図67は、集計属性を設定するための画面(集計属性設定画面)の一例である。図67の画面は、ユーザが選択した集計属性について、文字集計の種類又は数値集計の種類を選択するための領域を含む。文字集計の種類には、「結合」及び「頻度」がある。結合は、値をカンマ区切りで出力する機能である。頻度は、値の出現回数をカッコ内に出力する機能である。数値集計の種類には、「合計」、「平均」、「最大」、「最小」、「中央値」、「最頻値」、「分散」及び「標準偏差」がある。合計は、全ての数値を足し合わせた値を算出する機能である。平均は、合計の算術平均を算出する機能である。最大は、最大値を特定する機能である。最小は、最小値を特定する機能である。中央値は、有限個のデータを大きさの順に並べたとき中央に位置する値を特定する機能である。最頻値は、標本群で最も頻繁に出現する値を特定する。分散は、標本分散を算出する。標準偏差は、標本標準偏差を算出する。ユーザはいずれかをクリックすることにより、集計の種類を選択することができる。なお、集計属性には、「新規」パネルを登録することもできる。 FIG. 67 is an example of a screen for setting the tally attribute (tally attribute setting screen). The screen in FIG. 67 includes an area for selecting the type of character tabulation or the type of numerical tabulation for the tabulation attribute selected by the user. The types of character tabulation include “combination” and “frequency”. Joining is a function that outputs values separated by commas. Frequency is a function that outputs the number of occurrences of a value in parentheses. Types of numerical tabulation include “sum”, “average”, “maximum”, “minimum”, “median”, “mode”, “variance”, and “standard deviation”. The sum is a function for calculating a value obtained by adding all the numerical values. Average is a function that calculates the arithmetic mean of the sum. Maximum is a function that specifies the maximum value. The minimum is a function for specifying the minimum value. The median value is a function for specifying a value located at the center when a finite number of data are arranged in order of size. The mode specifies the value that appears most frequently in the sample group. The variance calculates the sample variance. The standard deviation calculates a sample standard deviation. The user can select the type of aggregation by clicking any of them. It should be noted that a “new” panel can be registered as the total attribute.
図68は、集計属性として新規属性を設定するための画面(集計追加属性画面)の一例である。すなわち、図68の画面は、図65の画面において集計属性に追加された新規属性の設定をする際に表示される。図68の画面は、新規属性の名称を入力するための領域と、新規属性の種類を選択するための領域とを含む。新規属性の名称には、ユーザが文字列を入力する。そして、入力された文字列が、出力データの属性名に設定される。新規属性の種類には、「カウント」、「計算」、「条件」及び「関数処理」の選択肢がある。カウントは、キー属性画面で指定した属性の個数を出力する機能である。すなわち、「カウント」が選択された場合、図66の「集計キー設定」画面で設定された条件を満たすレコード群に含まれるレコード数を計数し、当該新規項目の値とする。計算は、計算結果を出力する機能であり、後述する計算画面で詳細を設定する。条件は、設定された判定条件の判定結果を出力する機能であり、後述する条件画面で詳細を設定する。関数処理は、設定した関数処理の結果を出力する機能であり、後述する関数処理画面で詳細を設定する。なお、図68の設定画面において、パネルの色が設定の状態を表すようにしてもよい。例えば、水色は、未設定の状態を表す。また、紫色は、横結合キー設定画面において設定済の状態を表す。黄色は、新規属性が未設定の状態を示す。 FIG. 68 shows an example of a screen for setting a new attribute as a tally attribute (total tally attribute screen). That is, the screen in FIG. 68 is displayed when setting a new attribute added to the total attribute in the screen in FIG. The screen of FIG. 68 includes an area for inputting the name of the new attribute and an area for selecting the type of the new attribute. The user inputs a character string for the name of the new attribute. Then, the input character string is set as the attribute name of the output data. The types of the new attribute include options of “count”, “calculation”, “condition”, and “function processing”. The count is a function for outputting the number of attributes specified on the key attribute screen. That is, when “count” is selected, the number of records included in the record group that satisfies the condition set on the “total key setting” screen of FIG. 66 is counted and set as the value of the new item. The calculation is a function of outputting a calculation result, and details are set on a calculation screen described later. The condition is a function of outputting a judgment result of the set judgment condition, and details are set on a condition screen described later. The function processing is a function for outputting a result of the set function processing, and details are set on a function processing screen described later. In the setting screen of FIG. 68, the color of the panel may indicate the setting state. For example, light blue indicates an unset state. Also, purple indicates a state that has been set on the horizontal combination key setting screen. Yellow indicates that the new attribute has not been set.
図69は、「計算」の設定をするための画面(計算画面)の一例である。図69の画面は、集計属性の一覧を表示する領域と、四則演算の設定をするためのテンキー領域とを含む。ユーザはこれらを組み合わせて、当該新規属性の値を算出するための計算式を定義することができる。集計属性には、集計画面集計属性名が表示される。ここでは、設定済みの属性(紫色のパネル)が表示される。また、自パネルより前の新規属性も表示され、計算に用いることができる。演算式の値には、計算式用の数値や演算子を選択する。入力は、集計属性のパネルから選択したり、テンキー領域からドラッグアンドドロップしたりすることにより行う。また、確認用計算式には、計算式の値がテキスト表示される。なお、計算式に誤りがある場合、赤字等で強調表示するようにしてもよい。 FIG. 69 is an example of a screen (calculation screen) for setting “calculation”. The screen of FIG. 69 includes an area for displaying a list of aggregation attributes, and a numeric keypad area for setting four arithmetic operations. The user can define a calculation formula for calculating the value of the new attribute by combining them. The aggregation attribute displays the aggregation screen aggregation attribute name. Here, the set attributes (purple panel) are displayed. Also, a new attribute before the own panel is displayed and can be used for calculation. For the value of the operation expression, select a numerical value or an operator for the expression. The input is performed by selecting from the panel of the tabulation attribute or by dragging and dropping from the numeric keypad area. Further, the value of the calculation formula is displayed as text in the confirmation calculation formula. If there is an error in the calculation formula, it may be highlighted in red letters or the like.
また、図70は、「条件」の設定をするための画面(条件画面)の一例である。図70の画面は、集計属性の一覧を表示する領域と、条件式を設定するための領域と、条件に合致する場合に当該新規属性に表示する値及び条件に合致しない場合に当該新規属性に表示する値を入力する領域とを含む。ユーザは、任意の集計属性が所定の条件を満たすか否かを判定するための条件式を設定することができる。条件式は、AND(論理積)又はOR(論理和)で複数接続することもできる。集計属性には、集計画面 の集計属性名が表示される。ここでは、設定済みの属性(紫色のパネル)が表示される。また、新規属性は、自パネルより前の属性が表示される。条件式を設定するための領域には、集計時の条件式を入力する。属性には、条件のもととなる集計属性を選択する。値には、条件の値を入力する。区分には、判定条件を1つ選択する。選択肢として、「一致する」、「を含む」、「以上」、「以下」、「大なり」、「小なり」、「一致しない」、「含まない」、「正規表現」が選択できる。また、「AND」ボタンが押下されると、新たなAND条件式の行が追加される。「OR」ボタンが押下されると、新たなOR条件式の行が追加される。条件に合致の欄には、条件式に合致した値の行に出力する値を、入力又は集計属性から選択する。条件に合致しないの欄には、条件式に合致しない値の行に出力する値を入力または、集計属性から選択する。 FIG. 70 is an example of a screen (condition screen) for setting “condition”. The screen of FIG. 70 includes an area for displaying a list of total attributes, an area for setting a conditional expression, a value to be displayed for the new attribute when the condition is satisfied, and a value for the new attribute when the condition is not satisfied. And an area for inputting a value to be displayed. The user can set a conditional expression for determining whether or not an arbitrary aggregation attribute satisfies a predetermined condition. A plurality of conditional expressions can be connected by AND (logical product) or OR (logical sum). The aggregation attribute displays the aggregation attribute name on the aggregation screen. Here, the set attributes (purple panel) are displayed. As the new attribute, the attribute before the own panel is displayed. In the area for setting a conditional expression, a conditional expression for counting is input. As the attribute, a total attribute that is a condition is selected. For the value, enter the value of the condition. For the classification, one judgment condition is selected. As options, “match”, “include”, “greater than”, “less than”, “greater than”, “less than”, “does not match”, “do not include”, and “regular expression” can be selected. When the “AND” button is pressed, a new AND conditional expression row is added. When the “OR” button is pressed, a new OR conditional expression line is added. In the column of the condition matching, the value to be output to the row of the value matching the conditional expression is selected from the input or the total attribute. In the column that does not match the condition, a value to be output in a row of a value that does not match the conditional expression is input or selected from the total attribute.
図71は、「関数処理」を設定するための画面(関数処理画面)の一例である。図71の画面は、「集計属性」の一覧を表示する領域と、「対象属性」を指定するための領域と、「データ処理関数名」を選択するための領域とを含む。ユーザは、集計属性のパネルを対象属性を設定するための領域にドラッグアンドドロップすることができる。また、ユーザがデータ処理関数名を選択すると、選択されたデータ処理関数名に応じて引数を入力するための領域が表示される。集計属性には、集計画面の集計属性名が表示される。ここでは、設定済みの属性(紫色のパネル)が表示される。また、新規属性は、自パネルより前の属性が表示される。対象属性には、関数処理を行う属性を指定する。データ処理関数名には、関数の分類を選択する。図65から図71を用いて説明したような項目が、集計処理の設定情報としてデータ記憶部401に記憶される。
FIG. 71 is an example of a screen (function processing screen) for setting “function processing”. The screen in FIG. 71 includes an area for displaying a list of “total attributes”, an area for specifying “target attribute”, and an area for selecting “data processing function name”. The user can drag and drop the panel of the tally attribute to the area for setting the target attribute. When the user selects a data processing function name, an area for inputting an argument is displayed according to the selected data processing function name. The aggregation attribute displays the aggregation attribute name on the aggregation screen. Here, the set attributes (purple panel) are displayed. As the new attribute, the attribute before the own panel is displayed. For the target attribute, an attribute for performing the function processing is specified. For the data processing function name, select the classification of the function. The items described with reference to FIGS. 65 to 71 are stored in the
選択肢として、次のような関数がある。「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」は、住所から都道府県名を取得する関数である。なお、本実施形態において、集計結果出力時の属性名は、『属性名』+『_(アンダーバー)』+『下記表の「集計結果の属性名」』とする。 The options are as follows: “Alphabetic” is a function that extracts only letters of the alphabet (A-Z and a-z). “Left” is a function for acquiring the specified number of characters from the left end. “Lefta” is a function that searches for a search character from the left end and obtains characters up to that character. “Leftb” is a function that searches the left end or the search character and obtains the character up to that position. “Length” is a function for obtaining the length of a character. "Lower" is a function that changes uppercase letters to lowercase letters. “Middle” is a function for acquiring the position and the number of characters specified from the left. “Multibytechar” is a function that extracts only multibyte characters. “Number” is a function that determines one character at a time in a character string and extracts only a numerical value. “Repeat” is a function for repeatedly registering a specified character from a specified attribute value (numerical value). “Replace” is a function for replacing a specified character. “Replacedic” is a function that replaces a specified character based on the contents of a replacement dictionary. "Right" is a function for acquiring a specified character from the right end. “Righta” is a function that searches for a search character from the right end and obtains characters up to that character. “Rightb” is a function for performing a search character search from the right end and obtaining characters up to that position. “Substitute” is a function that replaces the position specified from the left with the number of characters. "Normalizeaddress" is a function that normalizes ambiguous addresses. “Normalizecompany” is a function for standardizing a company name. "Normalizedate" is a function that separates dates with a slash (/). “NormalizedateISO” is a function for normalizing a date. "Jnounphrase" is a function that extracts only general nouns from sentences. “Normalizename” is a function that normalizes the name. "Normalizenumber" is a function for standardizing numbers including kanji (including old kanji). "Normalizepostcode" is a function for standardizing postal codes. “Municipalities” is a function for acquiring the name of a city, town, or village from an address. “Postaddress” is a function for acquiring an address from a postal code. “Prefectures” is a function for acquiring a prefecture name from an address. In this embodiment, the attribute name at the time of output of the tally result is “attribute name” + “_ (under bar)” + ““ attribute name of tally result ”in the following table”.
<グループ化>
グループ化とは、表型データを任意の形で分類し集計する機能である。具体的には、所定の列の要素に基づいてレコードを分類して集計(いわゆる「クロス集計」)する機能である。グループ化部407は、ユーザが設定したキー属性とグループ化属性に基づいて、集計を行う。キーとなる列の要素には、後述するデータクレンジング機能を用いることができる。<Grouping>
Grouping is a function of classifying and summarizing tabular data in an arbitrary form. Specifically, it is a function of classifying and totaling records (so-called “cross tabulation”) based on elements in a predetermined column. The
図72は、グループ化処理の入力データの一例である。また、図73は、グループ化処理の出力データの一例である。図72のような表形式データのうち、「機器名」及び「シリアル番号」をキー属性に設定し、「データ取得日」をグループ属性に設定し、「出力枚数」を値に設定すると、キー属性が同一のレコードごとに、且つデータ取得日ごとにグループ化され、出力枚数の値が集計される。 FIG. 72 is an example of input data of the grouping process. FIG. 73 is an example of output data of the grouping process. In the tabular data as shown in FIG. 72, if “device name” and “serial number” are set as key attributes, “data acquisition date” is set as group attribute, and “output number” is set as a value, The attributes are grouped for each record and for each data acquisition date, and the values of the number of output sheets are totaled.
また、図74は、グループ化処理の設定をするための画面(グループ化画面)の一例である。図74は、「属性一覧」を表示するための領域と、キー属性を設定するための領域と、グループ属性を設定末ための領域と、値の設定をするための領域と、数値集計をするための領域とを含む。属性一覧には、属性名が表示される。キー属性には、グループ化する際のキー属性を指定する。なお、パネルは並べ替え可能である。また、設定後は二段表示となり、上段には属性名が表示され、下段にはグループ化キー設定画面の名寄せ判断及びデータクレンジング処理の内容が表示される。図74を用いて説明したような項目が、グループ化処理の設定情報としてデータ記憶部401に記憶される。
FIG. 74 is an example of a screen (grouping screen) for setting the grouping processing. FIG. 74 shows an area for displaying an “attribute list”, an area for setting key attributes, an area for setting group attributes, an area for setting values, and a numerical tabulation. And an area for The attribute list displays the attribute names. In the key attribute, a key attribute for grouping is specified. Note that the panels can be rearranged. After the setting, the display becomes a two-level display, the upper part displays the attribute name, and the lower part displays the contents of the grouping key setting screen name determination and data cleansing processing. The items described with reference to FIG. 74 are stored in the
<グループ化解除>
グループ化解除とは、指定したキー列に従い、統合的なデータをレコードに分割する機能である。このとき、要素の名称を値として用いることができる。また、ユーザが指定したキー属性とグループ化解除属性とに従ってレコードを分割する。<Ungroup>
Ungrouping is a function of dividing integrated data into records according to a specified key sequence. At this time, the name of the element can be used as a value. Further, the record is divided according to the key attribute and the group release attribute specified by the user.
図72に示したデータが、グループ化解除処理の入力データであるものとする。また、図75は、グループ化解除処理の出力データの一例である。図72のような表形式データのうち、「データ取得日」をキー属性に設定し、「機器名」及び「シリアル番号」をグループ化解除属性に設定すると、図75のように、グループ化解除属性の属性名を値とするレコードに分割される。 It is assumed that the data shown in FIG. 72 is input data for the grouping release processing. FIG. 75 shows an example of output data of the grouping release processing. When “data acquisition date” is set as a key attribute and “device name” and “serial number” are set as a degrouping attribute in the tabular data as shown in FIG. 72, the degrouping is performed as shown in FIG. It is divided into records whose values are attribute names of attributes.
図76は、グループ化解除処理の設定をするための画面(グループ化キー設定画面)の一例である。図76は、「属性一覧」を表示するための領域と、「キー属性」を設定するための領域と、「グループ化解除属性」を設定するための領域とを含む。属性一覧には、属性名が表示される。キー属性には、グループ化解除する際のキー属性を指定する。なお、パネルは並べ替え可能である。グループ化解除属性には、グループ化解除する際の属性を指定する。全移動が指定されると、属性一覧のパネルをグループ化解除属性に全て移動する。本実施形態において、グループ化解除結果出力時の属性名は、キー属性の属性名、「sub」、「value」とする。図76を用いて説明したような項目が、グループ化解除処理の設定情報としてデータ記憶部401に記憶される。
FIG. 76 is an example of a screen (grouping key setting screen) for setting grouping release processing. FIG. 76 includes an area for displaying an “attribute list”, an area for setting a “key attribute”, and an area for setting a “grouping release attribute”. The attribute list displays the attribute names. In the key attribute, a key attribute for canceling grouping is specified. Note that the panels can be rearranged. In the ungrouping attribute, an attribute for ungrouping is specified. If all move is specified, all the panels in the attribute list are moved to the ungrouping attribute. In the present embodiment, the attribute names at the time of outputting the grouping release result are the attribute names of the key attributes, “sub” and “value”. The items described with reference to FIG. 76 are stored in the
<ナンバリング>
ナンバリングとは、レコードに連続番号(「連番」とも呼ぶ)を振るための属性を追加する機能である。複数のファイルを結合した場合であっても、レコードを一意に特定できる連番を追加することができる。例えば、図72の「No」のように連番を追加することができる。図77は、ナンバリングを設定するための画面の一例である。図77は、属性名を入力するための領域を含む。ユーザは、連番を振るための属性に任意の名称を付けることができる。<Numbering>
Numbering is a function of adding an attribute for assigning a serial number (also referred to as “serial number”) to a record. Even when a plurality of files are combined, it is possible to add a serial number that uniquely identifies a record. For example, a serial number can be added as “No” in FIG. FIG. 77 is an example of a screen for setting numbering. FIG. 77 includes an area for inputting an attribute name. The user can give an arbitrary name to the attribute for assigning a serial number.
<検索>
検索とは、データフォーマットの異なる複数の表形式データや結合後の表形式データから、指定された検索条件にもとづいて、レコードを抽出する機能である。抽出されたレコードをソート(並べ替え)することも可能である。<Search>
The search is a function of extracting a record from a plurality of tabular data having different data formats or a combined tabular data based on a specified retrieval condition. It is also possible to sort (sort) the extracted records.
図78は、検索条件を設定するための画面の一例である。図78の画面は、検索条件式を入力するための領域と、ソート条件を設定するための領域と、属性一覧を表示する領域と、検索条件式生成オプションの領域(検索キーワードの条件式への入力を支援するための領域及び検索範囲の条件式への入力を支援するための領域)とを含む。キーワード検索の条件には、論理積(AND)、論理和(OR)、否定(NOT)を使用することができる。範囲検索の条件には、所定の属性に対し、「完全一致」、「中間一致」、「前方一致」、「後方一致」、「以上」、「以下」、「大なり」、「小なり」、「一致しない」、「含まない」が選択できる。また、ソート条件として、所定の属性に対し「昇順」又は「降順」が指定できる。 FIG. 78 is an example of a screen for setting a search condition. The screen shown in FIG. 78 includes an area for inputting a search condition expression, an area for setting a sort condition, an area for displaying an attribute list, and an area for a search condition expression generation option (a search keyword expression And a region for supporting input to the conditional expression of the search range). As a condition for keyword search, logical product (AND), logical sum (OR), and negation (NOT) can be used. The conditions for the range search include “exact match”, “middle match”, “before”, “after”, “greater than”, “less than”, “greater than”, “less than” , “Does not match”, and “does not include” can be selected. As a sort condition, “ascending order” or “descending order” can be designated for a predetermined attribute.
<外部連携>
外部連携とは、表形式データ処理装置が保持している他のプログラムを起動する機能である。例えば、本実施形態に係る処理によって出力されるデータを読み込んで用いる他のプログラムに、処理を引き継ぐことができる。プログラムファイルには、外部プログラムの絶対パスを入力する。起動オプションとして、コマンドラインオプションを入力できるようにしてもよい。また、起動後の待機時間(秒)を指定できるようにしてもよい。<External cooperation>
The external cooperation is a function of activating another program held by the tabular data processing device. For example, the processing can be taken over by another program that reads and uses data output by the processing according to the present embodiment. In the program file, enter the absolute path of the external program. A command line option may be input as a start option. Further, a standby time (second) after activation may be designated.
<ファイル操作>
また、CSVファイルの削除、出力、分割を行うこともできる。ファイル分割とは、表形式データを所定の大きさに分割する機能である。例えば、入力される表形式データを物理的に分割することにより、入力データのサイズを小さくすることができ、本実施形態に係る処理を行う際のコンピュータの負荷を低減させることができる。<File operation>
It is also possible to delete, output, and divide a CSV file. The file division is a function of dividing tabular data into a predetermined size. For example, by physically dividing the input tabular data, the size of the input data can be reduced, and the load on the computer when performing the processing according to the present embodiment can be reduced.
<設定内容の保存・変更>
設定内容の保存及び復元とは、1以上のプロセスの実行順序及び各プロセスを実行するための設定を定義した設定内容をXMLファイルに保存する処理、並びに保存したファイルを開く処理である。本実施形態では、XMLファイルに保存される情報により、項目の構成が同一の表形式データに対して、上記のような処理を再度実行することができる。なお、XMLファイルを再実行情報とも呼ぶ。なお、保存したファイルを開き、定義されたプロセスを実行することができると共に、定義を修正することも可能である。本実施形態では、XMLファイルに保存される一連のプロセスをジョブとも呼ぶ。<Save / change settings>
Saving and restoring the setting contents are processing for saving the setting contents defining the execution order of one or more processes and the settings for executing each process in an XML file, and processing for opening the saved file. In the present embodiment, the above-described processing can be executed again on tabular data having the same item configuration based on the information stored in the XML file. Note that the XML file is also called re-execution information. Note that the saved file can be opened, the defined process can be executed, and the definition can be modified. In the present embodiment, a series of processes stored in the XML file is also called a job.
また、復元時には、各プロセスの出力属性及び入力属性に不整合がないかチェックするようにしてもよい。例えば、CSVファイルの属性が増減していたり、属性名が変更されている場合には、不整合を検知して画面上で警告表示をするようにしてもよい。 At the time of restoration, it may be checked whether or not the output attribute and the input attribute of each process are inconsistent. For example, when the attribute of the CSV file is increased or decreased or the attribute name is changed, an inconsistency may be detected and a warning display may be displayed on the screen.
<XMLファイルの内容>
図79にXMLファイルの内容の一例を示す。<Set>タグは、データセット項目であり、タグ内には入力CSVファイルについて記述する。<Process>タグは、プロセスセット項目であり、タグ内には実行する処理について記述する。具体的には検索、縦結合、横結合、集計を設定する。その他、データ宣言部を含んでいてもよい。以下、図79において使用されていないタグも含め、XMLファイルで用いられる要素名及び属性名並びにその内容の一例を説明する。<Contents of XML file>
FIG. 79 shows an example of the content of the XML file. The <Set> tag is a data set item, and describes the input CSV file in the tag. The <Process> tag is a process set item, and describes the process to be executed in the tag. Specifically, search, vertical connection, horizontal connection, and totaling are set. In addition, a data declaration section may be included. Hereinafter, an example of element names and attribute names used in the XML file and their contents, including tags not used in FIG. 79, will be described.
<Search>タグは、検索項目であり、タグ内にはファイル内検索の条件を記述する。<OneColumnJoin>タグは、縦結合項目であり、タグ内には縦結合に関する設定を記述する。<FullColumnJoin>タグは、横結合項目であり、タグ内には横結合に関する設定を記述する。<Summarization>タグは、集計項目であり、タグ内には集計に関する設定を記述する。<Runtime>タグは、外部連携項目であり、タグ内には外部プログラムの起動について記述する。<Numbering>タグは、ナンバリング項目であり、タグ内にはナンバリングに関する設定を記述する。<Group>タグは、グループ化項目であり、タグ内にはグループ化に関する設定を記述する。<Ungroup>タグは、グループ化解除項目であり、タグ内にはグループ化解除に関する設定を記述する。<Out>タグは、データアウト項目であり、タグ内には出力CSVファイルについて記述する。<Comment>タグは、コメント項目であり、タグ内には、コメント(文字列)を記載する。 The <Search> tag is a search item, and describes a condition for searching in a file in the tag. The <OneColumnJoin> tag is a vertical join item, and describes the settings related to vertical join in the tag. The <FullColumnJoin> tag is a horizontal join item, and describes the settings related to horizontal join in the tag. The <Summarization> tag is a tabulation item, and describes settings related to tabulation in the tag. The <Runtime> tag is an external linkage item, and describes the activation of the external program in the tag. The <Numbering> tag is a numbering item, and describes settings related to numbering in the tag. The <Group> tag is a grouping item, and describes settings related to grouping in the tag. The <Ungroup> tag is an ungrouping item, and describes settings related to ungrouping in the tag. The <Out> tag is a data out item, and describes the output CSV file in the tag. The <Comment> tag is a comment item, and a comment (character string) is described in the tag.
Searchタグには、XML要素(エレメント)として、検索条件を示す論理式(Fml)が記述される。ソートする場合には、ソート(Sort)要素に昇順(asc)又は降順(desc)が記述される。 In the Search tag, a logical expression (Fml) indicating a search condition is described as an XML element (element). In the case of sorting, ascending order (asc) or descending order (desc) is described in the sort (Sort) element.
OneColumnJoinタグには、縦結合の設定を表す要素が記述される。ターゲット(Target)は、データセットで指定したファイル内容である。フィールド(Field)は、出力する属性の数だけ記述される。フィールド要素(Cell)には属性名が記述され、さらにファイル名(filename)属性(アトリビュート)に、フルパスのファイル名が記述される。結合(Unite)は、属性の連結が連結する属性の数だけ記述される。結合するセル要素(UCell)には、連結する属性名が記述され、さらにファイル名(filename)属性に、フルパスのファイル名が記述される。新しいフィールド(New)は、出力する属性内容が記述される。フィールド(Field)は、ターゲット(Target)の数だけ記述される。フィールド要素(Cell)には、データアウトの属性名が記述される。 In the OneColumnJoin tag, an element indicating the setting of vertical combination is described. The target (Target) is the file content specified in the data set. Field (Field) is described by the number of attributes to be output. The attribute name is described in the field element (Cell), and the file name of the full path is described in the file name (filename) attribute (attribute). The connection (Unite) is described by the number of attributes to which the attribute connection is connected. In the cell element (UCell) to be combined, the attribute name to be combined is described, and in the file name (filename) attribute, the full path file name is described. A new field (New) describes the attribute content to be output. Fields are described by the number of targets. The attribute name of the data out is described in the field element (Cell).
次に、横結合に関連するタグについて説明する。横結合(FullColumnJoin)は、横結合を示すタグである。キー(Key)には、キー属性が記述され、さらに名寄せ判断(match)属性には、完全一致、前方一致、後方一致、中間一致のいずれかを示す識別情報が記述される。また、クレンジング(cleansing)属性には、使用しない、電話番号、郵便番号、日付、法人名、数値、日本語解析、英字解析、氏名、住所、ユーザ辞書のいずれかが記述される。結合(Add)要素には、重複する値の処理(jointype)属性として、重複除外(一行)、重複(一行)、頻度ソート、自動補完のいずれかを示す識別情報、及び値の間の接続因子(delimiter)属性として、改行、スラッシュ、カンマ、スペースのいずれかを示す識別情報が記述される。 Next, tags related to the horizontal connection will be described. Horizontal join (FullColumnJoin) is a tag indicating horizontal join. In the key (Key), a key attribute is described, and in the name identification (match) attribute, identification information indicating any of a perfect match, a forward match, a backward match, and an intermediate match is described. In the cleansing attribute, any of unused telephone numbers, postal codes, dates, corporation names, numerical values, Japanese analysis, English character analysis, names, addresses, and user dictionaries is described. In the join (Add) element, identification information indicating one of deduplication (one line), duplication (one line), frequency sorting, and auto-completion, and a connection factor between the values as a duplicate value processing (jointype) attribute As the (delimiter) attribute, identification information indicating any of a line feed, a slash, a comma, and a space is described.
次に、集計する際の各要素について説明する。Summarizationは集計を示すタグである。また、Keyは、キー要素を示し、キーの数だけ記述され、さらにaggregate属性には、名寄せ判断を示し、完全一致、年別、月別、日別、週別(年単位)、週別(月単位)、曜日別、ユーザ辞書のいずれかを示す識別情報が記述される。Statistic要素は属性集計を示し、出力する属性の数だけ記述される。さらに、flag属性はフラグであり、0-99までの数値で重複しない値が入力される。また、collect属性は集計内容を示し、結合、頻度、合計、平均、中央値、最頻値、最大値、最小値、分散、標準偏差のいずれかを示す識別情報が設定される。また、StatisticNew要素は新規属性集計を示す。また、出力する属性の数だけ属性名が記述され、collect属性は、集計内容であり、カウント、計算、条件、分岐(未使用)、ナンバリング(廃止)、関数処理のいずれかを示す識別情報が設定される。また、fml属性は集計式を示す。集計式の中の括弧において、角括弧内の数字は、フラグで設定した番号、波括弧内の数字は、新規属性集計の0から始まる登録順番を表す。集計式の記述は、集計内容が「計算」の場合、四則演算の式を記述する。集計内容が「条件」の場合、条件式を記述する。集計内容が「関数処理」の場合、関数を記述する。 Next, each element at the time of counting will be described. Summarization is a tag indicating aggregation. In addition, Key indicates a key element and is described by the number of keys. In addition, the aggregate attribute indicates a name identification judgment, exact match, year, month, day, week (year unit), week (month) The identification information indicates any one of (unit), day of the week, and user dictionary. The Statistic element indicates attribute aggregation, and is described as many as the number of attributes to be output. Further, the flag attribute is a flag, and a non-overlapping value with a numerical value from 0 to 99 is input. In addition, the collect attribute indicates the content of the aggregation, and identification information indicating any of the combination, frequency, total, average, median, mode, maximum, minimum, variance, and standard deviation is set. In addition, a StatisticNew element indicates a new attribute aggregation. The attribute names are described as many as the number of attributes to be output. The collect attribute is the content of the aggregation, and identification information indicating any of count, calculation, condition, branch (unused), numbering (discontinued), and function processing is displayed. Is set. The fml attribute indicates a tally expression. In the parentheses in the tally expression, the numbers in square brackets indicate the numbers set by the flags, and the numbers in curly braces indicate the registration order of the new attribute tally starting from 0. In the description of the tally expression, when the tally content is “calculation”, the expression of the four arithmetic operations is described. If the total is "condition", describe the conditional expression. If the total is "function processing", describe the function.
Runtimeは、外部連携を示すタグである。File要素には、外部プログラムの絶対パスを記述する。さらに、option属性には、コマンドラインオプションを記述する。Wait属性には、外部プログラム起動後の待ち時間をミリ秒単位で記述する。外部プログラムが終了するまで待機する設定値を設けてもよい。 Runtime is a tag indicating external cooperation. The absolute path of the external program is described in the File element. Further, a command line option is described in the option attribute. In the Wait attribute, the waiting time after starting the external program is described in milliseconds. A set value for waiting until the external program ends may be provided.
Numberingは、ナンバリングを示すタグである。XML要素のうち、Fieldにはフィールド、Cellにはフィールド要素(属性名)を記述する。 Numbering is a tag indicating numbering. In the XML element, Field describes a field, and Cell describes a field element (attribute name).
Groupは、グループ化を示すタグである。Key要素は、キーを示す。さらに、match属性には、名寄せ判断として、完全一致、前方一致、後方一致、中間一致のいずれかを示す識別情報が記述される。また、cleansing属性には、クレンジングの種類として、使用しない、電話番号、郵便番号、日付、法人名、数値、日本語解析、英字解析、氏名、住所、ユーザ辞書のいずれかを示す識別情報が記述される。GroupLabel要素には、グループ化属性を示す属性名を記述される。GroupData要素には、グループ化値を示す属性名を記述される。StatisticNew要素には、グループ化集計を示す属性名をグループ化値の数だけ記述される。さらに、collect属性には、グループ化内容として、結合、頻度、合計、平均、中央値、最頻値、最大値、最小値、分散、標準偏差の何れかを示す識別情報を記述する。 Group is a tag indicating grouping. The Key element indicates a key. Further, in the match attribute, identification information indicating any of a perfect match, a forward match, a backward match, and an intermediate match is described as the name identification determination. In the cleansing attribute, identification information indicating any of the following types of cleansing: unused, phone number, postal code, date, corporate name, numerical value, Japanese analysis, alphabet analysis, name, address, user dictionary Is done. In the GroupLabel element, an attribute name indicating a grouping attribute is described. An attribute name indicating a grouping value is described in the GroupData element. In the StatisticNew element, attribute names indicating the grouping total are described by the number of grouping values. Further, in the collect attribute, identification information indicating any of the combination, frequency, sum, average, median, mode, maximum, minimum, variance, and standard deviation is described as the grouping content.
Ungroupは、グループ化解除を示すタグである。Key要素には、キー属性を記述する。Field要素には、属性の数だけ記述される。Unite要素は結合を示し、セル要素が1つの場合は記述されない。UCell要素には、結合するセル要素であるグループ化解除属性名を記述する。 Ungroup is a tag indicating ungrouping. Key attribute describes the key attribute. The number of attributes is described in the Field element. The Unite element indicates connection, and is not described when there is one cell element. In the UCell element, a grouping release attribute name, which is a cell element to be combined, is described.
Outは、データアウトを示すタグである。Saveには、出力するファイルパスを記述する。codeには、文字コードを記述する。Deleteはファイル削除を示し、削除するフォルダ又はファイルパスを記述する。 Out is a tag indicating data out. In Save, describe the file path to be output. In code, describe the character code. Delete indicates file deletion, and describes a folder or file path to be deleted.
Commentは、それぞれのエレメントにコメントを例えば文章として記述するタグである。それぞれの前述のタグ内に処理内容及び担当者、日時などを記述しても良い。 Comment is a tag that describes a comment in each element as a sentence, for example. The processing content, the person in charge, the date and time, etc. may be described in each of the above-mentioned tags.
本実施形態における処理を再実行するための情報は、様々な形式で記憶させておくことが可能である。XMLファイルは、インターネットブラウザやテキストエディタ等で表示することができ、ユーザにとって確認しやすいものとなる。なお、本実施形態に係るタグの規格は一例であり、設定項目を保持することができる範囲で様々な変更を加えることができる。また、機能の追加に応じてタグの種類を増やしてもよい。 Information for re-executing the processing in the present embodiment can be stored in various formats. The XML file can be displayed by an Internet browser, a text editor, or the like, so that the user can easily check the XML file. Note that the tag standard according to the present embodiment is an example, and various changes can be made as long as the setting items can be held. Further, the types of tags may be increased according to the addition of the function.
<バッチ処理>
図80に示すように、バッチ処理は、1以上のジョブを設定されたスケジュールで実行する処理である。図80の例は、3つのXMLファイルで定義された3つのジョブが連続して動作するバッチ処理を模式的に表している。なお、2以上のジョブによって出力される2以上のCSVファイルを、後続の1つのジョブの入力ファイルとしてもよい。<Batch processing>
As shown in FIG. 80, the batch process is a process for executing one or more jobs according to a set schedule. The example of FIG. 80 schematically illustrates a batch process in which three jobs defined by three XML files operate continuously. Note that two or more CSV files output by two or more jobs may be used as input files for one subsequent job.
図81にバッチ処理の設定画面の一例を示す。バッチ処理では、作成したジョブ(XMLファイル)を、設定したスケジュール(曜日・時刻・期間)で起動する。図81の画面は、バッチ処理フィールド、バッチ実行フィールド(スケジュールとオプション)から構成される。また、バッチ処理の設定を記憶させておき、本実施形態に係るプログラムの起動時に、設定されている内容を読み出す。また、複数のジョブを指定した場合、番号(No.)順に実行する。バッチ実行フィールドで指定する日時等は、表形式データ処理装置が備える時計機能を利用して判断される。開始時間には、バッチ実行開始時間を入力する。「バッチ開始」ボタンを押下すると、設定内容に従いバッチを実行する。また、「停止」ボタンを押下すると、実行中のバッチを停止する。スケジュールには、バッチを実行する曜日(日〜土)を指定する。開始日には、バッチ実行開始日を入力する。終了日には、バッチ実行終了日を入力する。メール送信をONにすると、実行結果がエラーの場合に設定した宛先にメールで通知することができる。繰返しをONにすると、繰返し実行とする。図81を用いて説明した項目が、バッチ処理の設定情報としてデータ記憶部401に記憶される。
FIG. 81 shows an example of a setting screen for batch processing. In the batch processing, the created job (XML file) is started according to a set schedule (day of week, time, period). The screen in FIG. 81 includes a batch processing field and a batch execution field (schedule and option). Further, the settings of the batch processing are stored, and when the program according to the present embodiment is started, the set contents are read. When a plurality of jobs are specified, the jobs are executed in the order of the numbers (No.). The date and time specified in the batch execution field is determined using a clock function provided in the tabular data processing device. For the start time, enter the batch execution start time. When the "Batch start" button is pressed, the batch is executed according to the settings. When the “stop” button is pressed, the batch being executed is stopped. In the schedule, the day of the week (Sun-Sat) for executing the batch is specified. For the start date, enter the batch execution start date. For the end date, enter the batch execution end date. When the mail transmission is turned on, the set destination can be notified by e-mail when the execution result is an error. When the repetition is turned ON, the repetition is executed. The items described with reference to FIG. 81 are stored in the
<新規ジョブ実行処理>
図82は、新規ジョブ実行処理の一例を示す処理フロー図である。また、図83は、1つのジョブに含まれるプロセス(処理)の流れを、矢印で接続されたアイコンでグラフィカルに表示するプロセスフィールド画面である。例えば、表形式データ処理装置4は、図83のような画面を介して、ユーザからジョブの設定及び実行の要求を受ける。図83の画面は、メニューバーと、ジョブ作成用のボタンと、ジョブに含まれるプロセスを表示するプロセスフィールドとを含む。図83の例では、4つのファイルが縦結合されて1つの表に統合され、さらに横結合及びCSVファイル出力を実行する一連のプロセスがプロセスフィールドに表示されている。なお、プロセスフィールドに表示される各プロセスやCSVファイル操作のアイコンを、「エレメント」とも呼ぶ。<New job execution process>
FIG. 82 is a process flowchart illustrating an example of the new job execution process. FIG. 83 is a process field screen that graphically displays the flow of a process (processing) included in one job with icons connected by arrows. For example, the tabular
図83の画面において、例えば、「ファイル」メニューから、XML形式で保存したファイルを開き、プロセスフィールドに復元することができる。また、メニューから時間起動の設定を行うバッチ処理画面を開くこともできる。さらに、メニューからキャッシュをクリアできるようにしてもよい。 On the screen in FIG. 83, for example, a file saved in the XML format can be opened from the “File” menu and restored to the process field. Also, a batch processing screen for setting time activation can be opened from the menu. Further, the cache may be cleared from the menu.
また、図83の画面は、各処理の設定を行うためのボタンを有している。各ボタンは、画面上の左から順に、入力ファイルをプロセスフィールドに追加し、ファイル設定画面を表示する「ファイル設定」ボタン、縦結合のエレメントをプロセスフィールドに追加し、設定画面を表示する「縦結合」ボタン、横結合のエレメントをプロセスフィールドに追加し、設定画面を表示する「横結合」ボタン、集計のエレメントをプロセスフィールドに追加し、設定画面を表示する「集計」ボタン、グループ化のエレメントをプロセスフィールドに追加し、設定画面を表示する「グループ化」ボタン、グループ化解除のエレメントをプロセスフィールドに追加し、設定画面を表示する「グループ化解除」ボタン、ナンバリングのエレメントをプロセスフィールドに追加し、設定画面を表示する「ナンバリング」ボタン、検索のエレメントをプロセスフィールドに追加し、設定画面を表示する「検索」ボタン、外部連携のエレメントをプロセスフィールドに追加し、設定画面を表示する「外部連携」ボタン、プロセス実行時に、指定したCSVファイルを削除するエレメントをプロセスフィールドに追加し、設定画面を表示する「CSVファイル削除」ボタン、指定したCSVファイルを出力するエレメントをプロセスフィールドに追加し、設定画面を表示する「CSVファイル出力」ボタン、指定したCSVファイルを分割するエレメントをプロセスフィールドに追加し、設定画面を表示する「CSVファイル分割」ボタン、作成したプロセスを実行する「実行」ボタン、復元するXMLファイル選択画面を表示する「プロセス復元」ボタン、XMLファイル保存画面を表示する「プロセス保存」ボタン、操作結果イメージを別画面で表示する「イメージデータビューア」ボタン、プロセスフィールドの内容をリセットする「プロセスリセット」ボタンである。ユーザはこれらのボタンを押下することで、ジョブ(プロセスフィールド)にプロセスを追加したり、プロセスを実行したりすることができる。また、プロセスフィールド上でエレメントを右クリックすると、当該エレメントの処理設定をするための「編集」メニュー、当該エレメントをプロセスフィールドから削除するための「削除」メニュー等(コンテキストメニュー)が表示される。ここで、「編集」を選択した場合も、上で説明した各処理の設定画面が表示されるものとする。さらにエレメントはドラッグアンドドロップにより順序を変更することができる。また、エレメント間の入出力ファイルが整合しない場合は、エレメントの順序を変更できないようにするか、自動的にエレメント内部のデータの整合を取るような処理にしてもよい。 Also, the screen in FIG. 83 has buttons for setting each process. Each button adds an input file to the process field in order from the left on the screen, a “File setting” button to display the file setting screen, and a “Vertical” button to add a vertical combination element to the process field and display the setting screen. Add "join" button, horizontal join element to the process field, display the setting screen "horizontal join" button, add summary element to the process field, "set" button to display the setting screen, grouping element Is added to the process field, the "Grouping" button to display the setting screen, the element of ungrouping is added to the process field, and the "Ungrouping" button to display the setting screen, the numbering element is added to the process field Click the “Numbering” button to display the setting screen, Add a comment to the process field, add a "Search" button to display the setting screen, add an external linkage element to the process field, add an "External linkage" button to display the setting screen, and delete the specified CSV file when executing the process Element to add to the process field and display the setting screen "CSV file delete" button, add the element to output the specified CSV file to the process field and display the setting screen "CSV file output" button, the specified "CSV file split" button to add an element to split CSV file to process field and display setting screen, "Execute" button to execute created process, and "Process restore" button to display XML file selection screen to restore , XML file saving image To display the "process save" button, a "process Reset" button to reset "Image Data Viewer" button to display the result of the operation image in a different screen, the contents of the process field. By pressing these buttons, the user can add a process to the job (process field) or execute the process. When an element is right-clicked on the process field, an "edit" menu for setting processing of the element, a "delete" menu for deleting the element from the process field, and the like (context menu) are displayed. Here, it is assumed that the setting screen for each process described above is also displayed when “edit” is selected. Further, the order of the elements can be changed by drag and drop. If the input / output files between the elements do not match, the processing may be such that the order of the elements cannot be changed or the data inside the elements is automatically matched.
また、図83のプロセスフィールド画面において、各エレメントが実行する処理の内容を表示するようにしてもよい。例えば、各エレメントの周囲に表示を追加してもよいし、各エレメントにカーソルを合わせると表示が現れるようにしてもよい。表示の内容は、例えばXMLに設定されるような内容の少なくとも一部を含むようにしてもよい。また、処理エレメント前後の表型データを表示してもよい。例えば、縦結合処理のエレメントであれば、属性の対応付けの少なくとも一部が表示される。また、横結合処理のエレメントであれば、キー属性、名寄せ判断及び重複する値の処理の少なくとも一部が表示される。また、集計処理のエレメントであれば、キー属性及び集計属性の少なくとも一部が表示される。さらに、ユーザが内容を修正及び保存できるようにしてもよい。また、その処理エレメントにコメントとして文章及び修正できるようにしてもよい。また、中間的に生成される表形式データの内容を表示できる機能(イメージデータビューアとも呼ぶ)を設けてもよい。ユーザは、各プロセスで生成される出力データを検証しつつ、ジョブの設定を行うことができる。図84に、処理の内容及びイメージデータビューアを表示する画面の一例を示す。図84の例では、各エレメントに吹き出しのアイコンが設けられており、ユーザがクリックしたりカーソルを重ねることで、予め記憶させられているコメントが表示されるものとする。また、吹き出しのアイコンをクリック等することによって、右下に示すような「コメント編集」ウィンドウを表示させ、ユーザがコメントを入力又は修正できるようにしてもよい。図84の上には、「イメージデータビューア」ウィンドウが表示されている。ここには、例えば、編集中のジョブが最終的に出力する表形式データの内容が表示される。なお、ジョブに含まれるエレメントの各々について、入力ファイル又は出力ファイルの項目の構成又は表形式データの内容を表示できるようにしてもよい(図示せず)。 In addition, on the process field screen of FIG. 83, the content of the processing executed by each element may be displayed. For example, a display may be added around each element, or a display may appear when the cursor is moved to each element. The content of the display may include at least a part of the content set in XML, for example. Further, tabular data before and after the processing element may be displayed. For example, in the case of an element of the vertical combination processing, at least a part of the association of attributes is displayed. In the case of an element of the horizontal combination processing, at least a part of the key attribute, the name identification determination, and the processing of the duplicate value is displayed. If the element is a tallying process, at least a part of the key attribute and the tallying attribute is displayed. Further, the user may be able to modify and save the content. In addition, the processing element may be configured to be able to be written and modified as a comment. Further, a function (also called an image data viewer) that can display the contents of the tabular data generated in the middle may be provided. The user can set the job while verifying the output data generated in each process. FIG. 84 shows an example of a screen that displays the processing contents and the image data viewer. In the example of FIG. 84, a balloon icon is provided for each element, and a comment stored in advance is displayed when the user clicks or moves the cursor. Further, by clicking a balloon icon or the like, a “comment edit” window as shown in the lower right may be displayed so that the user can input or correct a comment. An “image data viewer” window is displayed above FIG. Here, for example, the contents of the tabular data finally output by the job being edited are displayed. Note that, for each of the elements included in the job, the configuration of the items of the input file or the output file or the content of the tabular data may be displayed (not shown).
このようにすれば、ユーザは「横結合」や「集計」といった処理の具体的な内容を理解することができる。本実施形態に係るジョブは設定の変更が容易であるところ、このような表示があれば、ユーザは最新の仕様を容易に理解することができる。したがって、例えば業務の担当者であるユーザが交代するような場合も、引継ぎがスムーズになる。さらに、ジョブの簡易的な仕様書又は設計書として、プロセスフィールドに含まれる各エレメントの内容及び入出力データのCSVファイルの属性名等を印刷等できるようにしてもよい。 In this way, the user can understand the specific contents of the processing such as “horizontal combination” and “totaling”. In the job according to the present embodiment, the setting can be easily changed, but with such a display, the user can easily understand the latest specification. Therefore, for example, even when a user who is in charge of the work is changed, the handover is smooth. Further, the content of each element included in the process field, the attribute name of the CSV file of the input / output data, and the like may be printed as a simple specification or design document of the job.
表形式データ処理装置4の入出力部402は、表形式データの読み出しを行う(図82:S201)。本ステップでは、入出力部402は、新規ジョブの処理対象として1以上の表形式データをデータ記憶部401から読み出す。表形式データ処理装置4の表示装置には、例えば、図85に示すようなウィンドウが表示される。図85の例では、表形式データ「社員交通費清算.csv」及び「営業経費.csv」が読み出され、下段のプロセスフィールドには2つのCSVファイルのエレメントが表示されている。また、CSVファイルの内容が、上段のイメージデータビューアに表示されている。
The input /
また、制御部403は、ユーザの操作を受けて縦結合の設定をデータ記憶部401に記憶させ、縦結合部404は、縦結合の処理を行う(S202)。結合結果は1つの表形式データで表すことができる。ここでは、一時的にメモリに保持される。また、縦結合処理はジョブの設定が完了してからジョブ全体の実行中に行われるようにしてもよい。ここでは、例えば、図86に示すようなウィンドウが表示される。図86の例では、プロセスフィールドに縦結合のエレメントが追加されている。また、イメージデータビューアには、縦結合の結果として生成される表形式データが表示されている。
In addition, the
次に、制御部403は、ジョブの設定が完了したか判断する(S203)。なお、ユーザの操作を介して、設定の保存やジョブの実行、設定操作の終了が指示された場合、ジョブの設定が完了したと判断する。ジョブの設定が完了していないと判断された場合(S203:NO)、制御部403は、ユーザの操作を受けてその他のプロセスをジョブの後尾に追加する(S204)。ここでは、横結合、集計等、任意のプロセスが追加される。また、各プロセスは、前段階のプロセスの出力データを入力データとしてそれぞれの処理を行う。図87に、横結合及びCSVファイル出力のエレメントが追加された例を示す。図87のイメージデータビューアには、出力されるCSVファイルの内容が表示されている。
Next, the
一方、S203においてジョブの設定が完了したと判断された場合、制御部403は、ジョブに含まれるプロセスを再実行するための設定を定義したスクリプト(XMLファイル)を生成し、データ記憶部401に記憶させる(S205)。なお、ジョブの設定が完了した場合にはじめてジョブ全体を実行するようにしてもよいし、ジョブに含まれる任意のプロセスまでの処理を自由に実行できるようにしてもよい。
On the other hand, if it is determined in S203 that the setting of the job has been completed, the
このようにすれば、ユーザは、表形式データに対して所望の処理を行い、設定した形式に変換して出力することができるようになる。また、実行した処理を再現するためのスクリプトを保存できるため、例えば前回の処理後に発生した業務データに対して、前回と同様の処理を適用することができるようになる。表計算ソフトが備えるマクロ命令等よりも複雑な処理を容易に定義することができ、また、専用のシステムを開発するよりも処理の作成及び改修が容易になる。したがって、例えば、ユーザが試行錯誤しつつ統計的な分析を行いたい場合や、データ処理のコストを抑えたい場合に有用であるといえる。 In this way, the user can perform desired processing on the tabular data, convert the tabulated data into the set format, and output the data. Further, since a script for reproducing the executed processing can be stored, the same processing as the previous processing can be applied to, for example, business data generated after the previous processing. Complicated processing can be defined more easily than macro instructions and the like included in spreadsheet software, and processing can be created and modified more easily than developing a dedicated system. Therefore, for example, it is useful when the user wants to perform a statistical analysis while performing trial and error or wants to reduce the cost of data processing.
<バッチ定義処理>
また、1つ以上のジョブの実行予定を定義しておき、より複雑な処理を自動化することもできる。図88は、いわゆるバッチ処理の設定を定義するバッチ定義処理の一例を示す処理フロー図である。例えば、表形式データ処理装置4は、図81に示したような画面を介してユーザからバッチ定義の要求を受ける。<Batch definition processing>
Further, it is also possible to define an execution schedule of one or more jobs and automate more complicated processing. FIG. 88 is a process flowchart showing an example of a batch definition process for defining settings for a so-called batch process. For example, the tabular
まず、表形式データ処理装置4の制御部403は、ユーザの操作に応じて、ジョブ(XMLファイル)の追加を行う(図88:S211)。ここでは、連続して実行する1以上のジョブが実行する順序で登録される。
First, the
次に、制御部403は、ユーザの操作に応じて、バッチ処理を起動させるスケジュールを登録する(S212)。「バッチ処理」の内容についてすでに説明したように、曜日、時刻、期間等の条件や、エラーをメールで通知するための設定等が入力され、データ記憶部401に格納されるものとする。以上で、バッチ定義処理を終了する。
Next, the
バッチ処理は、設定された日時になると、バッチ処理部410によって実行される。バッチ処理を行うために、表形式データ処理装置4及び本実施に係るプログラムは予め起動させておくものとする。以上のようなバッチ処理によれば、個々のジョブよりも複雑な処理を実行することができる。また、例えば夜間等にユーザの操作を受けることなく処理を起動するようスケジュールしておくことができるようになる。
The batch processing is executed by the
<変形例>
本実施形態で説明した処理は、いわゆるクライアント−サーバ型のシステムによって提供されるようにしてもよい。すなわち、表形式データ処理装置4は、ネットワークを介して接続されたユーザ端末から要求を受け、本実施形態で説明した処理を実行して結果をユーザ端末へ返すようにしてもよい。ネットワークは、例えばインターネットやイントラネット等のようなコンピュータネットワークである。なお、表形式データ処理装置4とユーザ端末とを、専用線で接続してもよい。また、1つの表形式データ処理装置に複数のユーザ端末が接続されていてもよいし、複数の表形式データ処理装置4がネットワーク上に存在し、1又は複数のユーザ端末からの要求を分散して処理する構成としてもよい。<Modification>
The processing described in the present embodiment may be provided by a so-called client-server type system. That is, the tabular
また、例えばサーバ上で動作するいわゆるSaaS(Software as a Service)のようなサービスの機能の1つとして提供されるようにしてもよい。本実施形態では、CSVファイル等の表形式データを処理対象としている。したがって、外部のRDBMS(Relational DataBase Management System:リレーショナルデータベース管理システム)が管理するデータベースから、例えばCSV形式でレコードをエクスポートすれば、本実施形態で説明した処理を実行できるようになる。また、本実施形態に係る処理によって出力された表形式データを所定の形式に変換し、外部装置のデータベース等に反映させられるようにしてもよい。 For example, it may be provided as one of the functions of a service such as so-called SaaS (Software as a Service) operating on a server. In this embodiment, tabular data such as a CSV file is processed. Therefore, if records are exported from a database managed by an external RDBMS (Relational Database Management System), for example, in CSV format, the processing described in the present embodiment can be executed. Further, the tabular data output by the processing according to the present embodiment may be converted into a predetermined format and reflected in a database or the like of an external device.
また、本実施形態で示した処理フローは例示であり、処理結果が変わらない限りにおいて処理の順序を変更したり、並列に処理を行うようにしてもよい。画面の例についても、配置、デザイン等を適宜変更できる。 Further, the processing flow described in the present embodiment is an example, and the processing order may be changed or the processing may be performed in parallel as long as the processing result does not change. With respect to the example of the screen, the arrangement, design, and the like can be appropriately changed.
<<縦結合及び横結合の連続処理に係る変形例>>
上述した縦結合及び横結合は、一連の処理として実行することもできる。例えば、縦結合の設定及び横結合の設定を予め記憶部に保持させておく。縦結合の設定は、入力データである複数の表形式データがそれぞれ有する項目間の対応付けを表すデータを含む。横結合の設定は、集約方法を規定するキー項目及び集計項目の指定等を含む。そして、表形式データの和集合の生成(縦結合)と、キー項目が所定の条件を満たすレコードの集約(横結合)とを連続して実行する。また、図7Aや図41を用いて説明した縦結合の設定画面においてさらにキー項目を指定させ、いわゆる外部結合(Left join、Right join、又はFull outer join)、または内部結合(Inner join)を実行できるようにしてもよい。<< Modified example of continuous processing of vertical connection and horizontal connection >>
The above-described vertical connection and horizontal connection can also be executed as a series of processing. For example, the setting of the vertical connection and the setting of the horizontal connection are stored in the storage unit in advance. The setting of the vertical combination includes data representing the correspondence between the items included in the plurality of tabular data as input data. The setting of the horizontal connection includes designation of a key item and an aggregation item that define an aggregation method. Then, the generation of the union of the tabular data (vertical join) and the aggregation of the records whose key items satisfy the predetermined condition (horizontal join) are continuously executed. Further, a key item is further designated on the vertical join setting screen described with reference to FIGS. 7A and 41, and a so-called outer join (Left join, Right join, or Full outer join) or an inner join (Inner join) is executed. You may be able to.
図89に、縦結合及び横結合を一連の処理として実行する場合の設定画面の一例を示す。図89の設定画面は、表の2行目に、「名簿.csv」(以下、「名簿」と呼ぶ)という入力データに含まれる項目名の一覧が表示されている。また、表の3行目は、「会社情報.csv」(以下、「会社情報」と呼ぶ)という入力データに含まれる項目名の一覧が表示されている。なお、表の1行目には、便宜的に項目の通し番号を示している。そして、名簿の項目「勤務先」と会社情報の項目「会社名」とが対応付けられている。このとき、項目4の「編集」ボタンを押下すると、例えば矢印で示すようなメニューが表示されるものとする。そして、「結合キーに設定」又は「結合キーの解除」を選択することにより、当該項目をキー項目として設定したり解除したりすることができる。なお、キーに設定された項目は、図89に示すように例えば背景色の表示態様を変更して識別可能としてもよい。また、メニューの中から「結合タイプ」として「外部結合」又は「内部結合」を選択することにより、例えば当該キー項目の値が完全一致するレコードについて各入力データの値を外部結合または内部結合する旨の設定を行うようにしてもよい。なお、縦結合及び横結合の処理内容は、上述の通りである。また、メニューのその他の項目については説明を省略する。
FIG. 89 shows an example of a setting screen when the vertical combination and the horizontal combination are executed as a series of processing. In the setting screen of FIG. 89, a list of item names included in the input data “list.csv” (hereinafter, referred to as “list”) is displayed in the second row of the table. The third line of the table displays a list of item names included in the input data “company information.csv” (hereinafter, referred to as “company information”). The first row of the table shows the serial numbers of the items for convenience. Then, the item “workplace” of the list and the item “company name” of the company information are associated with each other. At this time, when the "edit" button of
<<データプロファイリングに係る実施形態>>
上記の実施形態に係る表形式データは、CSVファイル等であり、各項目についてデータ型が定義されているわけではない。よって、誤りや漏れ、重複等を有する品質の低い表形式データが入力される可能性があり、そのような場合は集約した結果も望ましいものとはならない。本実施形態では、統計的手法を用いて任意の項目に対応付けて保持されている値を可視化し、不適切なデータの検出及び修正を支援する。<<< Embodiment related to data profiling >>>
The tabular data according to the above embodiment is a CSV file or the like, and a data type is not defined for each item. Therefore, there is a possibility that low-quality tabular data having errors, omissions, duplication, and the like may be input. In such a case, the aggregated result is not desirable. In the present embodiment, a value held in association with an arbitrary item is visualized by using a statistical method, and detection and correction of inappropriate data are supported.
<機能構成>
図90は、本実施形態に係る表形式データ処理装置の機能ブロック図の一例である。図90の表形式データ処理装置5は、データ記憶部501と、データ入力部502と、指示受付部503と、統計処理部504と、チャート出力部505と、入力データ表示部506と、データ修正部507とを含む。データ記憶部501は、本実施形態において処理の対象となる表形式データや、本実施形態において修正された表形式データを保持する。データ入力部502は、ユーザによって入力データとなる表形式データの指定を受け付け、データ記憶部501から指定されたデータを読み出す。指示受付部503は、検証する項目(属性)及び検証方法の指定を受け付ける。また、統計処理部504は、指定された項目に対応付けて保持されている各レコードの値(要素)に対し、指定された検証方法に基づいて統計処理を行う。統計情報出力部505は、統計処理の結果をユーザに対して出力する。統計情報は、指定された検証方法に応じて円グラフ、棒グラフ、ヒストグラム、バブルチャート、ラインチャート、散布図等のチャートによって出力するようにしてもよい。入力データ表示部506は、統計処理の対象となった表形式データの内容を表示する。例えば、出力した統計情報に含まれる要素のグループをユーザが指定することにより、指定されたグループに該当するレコードをハイライト表示(強調表示)して、表形式データの内容が表示される。データ修正部507は、表示した表形式データに対しユーザから修正の指示を受け付け、値を修正する。ここでは、1件ごとに修正を行うようにしてもよいし、複数の要素に対して一括して修正を行うようにしてもよい。本実施形態に係る表形式データ処理装置5は、スタンドアローンで動作するものとして説明するが、表形式データ処理装置とユーザ端末とがネットワークを介して接続されたクライアント−サーバ型のシステムを形成するようにしてもよい。<Functional configuration>
FIG. 90 is an example of a functional block diagram of the tabular data processing device according to the present embodiment. 90 includes a
<装置構成>
表形式データ処理装置5も、図3に示すようなコンピュータである。図3に示すコンピュータ1000は、CPU1001、主記憶装置1002、補助記憶装置1003、通信IF1004、入出力IF1005、ドライブ装置1006、通信バス1007を備えている。CPU1001は、プログラムを実行することにより本実施の形態に係る処理を行う。主記憶装置1002は、CPU1001が読み出したプログラムやデータをキャッシュしたり、CPUの作業領域を展開したりする。主記憶装置は、具体的には、RAMやROM等である。補助記憶装置1003は、CPU1001により実行されるプログラムや、本実施の形態で用いる設定情報などを記憶する。補助記憶装置1003は、具体的には、HDDやSSD、フラッシュメモリ等である。主記憶装置1002や補助記憶装置1003は、表形式データ処理装置5のデータ記憶部501として働く。通信IF1004は、他のコンピュータとの間でデータを送受信する。通信IF1004は、具体的には、有線又は無線のネットワークカード等である。表形式データ処理装置4は、通信IF1004を介してネットワークに接続されていてもよい。入出力IF1005は、入出力装置と接続され、ユーザから操作を受け付けたり、ユーザへ情報を提示したりする。入出力装置は、具体的には、キーボード、マウス、ディスプレイ、タッチパネル等である。ドライブ装置1006は、磁気ディスク、光磁気ディスク、光ディスク等の記憶媒体に記録されたデータを読み出したり、記憶媒体にデータを書き込んだりする。そして、以上のような構成要素が、通信バス1007で接続されている。なお、これらの構成要素はそれぞれ複数設けられていてもよいし、一部の構成要素(例えば、通信IF1004、ドライブ装置1006等)を設けないようにしてもよい。また、入出力装置がコンピュータと一体に構成されていてもよい。また、ドライブ装置1006で読み取り可能な可搬性の記憶媒体や、フラッシュメモリのような可搬性の補助記憶装置1003、通信IF1004などを介して、本実施の形態で実行されるプログラムが提供されるようにしてもよい。そして、CPU1001がプログラムを実行することにより、図3に示したコンピュータを図90に示した表形式データ処理装置5として働かせる。<Apparatus configuration>
The tabular
<データプロファイリング処理>
図91は、データプロファイリング処理の一例を示す処理フロー図である。まず、表形式データ処理装置5のデータ入力部は、ユーザの指示を受けて表形式データを読み出す(図91:S301)。本ステップでは、上述の実施形態で説明した1以上の表形式データの指定を受け付ける。ここで、例えば図7Aや図41に示した設定画面において項目間の対応付けが定義された2以上の表形式データを入力としてもよい。この場合、設定に基づいて縦結合を実施した後の表形式データの和集合に対し、データプロファイリング処理が行われる。<Data profiling process>
FIG. 91 is a process flowchart illustrating an example of the data profiling process. First, the data input unit of the tabular
次に、表形式データ処理装置5の指示受付部503は、ユーザの操作に基づき、検証処理の対象となる項目及び検証方法の指定を受け付ける(S302)。本ステップでは、表形式データ処理装置5に接続された表示装置に「データ品質ツール設定」画面を表示し、ユーザからの指定を受け付ける。図92は、本ステップで表示する画面の一例である「データ品質ツール設定画面」を示す。まず、ユーザは、「抽出項目」のプルダウンメニューから実行する分析のカテゴリを選択する。ここでは、値が所定の表現形式(フォーマット)で記述されているか否かを判断するためのカテゴリを選択する。具体的には、カテゴリとして、「品質分析」、「検索分析」、「パターン分析」又は「品質管理グラフ」のいずれかを選択するものとする。図92の例では、「パターン分析」が選択されている。
Next, the
ここで、カテゴリ「品質分析」の場合は、値が指定された内容であるか否かによってグループ分けし、各グループに含まれる値の件数を集計して、結果を表すチャート(グラフ等の視覚的表示)を出力する。品質分析は、具体的な分析方法として「日付データの抽出」、「一意データの抽出」、「欠損データの抽出」及び「数値データの抽出」を含む。「日付データの抽出」が選択された場合は、さらに引数として項目の指定を受け付ける。そして、指定された項目の値が日付データであるか否か判断し、それぞれの件数を例えば円グラフに表す。日付データであるか否かの判断は、上述したデータクレンジングにおいて日付と判断する、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日)といった形式に該当するか否かによって行う。また、「一意データの抽出」が選択された場合も、さらに引数として項目の指定を受け付ける。そして、指定された項目の値がそれぞれ一意であるか否か判断し、それぞれの件数を例えば円グラフで出力する。また、「欠損データの抽出」が選択された場合も、さらに引数として項目の指定を受け付ける。そして、値が空(「Null」、「欠損」とも呼ぶ)であるか否かを判断し、それぞれの件数を例えば円グラフで出力する。また、「数値データの抽出」が選択された場合も、さらに引数として項目の指定を受け付ける。そして、指定された項目の値がそれぞれ数値であるか否かを判断し、それぞれの件数を例えば円グラフで出力する。なお、通貨記号その他の単位を含む場合に数値と判断するか否か定めておくようにしてもよいし、数値と判断するか否か選択できるようにしてもよい。
Here, in the case of the category “quality analysis”, the values are grouped according to whether or not the content is the specified content, the number of values included in each group is totaled, and a chart (a visual chart such as a graph) representing the result is obtained. Output). The quality analysis includes “extraction of date data”, “extraction of unique data”, “extraction of missing data”, and “extraction of numerical data” as specific analysis methods. When "extract date data" is selected, the specification of an item is further accepted as an argument. Then, it is determined whether or not the value of the designated item is date data, and the number of each item is represented, for example, in a pie chart. The determination as to whether or not the data is date data is made by determining the date in the above-described data cleansing. GGGGyyMMdd (Heisei 250110, H250110), yyMMdd (130110), yyyyMMdd (20130110),
また、カテゴリ「検索分析」の場合は、指定した値を検索して該当するか否かによってグループ分けし、各グループに含まれる値の件数を集計して結果を示すチャートを表示する。検索分析は、具体的な分析方法として「後方一致データの抽出」、「前方一致データの抽出」及び「正規表現での抽出」を含む。「後方一致データの抽出」が選択された場合は、さらに引数として項目の指定及び検索する文字列を受け付ける。そして、指定された項目の値が指定した文字列と後方一致するか否かを判断し、それぞれの件数を例えば円グラフに表す。「前方一致データの抽出」が選択された場合も、さらに引数として項目の指定及び検索する文字列を受け付ける。そして、指定された項目の値が指定した文字列と前方一致するか否かを判断し、それぞれの件数を例えば円グラフに表す。また、「正規表現での抽出」が選択された場合は、さらに引数として項目の指定及び検索対象を表す正規表現を受け付ける。そして、指定された項目の値が、指定した正規表現が表す値と一致するか否かを判断し、それぞれの件数を例えば円グラフに表す。正規表現は、例えば図62に示した正規表現ユーザ辞書で用いた、一般的な正規表現を使用できるものとする。 Also, in the case of the category “search analysis”, the designated values are searched and grouped according to whether they are applicable, and the number of values included in each group is totaled and a chart showing the result is displayed. The search analysis includes “extraction of backward matching data”, “extraction of forward matching data”, and “extraction by regular expression” as specific analysis methods. If “extract backward matching data” is selected, an item specification and a character string to be searched are further accepted as arguments. Then, it is determined whether or not the value of the designated item matches backward with the designated character string, and the number of each item is represented in, for example, a pie chart. Even when “extract forward matching data” is selected, the specification of an item and the character string to be searched are further accepted as arguments. Then, it is determined whether or not the value of the designated item coincides with the designated character string in front, and the number of each is represented in a pie chart, for example. If “extract with regular expression” is selected, the regular expression indicating the item designation and the search target is further accepted as an argument. Then, it is determined whether the value of the designated item matches the value represented by the designated regular expression, and the number of each item is represented, for example, in a pie chart. As the regular expression, for example, a general regular expression used in the regular expression user dictionary shown in FIG. 62 can be used.
また、カテゴリ「パターン分析」の場合は、指定した項目に対応付けられている値をパターンによってグループ分けし、各グループに含まれる値の件数を集計して結果を示すチャートを表示する。パターン分析は、具体的な分析方法として「出現頻度」及び「データパターン化」を含む。「出現頻度」が選択された場合は、さらに引数として項目の指定を受け付ける。そして、指定された項目の値ごとにグループ分けし、それぞれの値の件数を例えば頻度によってソートした棒グラフで出力する。「データパターン化」が選択された場合も、さらに引数として項目の指定を受け付ける。そして、例えば、英字1文字を「W」、空白1つを「S」、数字1文字を「D」、マルチバイト文字1字を「A」、その他の記号等はその値として、データをパターン化し、同一のパターンごとにグループ分けして各グループに含まれる値の件数を例えば件数によってソートした棒グラフで出力する。すなわち、データパターンとは、英字、数字、マルチバイト文字等に値を分類し、出現順及び出現回数を類型化したものである。 In the case of the category “pattern analysis”, values associated with specified items are grouped by pattern, the number of values included in each group is totaled, and a chart showing the result is displayed. The pattern analysis includes “appearance frequency” and “data patterning” as specific analysis methods. When “appearance frequency” is selected, the specification of an item is further accepted as an argument. Then, grouping is performed for each value of the designated item, and the number of cases of each value is output as a bar graph sorted by, for example, frequency. When “data patterning” is selected, the specification of an item is further accepted as an argument. For example, one character is "W", one space is "S", one numeral is "D", one multi-byte character is "A", and other symbols are values of the pattern. Then, the number of values included in each group is output in the form of a bar graph sorted by the number of cases, for example. That is, the data pattern is obtained by classifying values into alphabetic characters, numerals, multibyte characters, and the like, and classifying the order of appearance and the number of appearances.
また、カテゴリ「品質管理グラフ」は、指定した項目に対応付けられている値を所定の範囲ごとにグループ分けし、各グループに含まれる値の件数を集計して結果を示すチャートを表示する。検索分析は、具体的な分析方法として「ヒストグラム(日付)」、「ヒストグラム(単位)」、「ヒストグラム(分割)」、「バブルチャート」、「ラインチャート(時系列)」及び「散布図」を含む。「ヒストグラム(日付)」が選択された場合は、さらに引数として項目の指定を受け付ける。そして、X軸に期間、Y軸に出現頻度を示すヒストグラムを出力する。なお、ビンの数と大きさは自動的に調整する。また、「ヒストグラム(単位)」が選択された場合は、さらに引数として項目及びビンの幅(ビン1つ当たりの範囲)の指定を受け付ける。そして、X軸に指定された項目の値、Y軸に出現頻度を示すヒストグラムを出力する。なお、X軸のビンの数と大きさは、指定されたビンの幅に基づいて調整する。また、「ヒストグラム(分割)」が選択された場合は、さらに引数として項目の指定及びX軸方向のビンの数を受け付ける。そして、X軸に指定された項目の値、Y軸に出現頻度を示すヒストグラムを出力する。また、「バブルチャート」が選択された場合は、さらに引数としてX軸、Y軸、Z軸それぞれの項目を受け付ける。そして、それぞれの項目の値に応じて、X座標及びY座標の位置にZ軸の大きさのバブルチャートを出力する。また、「ラインチャート(時系列)」が選択された場合は、さらに引数としてX軸の項目(日付形式)及びY軸の項目の指定を受け付ける。そして、X軸に示す日時順に示すY軸の値の推移を表すラインチャートを出力する。また、「散布図」が選択された場合は、さらに引数としてX軸の項目及びY軸の項目を受け付ける。そして、それぞれの項目の値に応じて、X座標及びY座標の位置にプロットした散布図を出力する。なお、それぞれの場合において、欠損値は、例えば「NaN(Not a Number:非数)」と出力する。 In addition, the category “quality management graph” divides values associated with the specified items into groups in a predetermined range, totals the number of values included in each group, and displays a chart showing the result. The search analysis uses “histogram (date)”, “histogram (unit)”, “histogram (division)”, “bubble chart”, “line chart (time series)”, and “scatter chart” as specific analysis methods. Including. When "Histogram (date)" is selected, the specification of an item is further accepted as an argument. Then, a histogram indicating the period on the X axis and the appearance frequency on the Y axis is output. The number and size of the bins are automatically adjusted. When “Histogram (unit)” is selected, designation of items and bin widths (range per bin) is further accepted as arguments. Then, a histogram indicating the value of the designated item on the X axis and the appearance frequency on the Y axis is output. The number and size of the bins on the X axis are adjusted based on the designated bin width. When “histogram (division)” is selected, the specification of items and the number of bins in the X-axis direction are further accepted as arguments. Then, a histogram indicating the value of the designated item on the X axis and the appearance frequency on the Y axis is output. When “bubble chart” is selected, items of the X axis, Y axis, and Z axis are further accepted as arguments. Then, a bubble chart having the size of the Z axis is output at the position of the X coordinate and the Y coordinate according to the value of each item. When “line chart (time series)” is selected, the specification of an X-axis item (date format) and a Y-axis item is further accepted as arguments. Then, a line chart representing the transition of the values on the Y-axis shown in order of date and time shown on the X-axis is output. When “scatter chart” is selected, an X-axis item and a Y-axis item are further accepted as arguments. Then, a scatter diagram plotted at the positions of the X coordinate and the Y coordinate is output according to the value of each item. In each case, the missing value is output as, for example, “NaN (Not a Number)”.
S302においてカテゴリを選択すると、プルダウンメニューの下部に具体的な分析方法を表す「プロファイル名」が表示され、ユーザはいずれかのプロファイル名を選択する。なお、図92の例では、選択されたプロファイル名の背景をハッチングで強調している。すなわち、図92の例では、「出現頻度」が選択されている。そして、いずれかのプロファイル名が選択されると、データ品質設定画面の下部に引数の入力欄が表示される。図92の例では、項目名を選択するためのプルダウンメニューが表示されている。ユーザは、入力ファイルに含まれる項目名のいずれかを選択することができる。 When a category is selected in S302, a "profile name" indicating a specific analysis method is displayed at the bottom of the pull-down menu, and the user selects any profile name. In the example of FIG. 92, the background of the selected profile name is highlighted by hatching. That is, in the example of FIG. 92, “appearance frequency” is selected. When one of the profile names is selected, an input field for an argument is displayed at the bottom of the data quality setting screen. In the example of FIG. 92, a pull-down menu for selecting an item name is displayed. The user can select any of the item names included in the input file.
その後、表形式データ処理装置5の統計処理部504は、受け付けた処理の指示に基づいて統計処理を行う(S303)。図92の例において、値が「男」又は「女」である性別を保持する項目が引数として指定された場合、各値(「男」及び「女」)について件数を集計する。そして、統計処理部504は、それぞれの件数を示す棒グラフを生成する。
Thereafter, the
そして、表形式データ処理装置5の統計情報出力部505は、集計した統計情報を出力する(S304)。ここで、統計情報とは、S303で算出した集計値及びS303で生成した棒グラフ(すなわち、チャート)の少なくともいずれかを含むものとする。図93は、統計情報を表示する「データ品質ツール」画面の一例である。図93の左側には、入力ファイルにおいて指定された項目に対応付けられている値を、それぞれ集計した結果を示す横棒グラフが表示されている。具体的には、男女それぞれの頻度(件数)が横棒の長さによって視覚的に表示されている。また、図93の右側上段には、集計結果の頻度を値ごとに示す表が表示されている。件数は左側の棒グラフと対応しており、男女それぞれの件数が数値で表示されている。なお、指定された項目の値について様々な統計量が算出され、画面の右側下段に表示されている。具体的には、統計量として、「合計」、「最大値」、「最小値」、「平均値」、「分散」、「標準偏差」、及び「NaN(非数の件数)」が算出される。図93の例では、「NaN」が19件であり、その他の統計量はすべてNaNとなっている。
Then, the statistical
また、表形式データ処理装置5の入力データ表示部506は、S304で出力した統計情報の一部を指定する旨の入力を受け付け、対応する入力データを表示する(S305)。本ステップでは、図93に示す画面において、右側上段の統計情報においていずれかの値又はいずれかの頻度を示す数値を指定すると、画面の右側中段に、入力ファイルにおいて該当するレコード番号の一覧が表示される。図93の例では、右側上段の表において「女」が指定され、右側中段には性別の項目に「女」が登録されているレコードのレコード番号の一覧が表示されている。なお、統計情報の一部を指定する旨の入力は、画面左側の横棒のいずれかを指定することにより行ってもよい。図93は出現頻度を分析した例であり、S302において指示された検証方法に基づき、S304及びS305では、各集計値及び様々なチャートが出力される。
Also, the input
その後、表形式データ処理装置5のデータ修正部507は、ユーザから入力データの修正指示を受け付け、入力データを修正する(S306)。本ステップでは、例えば図93の右側中段に表示された入力データのレコード番号のいずれかを選択することにより、例えば図38に示したような入力データにおける選択したレコードを表示し、値を修正できるようにしてもよい。また、一括して修正を反映させる旨の指示を受け付けるようにしてもよい。一括して修正を行う場合は、例えば上述した関数処理を用いて値を修正することができる。上述したように、関数処理によれば、所定の種類の文字を抽出したり、値の表現形式を標準化したりすることができる。仮に、図93の例において入力データの性別を示す項目に「男」及び「女」以外の値が登録されていた場合、当該値が図93の左側の棒グラフ及び右側上段の表に現れる。当該値が不適切である場合、ユーザは容易に問題のあるレコードを特定し、修正することができる。なお、修正後の入力データは、上書きして記録するようにしてもよいし、名前を付けて別のファイルとして保存するようにしてもよい。保存したファイルは、上述した縦結合処理、横結合処理、集計処理等に用いることができる。
After that, the
また、入力データの一括修正は、例示した関数処理以外によって行うこともできる。例えば、所定の文字列又は欠損データを、指定された文字列等に置換できるようにしてもよい。また、検索条件にはいわゆる正規表現を利用できるようにしてもよい。例えば、ある項目に対応付けて登録されている要素に対し、「*建設」のように後方一致で「建設」を検索し、索出された要素を「M建設」のような指定された文字列に置換できるようになる。 In addition, the batch correction of the input data can be performed by a function other than the illustrated function processing. For example, a predetermined character string or missing data may be replaced with a specified character string or the like. Further, a so-called regular expression may be used as the search condition. For example, for an element registered in association with a certain item, "construction" is searched for in a backward match, such as "* construction," and the found element is designated by a designated character such as "M construction." Can be replaced with a column.
以上により、データプロファイリング処理を終了する。なお、図91に示したフローチャートは一例であり、入力データの表示や入力データの修正等、一部の処理を実行しなくてもよい。データプロファイリング処理によれば、誤りや漏れ、重複等の不適切なデータを統計的手法によって可視化することにより、検出及び修正を支援することができる。特に、本実施形態に係る表形式データはデリミタによってレコードに含まれる要素が列に区切られたDSV(Delimiter Separated Values)形式のデータである。例えばRDBのようにスキーマ(メタデータ)が定義されているわけではないため、データ登録時のフォーマットチェックが困難である。すなわち、不適切なデータが登録されることもある。したがって、本実施形態に係るデータプロファイリング処理は、DSV形式のような入力データを扱う場合に特に有用であるといえる。 Thus, the data profiling process ends. Note that the flowchart illustrated in FIG. 91 is an example, and some processing such as display of input data and correction of input data may not be performed. According to the data profiling process, detection and correction can be supported by visualizing inappropriate data such as errors, omissions, and duplication by a statistical method. In particular, the tabular data according to the present embodiment is DSV (Delimiter Separated Values) data in which elements included in a record are separated into columns by a delimiter. For example, since a schema (metadata) is not defined unlike RDB, it is difficult to check the format at the time of data registration. That is, inappropriate data may be registered. Therefore, it can be said that the data profiling processing according to the present embodiment is particularly useful when handling input data in the DSV format.
<変形例>
図92及び図93の例では対象の項目及び分析方法を1つずつ指定して処理を行ったが、複数の項目を対象として複数の分析を行うようにしてもよい。この場合、例えば、図91のS302において、図92の代わりに図94のような画面を表示する。図94は、複数の項目を対象として複数の分析を実行可能な「データプロファイリング設定」画面の一例である。図94の例では、縦方向に分析方法を列挙し、横方向に表形式データに含まれる項目名の一覧が表示されている。そして、行と列とが交差する升目に設けられたチェックボックスにチェックを入れることにより、当該項目の値に対する当該分析方法による分析の実行を指定することができる。<Modification>
In the examples of FIGS. 92 and 93, the process is performed by designating the target item and the analysis method one by one. However, a plurality of analyzes may be performed on a plurality of items. In this case, for example, in S302 of FIG. 91, a screen as shown in FIG. 94 is displayed instead of FIG. FIG. 94 is an example of a “data profiling setting” screen that can execute a plurality of analyzes on a plurality of items. In the example of FIG. 94, analysis methods are listed in the vertical direction, and a list of item names included in the tabular data is displayed in the horizontal direction. By checking a check box provided in a cell where a row and a column intersect, it is possible to specify execution of analysis by the analysis method on the value of the item.
図94の例において、「日付の抽出」以外のチェックボックスにチェックを入れて設定し、データプロファイリングを実行すると、図91のS304では、例えば図95のような結果(「データプロファイリング」画面)が表示される。図95では、チェックを入れた項目と分析方法との組み合わせについて、集計値が表示されている。なお、図95の例では、統計量である、合計、最大値、最小値、平均値、分散、標準偏差、NaN(非数の件数)も、各項目について算出される。このような画面において、件数を指定することにより図93の右側中段に示したようなレコード番号のリストを表示するようにしてもよい。さらに、レコード番号のリストを選択することで、例えば図38に示したような入力データを表示し、値を修正できるようにしてもよい。変形例に係るデータプロファイリング処理によっても、誤りや漏れ、重複等の不適切なデータを統計的手法によって可視化することにより、検出及び修正を支援することができる。 In the example of FIG. 94, the user checks the check boxes other than “extract date” to set the data, and executes data profiling. In S304 of FIG. 91, for example, the result (“data profiling” screen) shown in FIG. Is displayed. In FIG. 95, the tally value is displayed for the combination of the checked item and the analysis method. In the example of FIG. 95, the statistics such as the sum, the maximum value, the minimum value, the average value, the variance, the standard deviation, and the NaN (number of non-numbers) are also calculated for each item. On such a screen, by specifying the number of records, a list of record numbers as shown in the middle right part of FIG. 93 may be displayed. Further, by selecting a list of record numbers, for example, input data as shown in FIG. 38 may be displayed, and the values may be modified. The data profiling process according to the modified example can also assist detection and correction by visualizing inappropriate data such as errors, omissions, duplications, and the like by a statistical method.
1 表形式データ処理装置,101 データ記憶部,102 設定処理部,103 データ分割部,104 表示制御部,105 縦結合部,106 対照群生成部,107 横結合部,108 集計部,109 出力データ生成部
2 ユーザ端末
3 ネットワーク
4 表形式データ処理装置,401 データ記憶部,402 入出力部,403 制御部,404 縦結合部,405 横結合部,406 集計部,407 グループ化部,408検索部,409 外部連携部,410 バッチ処理部
5 表形式データ処理装置,501 データ記憶部,502 データ入力部,503 指示受付部,504 統計処理部,505 統計情報出力部,506 入力データ表示部,507 データ修正部1 Tabular data processing device, 101 data storage unit, 102 setting processing unit, 103 data division unit, 104 display control unit, 105 vertical connection unit, 106 control group generation unit, 107 horizontal connection unit, 108 totaling unit, 109 output
Claims (5)
複数の前記表形式データを統合するうえで不適切なデータを可視化するための集計の規則に基づいてグループに分類した、所定の項目に対応する前記要素の件数を、前記グループごとに集計し、集計結果を出力する集計部と、
前記入力データから、前記集計結果における前記グループのいずれかに分類された要素を含むレコードを抽出して出力する出力部と、
出力されたレコードに含まれる要素について変更の要求を受け、当該要素を変更する修正部と、
を有する表形式データ処理装置。 A tabular data processing apparatus that processes tabular data in which a plurality of records including a plurality of elements corresponding to a plurality of items are registered as input data,
Were classified into groups on the basis of incorrect data in order to integrate a plurality of said tabulated data to the aggregation rules for visualizing, the number of the elements corresponding to the predetermined item, and aggregated by the group, A tally unit that outputs tally results;
From the input data, an output unit that extracts and outputs a record including an element classified into any of the groups in the aggregation result,
A correction unit that receives a request for changing an element included in the output record and changes the element;
A tabular data processing device having:
請求項1に記載の表形式データ処理装置。 The classification based on the current meter rule, tabular data processing apparatus according to claim 1 is a classification based on the representation that describes the element.
をさらに有し、
前記集計部は、前記表形式データの和集合を前記入力データとする
請求項1又は2に記載の表形式データ処理装置。 A vertical combination unit configured to generate a union of the plurality of tabular data based on data indicating the correspondence between items in the plurality of tabular data,
The tabular data processing device according to claim 1, wherein the totaling unit sets a union of the tabular data as the input data.
複数の前記表形式データを統合するうえで不適切なデータを可視化するための集計の規則に基づいてグループに分類した、所定の項目に対応する前記要素の件数を、前記グループごとに集計し、集計結果を出力する集計ステップと、
前記入力データから、前記集計結果における前記グループのいずれかに分類された要素を含むレコードを抽出して出力するステップと、
出力されたレコードに含まれる要素について変更の要求を受け、当該要素を変更するステップと、
をコンピュータが実行する表形式データ処理方法。 A tabular data processing method for processing, as input data, tabular data in which a plurality of records including a plurality of elements respectively corresponding to a plurality of items are registered,
Were classified into groups on the basis of incorrect data in order to integrate a plurality of said tabulated data to the aggregation rules for visualizing, the number of the elements corresponding to the predetermined item, and aggregated by the group, An aggregation step for outputting an aggregation result;
From the input data, extracting and outputting a record including an element classified into any of the groups in the aggregation result,
Receiving a request to change an element included in the output record, and changing the element;
Is a computer-implemented tabular data processing method.
複数の前記表形式データを統合するうえで不適切なデータを可視化するための集計の規則に基づいてグループに分類した、所定の項目に対応する前記要素の件数を、前記グループごとに集計し、集計結果を出力する集計ステップと、
前記入力データから、前記集計結果における前記グループのいずれかに分類された要素を含むレコードを抽出して出力する出力ステップと、
出力されたレコードに含まれる要素について変更の要求を受け、当該要素を変更する修正ステップと、
をコンピュータに実行させる表形式データ処理プログラム。 A tabular data processing program that processes, as input data, tabular data in which a plurality of records including a plurality of elements respectively corresponding to a plurality of items are registered,
Were classified into groups on the basis of incorrect data in order to integrate a plurality of said tabulated data to the aggregation rules for visualizing, the number of the elements corresponding to the predetermined item, and aggregated by the group, An aggregation step for outputting an aggregation result;
From the input data, an output step of extracting and outputting a record including an element classified into any of the groups in the aggregation result,
Receiving a request for change of an element included in the output record, and modifying the element;
Tabular data processing program that causes a computer to execute
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013134184A JP5497948B1 (en) | 2013-06-26 | 2013-06-26 | Tabular data processing program, method and apparatus |
JP2013134183A JP5497947B1 (en) | 2013-06-26 | 2013-06-26 | Tabular data processing program, method and apparatus |
JP2013212378A JP6283190B2 (en) | 2013-10-09 | 2013-10-09 | Tabular data processing program, method, and apparatus |
PCT/JP2014/062498 WO2014208205A1 (en) | 2013-06-26 | 2014-05-09 | Program, method, and device for processing tabular data |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2014208205A1 JPWO2014208205A1 (en) | 2017-02-23 |
JP6623754B2 true JP6623754B2 (en) | 2019-12-25 |
Family
ID=52141558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015523912A Active JP6623754B2 (en) | 2013-06-26 | 2014-05-09 | Tabular data processing program, method and apparatus |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6623754B2 (en) |
WO (1) | WO2014208205A1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6668580B2 (en) * | 2015-10-06 | 2020-03-18 | 前田建設工業株式会社 | File editing method, file editing device and file editing program |
CN108369584B (en) | 2015-11-25 | 2022-07-08 | 圆点数据公司 | Information processing system, descriptor creation method, and descriptor creation program |
CN110476159A (en) | 2017-03-30 | 2019-11-19 | 日本电气株式会社 | Information processing system, characteristic value illustration method and characteristic value read-me |
SG11202003814TA (en) | 2017-10-05 | 2020-05-28 | Dotdata Inc | Feature generating device, feature generating method, and feature generating program |
JP2019159837A (en) * | 2018-03-13 | 2019-09-19 | 日本電気株式会社 | Database binding apparatus, database binding method, and database binding program |
WO2020188670A1 (en) * | 2019-03-15 | 2020-09-24 | 株式会社日立製作所 | Data integration evaluation system and data integration evaluation method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5375413B2 (en) * | 2009-07-30 | 2013-12-25 | 富士通株式会社 | Data conversion apparatus, data conversion method, and data conversion program |
US8429117B2 (en) * | 2010-12-28 | 2013-04-23 | Hewlett-Packard Development Company, L.P. | Data loading method for a data warehouse |
-
2014
- 2014-05-09 JP JP2015523912A patent/JP6623754B2/en active Active
- 2014-05-09 WO PCT/JP2014/062498 patent/WO2014208205A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2014208205A1 (en) | 2014-12-31 |
JPWO2014208205A1 (en) | 2017-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6580737B2 (en) | DATA SEARCH DEVICE, DATA SEARCH METHOD, DATA SEARCH PROGRAM, AND RECORDING MEDIUM | |
JP6283190B2 (en) | Tabular data processing program, method, and apparatus | |
JP6623754B2 (en) | Tabular data processing program, method and apparatus | |
JP4580518B2 (en) | Database design system | |
CN107111639B (en) | Building reports | |
KR101505858B1 (en) | A templet-based online composing system for analyzing reports or views of big data by providing past templets of database tables and reference fields | |
CN116097241A (en) | Data preparation using semantic roles | |
JP5424798B2 (en) | METADATA SETTING METHOD, METADATA SETTING SYSTEM, AND PROGRAM | |
US11809459B2 (en) | Using objects in an object model as database entities | |
Alexander et al. | Access 2013 Bible | |
US20120117093A1 (en) | Method and system for fusing data | |
JP2006146802A (en) | Text mining device and method | |
CN111241176A (en) | Data management system | |
US11599533B2 (en) | Analyzing data using data fields from multiple objects in an object model | |
WO2022215276A1 (en) | Data extraction device, data extraction method, data extraction program, data extraction assistance device, data extraction assistance method, and data extraction assistance program | |
US11977722B2 (en) | Interactive patent visualization systems and methods | |
JP5470308B2 (en) | Legal analysis support device, legal analysis support method, and legal analysis support program | |
JP5497948B1 (en) | Tabular data processing program, method and apparatus | |
JP6244521B2 (en) | Database processing program, database processing method, and database processing apparatus | |
US11232120B1 (en) | Schema viewer searching for a data analytics platform | |
JP5916974B1 (en) | Data search device, program, and recording medium | |
JP5497947B1 (en) | Tabular data processing program, method and apparatus | |
JP6810347B2 (en) | Application creation support system | |
CN115934864A (en) | Data asset management method and related device | |
JP5971571B2 (en) | Structural document management system, structural document management method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170405 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170405 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180710 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180906 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190312 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190513 |
|
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: 20191029 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191111 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6623754 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |