Dataset SSV Format

DatasetオブジェクトデータをSSV(Simple Separated Values)形式で処理するためのレイアウトを説明します。

本文書での主な用語は、下記のように略表記します。

運用環境によって(RS)、(US)はnexacro studioで他のコードに変更できます。

Dataset SSV layout

Dataset SSVは、下記の形式で構成します。

項目

必須

Stream Header

O

Variables

X

Datasets

X

Stream Header

SSV{:CodePage}(RS)

Stream Headerは「SSV」で始まり、必要な場合はコロン(:)の次にCodePage値を追加できます。次の項目(VariablesもしくはDatasets)との間に(RS)で区切ります。

項目

必須

説明

SSV

O

「SSV」で固定された値です。

CodePage

X

「:」文字で始まり、エンコード情報です。

SSV(RS)
SSV:en_US(RS)
SSV:utf-8(RS)

Variables

省略するか、1つ以上のVariableを持つことができます。n個のVariableは(RS)で区切ります。また、Datasetsとの間に(RS)で区切ります。

Variable

Variable ID{:Type(Length)}{=Value}(RS)
Variable ID{:Type}{=Value}(RS)

項目

必須

説明

Variable ID

O

固有IDで重複した値が入ると、最後に入った値のみ処理します。

Type

X

":"文字で始まり、Length情報を含むことができます。

省略した場合、「STRING」として処理します。

Length

X

"("文字と")"文字の間の値で処理します。

省略した場合、Typeによる臨界値として処理します。

ただし、Typeが「STRING」である場合は255として処理します。

Value

X

"="文字で始まり、(RS)が出るまでValueとして処理します。

name1=value(RS)
name1=value1(RS)name2=value2(RS)
name1:STRING=value1(RS)name2=value2(RS)
name3=value3(RS)name4:STRING(10)=value4(RS)

Datasets

省略するか、1つ以上のDatasetを持つことができます。

Dataset

Datasetは下記のような形式を持ちます。

項目

必須

Dataset Header

O

Const Column Infos

X

Column Infos

O

Records

X

Null Record

O

Const Column Infosがある場合、Column Infoより先に列挙する必要があります。

順序が変わったり、Column Infoの後にConst Column Infos情報を羅列したりする場合、正常な動作を保証しません。

Dataset形式(詳細)

Datasetの各項目を説明します。

Dataset Header

Dataset:Dataset ID(RS)

Dataset Headerは「Dataset」で始まり、コロン(:)の次にDataset IDを作成します。次の項目との間に(RS)で区切ります。

Const Column Infos

_Const_(US)Const Column ID{:Type(Length)}{=Value}(RS)
_Const_(US)Const Column ID{:Type}{=Value}(RS)

「_Const_ 」で始まり、1つ以上のConst Column Infoを持つことができます。n個のConst Column Infoは(US)で区切ります。また、次の項目との間に(RS)で区切ります。

項目

必須

説明

_Const_

O

「_Const_ 」で固定された値です。

Const Column ID

O

DatasetでConst Column IDとして使用するID値です。

Type

X

":"文字で始まり、Length情報を含むことができます。

省略した場合、「STRING」として処理します。

Length

X

"("文字と")"文字の間の値で処理します。

省略した場合、Typeによる臨界値として処理します。

ただし、Typeが「STRING」である場合は255として処理します。

Value

X

"="文字で始まり、(US)もしくは(RS)が出るまでValueとして処理します。

Column Infos

_RowType_(US)Column ID{:Type(Length)}{:Sum Type}{:Sum Text}(RS)
_RowType_(US)Column ID{:Type}{:Sum Type}{:Sum Text}(RS)

「_RowType_ 」で始まり、1つ以上のColumn Infoを持つことができます。n個のColumn Infoは(US)で区切ります。また、次の項目との間に(RS)で区切ります。

項目

必須

説明

_RowType_

O

「_RowType_ 」で固定された値です。

Column ID

O

DatasetでConst Column IDとして使用するID値です。

Type

X

":"文字で始まり、Length情報を含むことができます。

省略した場合、「STRING」として処理します。

Length

X

"("文字と")"文字の間の値で処理します。

省略した場合、Typeによる臨界値として処理します。

ただし、Typeが「STRING」である場合は255として処理します。

Sum Type

X

":"文字でColumnInfoオブジェクトのpropプロパティを設定します。

Sum Text

X

":"文字でColumnInfoオブジェクトのsumtextプロパティを設定します。

Records

RowType(US)Column Value(RS)

最初のフィールド値はRowTypeで、その後のフィールド値はColumn Infosで設定したColumn順に作成します。各フィールド値は(US)で区切ります。

項目

必須

説明

RowType

O

レコード形式を作成します。

N:Normal Record

I:Inserted Record

U:Updated Record

D:Deleted Record

O:Original Record(Update Recordの原本レコードです。Update Recordがある場合に使用可能です。)

Column Value

O

DatasetでColumn Valueとして使用する値です。

Column Valueをundefinedとして処理する場合は「ETX (End of Text) / 0x03(03)」を使用します。

Null Record

(RS)でDatasetの末尾を区切ります。

参考

タイプ

Variable、Const Column Infos、Column InfosでType項目に使用可能な値は下記の通りです。

タイプ

説明

STRING

文字列

最大値はシステムで一度に割り当てられるサイズである2GBに制限されます。

Columnのサイズに関係なく最大値まで使用できます。

INT

整数

(-231 ~ 231-1)

FLOAT, DECIMAL

実数

(±2.2X10-308 ~ ±1.7X10308)

BIGDECIMAL

実数(文字列で保存)

(±10-1056 ~ ±10+1056

DATE

日付

YYYYMMDD (-8192/01/01 ~ 8191/12/31)

DATETIME

YYYYMMDDHHmmssuuu(msec表示可能)

TIME

6桁のHHmmssuuu(msec表示可能)

BLOB

バイナリデータ

例題

Datasetが一つ存在している場合

SSV:utf-8▼
Dataset:dataset0▼
_RowType_•Col1:String(20)•Col2:Int:SUM•Col3:Decimal:AVG▼
N•Test•0•1•1▼
I•Abc•1•2•2▼
U•Def•2•3•3▼
O•Chk•2•3•3▼
D•Ghi•3•4•4▼
▼

Const Columnが存在するDatasetが一つ存在している場合

SSV:utf-8▼
Dataset:dataset0▼
_Const_•ConstCol1:STRING(20)=Name•ConstCol2:INT=1•ConstCol3:DECIMAL=0.8▼
_RowType_•Col1:STRING(20)•Col2:INT:SUM•Col3:DECIMAL:AVG▼
N•Test•0•1•1▼
I•Abc•1•2•2▼
U•Def•2•3•3▼
O•Chk•2•3•3▼
D•Ghi•3•4•4▼
▼

Datasetが複数存在している場合

SSV:utf-8▼
Dataset:dataset0▼
_Const_•ConstCol1:STRING(20)=Name•ConstCol2:INT=1•ConstCol3:DECIMAL=0.8▼
_RowType_•Col1:STRING(20)•Col2:INT:SUM•Col3:DECIMAL:AVG▼
N•Test•0•1•1▼
I•Abc•1•2•2▼
U•Def•2•3•3▼
O•Chk•2•3•3▼
D•Ghi•3•4•4▼
▼
Dataset:dataset1▼
_RowType_•Col1:INT(4):Summ,Col2:STRING(30):Text▼
N•0•test▼
I•1•test1▼
U•2•test3▼
O•2•test3-1▼
D•3•test4▼
▼

Variableのみが存在している場合

SSV:utf-8▼
Var4=10▼Var5=20▼
▼

VariableとDatasetが存在している場合

SSV:utf-8▼
Var4=10▼Var5=20▼
Dataset:dataset0▼
_Const_•ConstCol1:STRING(20)=Name•ConstCol2:INT=1•ConstCol3:DECIMAL=0.8▼
_RowType_•Col1:STRING(20)•Col2:INT:SUM•Col3:DECIMAL:AVG▼
N•0•test▼
I•1•test1▼
U•2•test3▼
O•2•test3-1▼
D•3•test4▼
▼