shunsortコマンドが動作するにあたっての条件を記述します。
以下に、ソート条件ファイルの実行パラメタを示します。
注意
ソート条件ファイルの内容は、CharacterCodeパラメタで指定したデータの文字コードで記述してください。
パラメタ | 省略 | 説明 |
---|---|---|
可 | ソート対象となる文字列の文字コードを指定します。 | |
可 | 入力ファイルタイプを指定します。 | |
LCondition | 可 | 仮想項目機能を使う場合に、仮想項目定義を指定します。 |
OCondition | 不可 | ソート式を指定します。 |
可 | リターン式を指定します。 本パラメタを省略した場合、入力レコードがそのまま出力されます。 | |
可 | ソート機能で利用するメモリサイズをメガバイト(MB)で指定します。 ソート機能で利用するメモリサイズは本パラメタで指定したサイズに加えデータ加工用にメモリを使用します。 | |
可 | ソート式に指定する数値演算式における空の扱いを指定します。 |
リターン式を指定します。
本パラメタを省略した場合、入力レコードがそのまま出力されます。
本パラメタ省略時、複数のCSVファイルを入力とし、各CSVファイルの見出し行が異なる場合、エラーとなります。
本パラメタを指定した場合、出力形式はCSVとなります。
入力ファイル形式とリターン式の関係は下記となります。
InFileType | RCondition | 出力形式 | 出力内容 |
---|---|---|---|
XML | 省略 | XML | 入力レコード形式 |
項目を指定 | CSV | 指定項目 | |
CSV | 省略 | CSV | 入力レコード形式 |
項目を指定 | CSV | 指定項目 |
ソート機能で利用するメモリサイズをメガバイト(MB)で指定します。
ソート処理実行時、指定サイズを超えるメモリが必要となる場合、sort用動作環境ファイルのWorkFolderパラメタで指定した作業ディレクトリに、一時ファイルが作成されます。
本パラメタはソート機能で利用できるメモリ資源の最大サイズを指定してください。ただし、32ビット用Data Effectorの場合、プロセス空間に対して使用可能なメモリサイズよりも小さい値を指定してください。プロセス空間に対して使用可能なメモリサイズよりも大きい値を指定すると、エラーになります。以下に32ビット用Data Effectorの場合、MemorySizeパラメタに指定可能な最大値を示します。
OS | MemorySizeパラメタに指定可能な最大値 |
---|---|
Windows | 3072MB |
Linux | 3072MB |
Solaris | - |
注意
プロセス空間に対して使用可能なメモリサイズは実行環境にも依存するため、上記の値より小さい値でも、プロセス空間に対して使用可能なメモリサイズの制限でエラーになる場合があります。
本パラメタを省略した場合、1000メガバイトが設定されます。
本パラメタに指定したサイズが、実行する環境の物理メモリサイズよりも大きい場合、実行する環境の物理メモリサイズが設定されます。このとき本コマンドは正常に終了し、以下の警告が出力されます。
出力例
shnde: WARNING: 02007: The memory size has exceeded the installing memory. Memory size = 2500[MB]; Installing memory size = 2007[MB]. (sort) |
利用メモリサイズと実行環境のメモリサイズによって、ソート機能で使用するメモリの最大サイズは利用メモリサイズと実行環境のメモリサイズによって、ソート機能で使用するメモリの最大サイズは以下の例のようになります。
| 実行環境のメモリサイズ | ||
---|---|---|---|
MemorySizeパラメタに指定したサイズより実行環境に搭載されたメモリサイズが小さい場合 (例:物理メモリサイズ256MB) | MemorySizeパラメタに指定したサイズより実行環境に搭載されたメモリサイズが大きい場合 (例:物理メモリサイズ7GB) | ||
利用メモリサイズ | MemorySizeパラメタを省略 | 物理メモリサイズで動作し、MemorySizeパラメタに指定したサイズが搭載メモリサイズを超えた旨のメッセージ(shnde: WARNING: 02007)が出力されます。 (例:256MBで動作します) | 省略値(1000MB)で動作します。 |
MemorySizeパラメタに500を指定する | 物理メモリサイズで動作し、MemorySizeパラメタに指定したサイズが搭載メモリサイズを超えた旨のメッセージ(shnde: WARNING: 02007)が出力されます。 (例:256MBで動作します) | 指定メモリサイズ(500MB)で動作します。 | |
MemorySizeパラメタに5000を指定する | プロセス空間のメモリサイズ制限でエラーになります。 | プロセス空間のメモリサイズ制限でエラーになります。 | |
MemorySizeパラメタに5000を指定する | 物理メモリサイズで動作し、MemorySizeパラメタに指定したサイズが搭載メモリサイズを超えた旨のメッセージ(shnde: WARNING: 02007)が出力されます。 (例:256MBで動作します) | 指定メモリサイズ(5000MB)で動作します。 |
ソート式に指定する数値演算式における空の扱いを指定します。
指定できる値は以下のいずれかです。
設定 | 意味 |
---|---|
YES | 数値演算式における算術演算において、空を0とみなして演算します。 |
NO | 数値演算式における算術演算において、演算対象に空が含まれる場合、演算結果はすべて空を返します。 |
参照
数値演算式における空の扱いについては、“A.3.2 数値演算式における空の扱い”を参照してください。
以下に、ソート条件ファイルの実行パラメタを示します。
Windowsの場合
# 文字コード CharacterCode SHIFT-JIS # 入力ファイルタイプ InFileType CSV # 仮想項目定義 LCondition { $地方コード := IF $所在地 == "東京" OR $所在地 == "神奈川" OR $所在地 == "埼玉" THEN 1 ELSEIF $所在地 == "大阪" OR $所在地 == "京都" THEN 2 ELSE EMPTY ENDIF } # ソート式 OCondition $地方コード # リターン式 RCondition $地方コード, sum( $売上げ ) 売上げの合計 # 利用可能メモリサイズ MemorySize 1500 # 数値演算式における空の扱い SubstituteZeroForEmpty NO |
Linux/Solarisの場合
# 文字コード CharacterCode EUC # 入力ファイルタイプ InFileType CSV # 仮想項目定義 LCondition { $地方コード := IF $所在地 == "東京" OR $所在地 == "神奈川" OR $所在地 == "埼玉" THEN 1 ELSEIF $所在地 == "大阪" OR $所在地 == "京都" THEN 2 ELSE EMPTY ENDIF } # ソート式 OCondition $地方コード # リターン式 RCondition $地方コード, sum( $売上げ ) 売上げの合計 # 利用可能メモリサイズ MemorySize 1500 # 数値演算式における空の扱い SubstituteZeroForEmpty NO |