◇質問
マスターファイルを利用して、複数の特定の文字が含まれるデータを抽出するにはどうすればよいですか?
◇回答
〈MATCH関数〉を利用することにより抽出することができます。
【データ加工処理イメージ】
適用欄に”ホテル”,”タクシー”の文字が含まれるデータを抽出
【マスターファイルの作成】
・マスターファイルのイメージ(excelで作成する)
結合キー
・任意の値を設定します。
(※結合キーに設定する値の条件はありませんが、加工過程で結合キーを入力する工程があるため、平易な値を設定することを推奨します。)
検索文字列
・検索したい文字列を記載します。
・複数の文字を検索したい場合はカンマ(,)で区切ります。
・検索する文字を追加したい場合、追加したい文字をマスターファイルにカンマ(,)区切りで入力することにより、スクリプトを変更せずに処理が実行できます。
例)”会食”を検索する文字に追加する場合
【操作手順】
■操作画面1
■操作画面2
■操作画面3
(例では、[適用]フィールドに[検索文字列]フィールドの文字が含まれるデータを抽出)
【スクリプト構文】
//マスターファイルのインポート
IMPORT EXCEL TO “FAQ005_マスターファイル” FROM “FAQ_マスターファイル.xlsx” TABLE “FAQ005” STARTLINE 1 FIELD [結合キー] C FIELD [検索文字列] C
//結合キーの追加
OPEN “FAQ004”
DEFINE FIELD [結合キー] C POSITION 3 COMPUTED
"1“
//マスターファイルの結合
OPEN “FAQ005_マスターファイル” SECONDARY
JOIN PKEY [結合キー] FIELDS ALLFIELDS SKEY [結合キー] WITH [検索文字列] PRIMARY TO “FAQ005_結合” OPEN
//「摘要」フィールドに[検索文字列]フィールドの文字列が含まれるデータを抽出
OPEN “FAQ005_結合”
EXTRACT FIELDS [社員番号] [金額] [適用] IF MATCH([適用],[検索文字列],0) TO “FAQ005_抽出” OPEN