Interstage Data Effector ユーザーズガイド
目次 索引 前ページ次ページ

第5章 コマンドを利用する> 5.6 機能を組み合わせた例

5.6.1 抽出、連結および集計のコマンド組合せ例

抽出、連結および集計を組み合わせて、以下の一連処理を実行します。

  1. XML形式の従業員データより、勤務地が大阪の従業員情報を抽出します。
  2. 入力マスタファイルと連結して事業所情報を付け加えます。
  3. 勤務地ごとに集計します。

◆shunselect用動作環境ファイル(select.cfg)

# 文字コード

CharacterCode             SHIFT-JIS

# 入力ファイルタイプ

InFileType                      XML

# スキップキャラクタ

SkipChar              "\s,\n,\t,\S"

# 区切り文字

SeparateChar          "\s,\n,\t"

# 半角英字の大文字・小文字の区別

ANKmix                0

# 全角英字の大文字・小文字の区別

KNJmix                0

# ログファイル

LogFile               "D:\Shunsaku\log\Select.log"

# 文字コード

CharacterCode                   EUC

# 入力ファイルタイプ

InFileType                      XML

# スキップキャラクタ

SkipChar              "\s,\n,\t,\S"

# 区切り文字

SeparateChar          "\s,\n,\t"

# 半角英字の大文字・小文字の区別

ANKmix                0

# 全角英字の大文字・小文字の区別

KNJmix                0

# ログファイル

LogFile                /home/shun/log/Select.log

◆入力定義ファイル(selin.cfg)

DataFile    "D:\Shunsaku\data\ Employee.xml"

DataFile     /home/shun/data/Employee.xml

◆検索定義ファイル(selquery.cfg)

1 /EMPLOYEE/AREA = '大阪'

◆shunreplace用動作環境ファイル(replace.cfg)

# 入力ジャーナルファイル

JnlFile          Journal ""

# 入力マスタファイル

MstFile          {Master "D:\Shunsaku\data\Company.xml"}

# ログファイル

LogFile           "D:\Shunsaku\log\Replace.log"

# 入力ジャーナルファイル

JnlFile          Journal ""

# 入力マスタファイル

MstFile          {Master "/home/shun/data/Company.xml"}

# ログファイル

LogFile           /home/shun/log/Replace.log

◆連結条件ファイル(joincond.cfg)

# 文字コード

CharacterCode          SHIFT-JIS

# 入力ファイルタイプ

InFileType             XML

# 出力ファイルタイプ

OutFileType          CSV

# 入力項目定義

ListDef      {document(Journal){$JENO       /EMPLOYEE/ENO/text(),

                                $JNAME       /EMPLOYEE/NAME/text(),

                                $JDEPARTMENT /EMPLOYEE/DEPARTMENT/text(),

                                $JPOSITION   /EMPLOYEE/POSITION/text(),

                                $JAREA       /EMPLOYEE/AREA/text(),

                                $JBLDG       /EMPLOYEE/BLDG/text()

                               },

              document(Master){ $MLOCALE  /INFO/LOCALE/text(),

                                $MBLDG    /INFO/BLDG/text(),

                                $MNEWBLDG /INFO/NEWBLDG/text(),

                                $MPHONE   /INFO/PHONE/text()

                               }

               }

# 出力項目定義

OutputDef     { $JENO, $JNAME, $JDEPARTMENT, $JPOSITION, $JAREA, $MNEWBLDG, $MPHONE }

# 連結条件ファイル

Jcondition            { $JAREA == $MLOCALE }

# 文字コード

CharacterCode          EUC

# 入力ファイルタイプ

InFileType             XML

# 出力ファイルタイプ

OutFileType          CSV

# 入力項目定義

ListDef      {document(Journal){$JENO       /EMPLOYEE/ENO/text(),

                                $JNAME       /EMPLOYEE/NAME/text(),

                                $JDEPARTMENT /EMPLOYEE/DEPARTMENT/text(),

                                $JPOSITION   /EMPLOYEE/POSITION/text(),

                                $JAREA       /EMPLOYEE/AREA/text(),

                                $JBLDG       /EMPLOYEE/BLDG/text()

                               },

              document(Master){ $MLOCALE  /INFO/LOCALE/text(),

                                $MBLDG    /INFO/BLDG/text(),

                                $MNEWBLDG /INFO/NEWBLDG/text(),

                                $MPHONE   /INFO/PHONE/text()

                               }

               }

# 出力項目定義

OutputDef     { $JENO, $JNAME, $JDEPARTMENT, $JPOSITION, $JAREA, $MNEWBLDG, $MPHONE }

# 連結条件ファイル

Jcondition            { $JAREA == $MLOCALE }

◆shunanalyze用動作環境ファイル(analyze.cfg)

# 出力ファイル

OutFile              "D:\Shunsaku\kekka01.csv"

# 出力ファイル

OutFile              /home/shun/kekka01.csv

◆集計条件ファイル(anacond.cfg)

# 文字コード

CharacterCode   SHIFT-JIS

# 入力ファイルタイプ

InFileType      CSV

# 出力ファイルタイプ

OutFileType     CSV

# グループ式

GCondition      } $JDEPARTMENT }, $JENO }

# 集計式

RCondition      $JNAME, $JPOSITION, $JAREA, $MNEWBLDG, $MPHONE, count() COUNT

# 文字コード

CharacterCode   EUC

# 入力ファイルタイプ

InFileType      CSV

# 出力ファイルタイプ

OutFileType     CSV

# グループ式

GCondition      } $JDEPARTMENT }, $JENO }

# 集計式

RCondition      $JNAME, $JPOSITION, $JAREA, $MNEWBLDG, $MPHONE, count() COUNT

◆実行コマンド

shunselect -s D:\Shunsaku\select.cfg  -i D:\Shunsaku\selin.cfg  -q D:\Shunsaku\selquery.cfg | \

shunreplace -s D:\Shunsaku\replace.cfg -j D:\Shunsaku\joincond.cfg | \

shunanalyze -s D:\Shunsaku\analyze.cfg -a D:\Shunsaku\anacond.cfg

shunselect -s /home/shun/select.cfg  -i /home/shun/selin.cfg  -q /home/shun/selquery.cfg | \

shunreplace -s /home/shun/replace.cfg -j /home/shun/joincond.cfg | \

shunanalyze -s /home/shun/analyze.cfg -a /home/shun/anacond.cfg

◆実行結果イメージ

"JDEPARTMENT","JENO","JNAME","JPOSITION","JAREA","MNEWBLDG","MPHONE","COUNT"

"営業","009","渡辺","課長","大阪","亀ビル","7200",1

"営業","085","加藤","課員","大阪","亀ビル","7200",1

"営業","-","渡辺","課長","大阪","亀ビル","7200",2

"総務","031","鈴木","課員","大阪","亀ビル","7200",1

"総務","055","山本","課員","大阪","亀ビル","7200",1

"総務","070","田中","課員","大阪","亀ビル","7200",1

"総務","120","伊藤","課長","大阪","亀ビル","7200",1

"総務","-","鈴木","課員","大阪","亀ビル","7200",4

"-","-","渡辺","課長","大阪","亀ビル","7200",6

目次 索引 前ページ次ページ

Copyright 2007 FUJITSU LIMITED