値のソート(並べ替え)

xoBlos が取り扱う書式。

xoBlos では、抽出~生成時点で関わる "値" は基本「文字列」として扱います。たとえ抽出元の内容が通貨であろうが指数であろうが、文字列として扱います。勿論キーワード『日時指定』等は、「この値は先ず日付/時間として見れるものであろうか‥‥」と xoBlos は確認してくれます。

「数値の世界」と「文字の世界」の差

f:id:xoblos:20180628163954p:plain

xoBlos が基本「文字列」として扱っているのを、生成キーワード『並べ替え』を例に、明かしてみましょう。上図は、基本入力ファイルです。数値データが一つだけあり‥‥これを、「昇順に並べ替えて!」というような要件が挙げられた場合の対応例を、以下に示します。

f:id:xoblos:20180628164000p:plain

‥‥「並べ替えて!」という要件を単純に受け、キーワード『並べ替え』に設定しましたが、昇順になりませんでしたね。この結果は、各値を "文字列" として扱い、並べ替えていることによるものです。

文字列であるからとは言え、何故桁数順――期待するように並ばないのでしょうか。‥‥数値でないものを思い浮かべてみてください。

「あ」「あい」「あいす」「い」「いす」「ね」「ねこ」「ねこやなぎ」
→「あ」「い」「ね」「あい」「いす」「ねこ」「あいす」「ねこやなぎ」

‥‥このようにソートされても、困りますよね。

f:id:xoblos:20180628164007p:plain

先程との差は、キーワード『並べ替え』の設定値を「1, n」としたことです。「n」は数値比較を表しています。文字列として扱われる仕様から、一時的に "数値" として扱うのを、xoBlos に伝えていることになります。

★キーワードは『並べ替え』です。『並替え』ではないのでご注意ください。

今回は生成制御シートでのソート方法でしたが、業務ファイル(.xob)内でのソート方法は前回記事をご参照ください。