Designer:xobQuery のヘルプページ

ヘルプページ

xobQuery のヘルプページはこちらになります。インターネットへ接続出来ない方は、製品をインストールした際に、下図の(いずれの方法でも)階層へアクセスするとヘルプページファイルが確認出来ます。

f:id:xoblos:20190423152035p:plain

f:id:xoblos:20190423152040p:plain

業務で使用する際には、下図のように手順種『外部アプリ実行』から『b.実行するファイル(必須)』項に「::\helper\xobQuery.exe」と設定します。これを使用した業務ファイルを corabo で実行する際には、セキュリティ例外設定が必要ですので、お忘れなく!

f:id:xoblos:20190423152047p:plain

Designer:優先的に扱われる共通データとは

設定内容によって変わる

キー値単位での集約データ間のマッチングで、複数のデータが処理対象と成った場合に生成優先されるもの(下図黄塗)を纏めました。

集約(下図右上)以外は、真っ先に対象と成ったデータが優先と覚えておきましょう。

f:id:xoblos:20190422184713p:plain

Designer:重複データを一つにして出力する

集約させる方法は?

「重複データを消したい」‥‥こちらのお問合せを頻繁に頂きます。

しかし xoBlos では、ファイルの削除はあってもデータの削除は機能として存在しません。一方を処理対象外とするか、或いは集約するしかありません。‥‥前者は現実的でありませんね。

f:id:xoblos:20190415144440p:plain

キー項目の値が共通であれば、それを分類や見出しのような集約区分に設定すれば、1つに纏めてくれます。xoBlos で集計処理から学習された場合、何気この考えが抜けている方が多く見受けられます。集計は分類や見出しだけでなく、生成キーワード『加減算』を以てして、実現させているのです。‥‥つまり単純集約の場合は、加算/減算の考えのみ除けば良いというのが、明らかになります。

f:id:xoblos:20190415144445p:plain

共通の値を判別する本となる項目の『区分』を、分類にしてみました。無論、『加減算』は設定していません。期待する生成結果になりましたね。

これにより、繰り返し基準ファイルの作成法には計 3つの手段があるということです。取り扱うデータ件数に応じて、パフォーマンスの良い方法を組み込むようにしましょう。

Excel:「SYLK」ファイルのエラー

冒頭項目「ID」の落とし穴

f:id:xoblos:20190408112455p:plain

‥‥筆者は人にサンプル業務を提示する時や、急ぎのテストデータを作る時、上図のような簡単なものを用意します。一先ず、これだけあれば大凡のパターン(単票/クロス表/シート分割/ブック分割/集計/並べ替え/エリア生成/対象データの条件付け等)は、直ぐに例示することが出来ます。変換入力や追加入力のような複数入力ファイルを要するものは、上図をコピーしてキー値以外を変えて仕舞えば早いですね。

さて、下方の CSV ですがある日、どはまりするエラーを得て仕舞いました。

f:id:xoblos:20190408112501p:plain

そう、xoBlos 側ではないのです。偶々 CSV を Office で開こうとしたら、上図の上方‥‥次いで下方のエラーが Excel 側で出て仕舞ったのです。前者は後者に比べ専門的ではありませんが、ダブルクォーテーションが無い CSV も世に存在する中、思わず「えっ?」と口にしました。しかし原因を調べてみると、次いで出た後者のエラーとはセットの存在でした。

Excel の仕様

CSV 上で "ID" 始まりの情報があると、Office は SYLK(Symbolic Link File) というファイルで解釈して仕舞います。エラーメッセージで示されているとおりですね。

ではこの CSV を xoBlos で、Excel として抽出(手順種『Excelから抽出』で抽出高速エンジンを未使用に)すると同じエラーが xoBlos でも出て仕舞うのでは?という心配があります。‥‥ご安心ください、xoBlos では正常に抽出することが出来ます。

Designer:整形記号「#U」のある行/列の書式設定


生成先のセル書式は無関係!?

f:id:xoblos:20190311115603p:plain

前回記事で、「#U」は直前のキー値を保持することをお話しました。ではこのキー値を生成している部分の書式変更は、どのように行うのでしょうか。試しに、普段通りの方法で "事業所の文字色は赤" という要件をこなしてみましょう。

f:id:xoblos:20190311115610p:plain

事業所はセル「B3」に生成しますので、セル「B3」に赤色を事前設定します‥‥が、生成結果は冒頭から変化がありませんでした。

整形記号「#U」が施された行/列――そこに生成するキー項目の書式は、何と「#U」を記述した行/列上の書式を前提とします。この為、続いてはセル「B7」の文字色を赤にして‥‥序でにセル「C7」の背景色も紫で塗り潰してみましょう。

f:id:xoblos:20190311115617p:plain

無事、反映されましたね。

しかし「#U」を記述した行/列上であったのに、何故セル「C7」の書式は反映され、セル「B3」の書式は反映されなかったのでしょうか。‥‥今回の帳票、項目「事業所」が分類項目である為です。分類は、"行" の考えに成ります。一方見出しは、"列" の考えに成ります。単純に「#U」と記述しただけでも、分類項目の生成上にあるのか見出し項目の生成上にあるのかで、役割は明確に分かれます。これはいずれの整形記号に於いても、共通の事項です。

Designer+Windows:batファイルの実行

batファイルを、外部アプリとして実行するときの設定例です。

f:id:xoblos:20190303163141p:plain

[a.関連付けられたアプリケーションで実行しますか?] を「はい」にし、[b.実行するファイル(必須)] に実行するbatファイルのファイルパス名、引数のコマンドラインを指定して実行できる環境もありますが、実行できない環境の場合は上図のような設定を行います。

[a.関連付けられたアプリケーションで実行しますか?]

いいえ

[b.実行するファイル(必須)]

%ComSpec%

[c.コマンドライン引数]

batファイルをコマンドプロンプトで実行するときのコマンドラインと引数を、/c オプション付きで指定します。 例: /c bat\filelist.bat 100 200 ”3番目の引数”

2.動作の設定 [a.作業フォルダ]
.
※通常、xobファイルのあるカレントフォルダ「.」を指定します。

解説

「%ComSpec%」は、「c:\windows\system32\cmd.exe」などに展開される環境変数です。[値の編集] ダイアログで [環境変数] タブから選び、ダブルクリックしてエディターに設定することもできます。

cmd.exeは、コマンドプロンプトを実行するWindowsのプログラムです。

batファイル名の前に /c オプションを入れるようにしてください。設定の結果、下記のようなコマンドラインが組み立てられます。

c:\windows\system32\cmd.exe /c bat\filelist.bat 100 200 ”3番目の引数”

Designer:生成キーワード『日時指定』

基本文字列なのを忘れずに!

私達が普段 Excel に日付の値を入力する時は、そのセルの書式に応じて、入力時点の値から自動変換されるパターンがありますね。下図のような例があります。

f:id:xoblos:20190219112913p:plain

日付の手入力は、xoBlos の生成処理で XML から渡される値がセルにあて込まれるのと同じ扱いに成ります。しかし忘れてはなりません。xoBlos で扱われる(XML にある)値は、共通で文字列扱いです。その為、他システムや私達の一見で「見た目日付」である値も、xoBlos は文字列としか意識がありません。

これにより、Excel で真意に日付として扱われる「2019/02/19」を XML に持っていたとしても、文字列が前提であることで、生成時はシリアル値である「43515」が扱われます。これを避ける為に、生成キーワード『日時指定』は活躍します。対象項目の当該キーワードの設定値を「Date」にし、「これは日付(年月日部分)として扱う」ということを、xoBlos に伝えます。‥‥雛形シート上の見出し/分類の走査情報が日付値であって、どうにも上手く生成されない(アンマッチ扱いになる)場合は、本件を気にしてみましょう。

『日時指定』は xoBlos が日付と判断できる値を前提にして、初めて利用できます。無論――例えば「20190219」はただの数値ですので、これに対し日時指定を行っても何も前提付けは行えません。