ページのトップに戻る
Interstage Data Effector ユーザーズガイド

B.3.2 集計条件ファイル

shunanalyzeコマンドが動作するにあたっての条件を記述します。


実行パラメタの種類と意味

以下に、集計条件ファイルの実行パラメタを示します。


注意

集計条件ファイルの内容は、CharacterCodeパラメタで指定したデータの文字コードで記述してください。


パラメタ

省略

説明

CharacterCode

検索対象となる文字列の文字コードを指定します。
本パラメタを省略した場合、UTF-8が指定されたとみなします。

InFileType

入力ファイルタイプを指定します。
本パラメタを省略した場合、CSVが指定されたとみなします。

OutFileType

出力ファイルタイプを指定します。本パラメタを省略した場合、CSVが指定されたとみなします。

LCondition

仮想項目機能を使う場合に、仮想項目定義を指定します。
本パラメタは複数行にまたがって定義できます。
詳細は、“B.2.2 連結条件ファイル”の“複数行にまたがるパラメタの定義”を参照してください。
本パラメタを省略した場合、仮想項目機能は使用できません
仮想項目定義の詳細については、“A.7 仮想項目機能”を参照してください。

GCondition

不可

グループ式を指定します。
1~1024バイトの範囲で指定してください。
グループ式の詳細については、“A.2 グループ式”を参照してください。

RCondition

不可

集計式を指定します。
1~65535バイトの範囲で指定してください。
集計式の詳細については、“A.3 集計式”を参照してください。

GString

CSV形式で出力する場合に、グループ化に使用されていないグループ項目の値として、グループキーの代わりに出力される文字列を指定します。
出力ファイルタイプがCSV形式の場合に有効です。

RootTagName

集計結果を取りまとめるルートタグ名を指定します。
出力ファイルタイプがXML形式の場合に有効です。
本パラメタを省略した場合、出力結果を取りまとめるルートタグは出力されません。
詳細については、“3.4.3.2 集計結果をXML形式で出力する場合”を参照してください。

MemorySize

集計機能で利用するメモリサイズをメガバイト(MB)で指定します。
集計機能で利用できるメモリ資源の最大サイズを100メガバイト以上で指定してください。
本パラメタを省略した場合は、analyze用動作環境ファイルのWorkFolderパラメタに依存して動作が異なります。

集計機能で利用するメモリサイズは、本パラメタで指定したサイズに加えデータ加工用にメモリを使用します。

SubstituteZeroForEmpty

集計式に指定する数値演算式における空の扱いを指定します。
本パラメタを省略した場合、NOが指定されたとみなします。


CharacterCode

設定

意味

UTF-8

UTF-8の場合

SHIFT-JIS

Shift-JISの場合

EUC

EUC-JPの場合


InFileType/OutFileType

設定

意味

CSV

CSVの場合

XML

XMLの場合



GString

空白文字を含む文字列を指定する場合は、二重引用符(")で囲んで指定します。

二重引用符(")で括った文字列が空の場合(""と記述した場合)は、半角ハイフン("-")が指定されたとみなします。

注意

GStringパラメタに二重引用符(")、および改行文字は指定できません。

RootTagName

ルートタグ名に指定可能な文字は、“2.7 項目名・タグ名・略称・仮想項目名・ラベルで指定可能な文字”の表2.1 項目名・タグ名・略称・仮想項目名・ラベルで指定可能な文字で記載されている文字で構成されている必要があります。


MemorySize

集計機能で利用するメモリサイズをメガバイト(MB)で指定します。

  • 集計処理実行時、指定サイズを超えるメモリが必要となる場合、analyze用動作環境ファイルのWorkFolderパラメタで指定した作業ディレクトリに、一時ファイルが作成されます。

  • 本パラメタは集計機能で利用できるメモリ資源の最大サイズを指定してください。ただし、32ビット用Data Effectorの場合、プロセス空間に対して使用可能なメモリサイズよりも小さい値を指定してください。プロセス空間に対して使用可能なメモリサイズよりも大きい値を指定すると、エラーになります。以下に32ビット用Data Effectorの場合、MemorySizeパラメタに指定可能な最大値を示します。


    OS

    MemorySizeパラメタに指定可能な最大値

    Windows

    3072MB

    Linux

    3072MB

    Solaris

    -


注意

  • Data Effectorで効率的にデータ加工処理を行うためには、本パラメタの指定を推奨します。本パラメタを省略して、analyze用動作環境ファイルのWorkFolderパラメタが指定されている場合、以下の状況が発生します。

    • メモリ不足が発生する場合がある。

    • 集計対象のデータ量が少ない場合においても一時ファイルを必ず使用するため、集計時の処理時間が長くなる。

    • analyze用動作環境ファイルのParallelNumパラメタは使用できない。

    • 集計処理で名前付きパイプは使用できない。

    • 標準入力は使用できない。

  • プロセス空間に対して使用可能なメモリサイズは実行環境にも依存するため、上記の値より小さい値でも、プロセス空間に対して使用可能なメモリサイズの制限でエラーになる場合があります。

  • 本パラメタに指定したサイズが、実行する環境の物理メモリサイズよりも大きい場合、実行する環境の物理メモリサイズが設定されます。このとき本コマンドは正常に終了し、以下の警告が出力されます。


出力例

shnde: WARNING: 02007: 
The memory size has exceeded the installing memory.
Memory size = 2500[MB]; Installing memory size = 2007[MB]. (analyze)

表B.3 使用するメモリの最大サイズの設定例

  

  

  

  

  

実行環境のメモリサイズ

MemorySizeパラメタに指定したサイズより実行環境に搭載されたメモリサイズが小さい場合

(例:物理メモリサイズ256MB)

MemorySizeパラメタに指定したサイズより実行環境に搭載されたメモリサイズが大きい場合

(例:物理メモリサイズ7GB)

利用メモリサイズ

MemorySizeパラメタに500を指定する

物理メモリサイズで動作し、MemorySizeパラメタに指定したサイズが搭載メモリサイズを超えた旨のメッセージ(shnde: WARNING: 02007)が出力されます。

(例:256MBで動作します)

指定メモリサイズ(500MB)で動作します。

MemorySizeパラメタに5000を指定する
(32ビット用
Data Effectorの場合)

プロセス空間のメモリサイズ制限でエラーになります。

プロセス空間のメモリサイズ制限でエラーになります。

MemorySizeパラメタに5000を指定する
(64ビット用
Data Effectorの場合)

物理メモリサイズで動作し、MemorySizeパラメタに指定したサイズが搭載メモリサイズを超えた旨のメッセージ(shnde: WARNING: 02007)が出力されます。

(例:256MBで動作します)

指定メモリサイズ(5000MB)で動作します。


SubstituteZeroForEmpty

集計式に指定する数値演算式における空の扱いを指定します。
指定できる値は以下のいずれかです。


設定

意味

YES

数値演算式における算術演算において、空を0とみなして演算します。
また、数値演算式の結果が空となった場合、0を出力します。

NO

数値演算式における算術演算において、演算対象に空が含まれる場合、演算結果はすべて空を返します。
また、数値演算式の結果が空となった場合、何も出力しません。

参照

数値演算式における空の扱いについては、“A.3.2 数値演算式における空の扱い”を参照してください。


集計条件ファイル指定例

以下に、集計条件ファイルの実行パラメタを示します。

WindowsWindowsの場合

# 文字コード
CharacterCode  SHIFT-JIS
# 入力ファイルタイプ
InFileType     CSV
# 出力ファイルタイプ
OutFileType    CSV
# 仮想項目定義
LCondition	   {
                    $地方コード :=
                        IF      $所在地 == "東京" OR
                                $所在地 == "神奈川" OR
                                $所在地 == "埼玉" THEN 1
                        ELSEIF  $所在地 == "大阪" OR
                                $所在地 == "京都" THEN 2
                        ELSE EMPTY
                        ENDIF
              }
# グループ式
GCondition	     $地方コード }
# 集計式
RCondition	     sum( $売上げ ) 売上げの合計
# 利用可能メモリサイズ
MemorySize  1500
# 数値演算式における空の扱い
SubstituteZeroForEmpty        NO

SolarisLinuxLinux/Solarisの場合

# 文字コード
CharacterCode  EUC
# 入力ファイルタイプ
InFileType     CSV
# 出力ファイルタイプ
OutFileType    CSV
# 仮想項目定義
LCondition	   {
                    $地方コード :=
                        IF      $所在地 == "東京" OR
                                $所在地 == "神奈川" OR
                                $所在地 == "埼玉" THEN 1
                        ELSEIF  $所在地 == "大阪" OR
                                $所在地 == "京都" THEN 2
                        ELSE EMPTY
                        ENDIF
              }
# グループ式
GCondition	     $地方コード }
# 集計式
RCondition	     sum( $売上げ ) 売上げの合計
# 利用可能メモリサイズ
MemorySize  1500
# 数値演算式における空の扱い
SubstituteZeroForEmpty        NO