xobQuery(ゾブクエリ)は、xoBlosに標準機能として組み込まれている便利な仕組みであり、以下のようなことができます。
- Excelブック、XML、CSVの入出力・変換を、制御シートの仕組みを使わないで実現。
- 複数CSVファイルのXMLファイルへの変換など、設定が難しくなりがちな処理を1手順で実現。
- クエリ(SQL)を記述することによる、データのDB処理を実現。
今回の記事では、xobQueryの紹介がてら、ビジネスシーンではよくある、データのマッチングへの応用をとりあげます。
重点顧客のみの販売データを出力する処理の青写真
Excelシートで販売データ(八丁堀水産_販売データ.xlsx)を入力
Excelシートで重点顧客リスト(重点顧客リスト.xlsx)を入力
DesignerでxobQuery手順を設定(2つのExcelブックの入力手順)
実行する手順 ::\helper\xobquery.exe
コマンドライン引数 -i INPUT\八丁堀水産_販売データ.xlsx::データ/data -h -d DB\sales.db
-i INPUT\八丁堀水産_販売データ.xlsx::データ/data
INPUTフォルダの八丁堀水産_販売データ.xlsxの「データ」シートを入力し、DBの「data」テーブルに投入
-h
Excelシートの1行目(ヘッダー項目)を、テーブルのカラム名にする
-d DB\sales.db
DBフォルダのsales.dbに格納
実行する手順 ::\helper\xobquery.exe
コマンドライン引数 -i INPUT\重点顧客リスト.xlsx::リスト/major -h -d DB\sales.db
-i INPUT\重点顧客リスト.xlsx::リスト/major
INPUTフォルダの重点顧客リスト.xlsxの「リスト」シートを入力し、DBの「major」テーブルに投入
-h
Excelシートの1行目(ヘッダー項目)を、テーブルのカラム名にする
-d DB\sales.db
DBフォルダのsales.dbに格納
入力実行後にDB(sales.db)への格納状態を確認
xobQueryで使用しているDB形式はSQLiteなので、SQLite形式DBの内容を表示するフリーウェアで確認できます。下図の例では、SQLiteSpyを使って表示しています。
「data」テーブル
「major」テーブル
クエリ(SQL)手順を設定
実行する手順 ::\helper\xobquery.exe
コマンドライン引数 -d DB\sales.db -Q SQL\select_major.sql -o OUTPUT\重点顧客販売データ.xlsx::データ -H
-d DB\sales.db
DBフォルダのsales.dbを使用
-Q SQL\select_major.sql
SQLフォルダのselect_major.sqlファイルを、クエリとして実行
-o OUTPUT\重点顧客販売データ.xlsx::データ
OUTPUTフォルダの重点顧客販売データ.xlsxの「データ」シートへ出力する
-H
Excelシートの1行目(ヘッダー項目)へ、テーブルのカラム名を出力する
SQL\select_major.sql の内容
/***
dataテーブルから、major.顧客名 にあるデータを抽出
***/
SELECT * FROM data INNER JOIN major
ON data.顧客名 = major.顧客名;
出力Excelブック(重点顧客販売データ.xlsx)
オートフィルタをかけてみると、重点顧客リストにある顧客のみが抽出されていることがわかります。