xobQuery(ゾブクエリ)を活用しよう!

xobQuery(ゾブクエリ)は、xoBlosに標準機能として組み込まれている便利な仕組みであり、以下のようなことができます。

  • Excelブック、XMLCSVの入出力・変換を、制御シートの仕組みを使わないで実現。
  • 複数CSVファイルのXMLファイルへの変換など、設定が難しくなりがちな処理を1手順で実現。
  • クエリ(SQL)を記述することによる、データのDB処理を実現。

今回の記事では、xobQueryの紹介がてら、ビジネスシーンではよくある、データのマッチングへの応用をとりあげます。

重点顧客のみの販売データを出力する処理の青写真

f:id:xoblos:20170625235538p:plain

Excelシートで販売データ(八丁堀水産_販売データ.xlsx)を入力

f:id:xoblos:20170625235556p:plain

Excelシートで重点顧客リスト(重点顧客リスト.xlsx)を入力

f:id:xoblos:20170626001151p:plain

DesignerでxobQuery手順を設定(2つのExcelブックの入力手順)

f:id:xoblos:20170626002019p:plain

実行する手順     ::\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に格納

f:id:xoblos:20170626002036p:plain

実行する手順     ::\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」テーブル

f:id:xoblos:20170626004813p:plain

「major」テーブル

f:id:xoblos:20170626004823p:plain

クエリ(SQL)手順を設定

f:id:xoblos:20170626010642p:plain

実行する手順     ::\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)

オートフィルタをかけてみると、重点顧客リストにある顧客のみが抽出されていることがわかります。

f:id:xoblos:20170626014737p:plain