3. ステージをプロセス リストの中に、またはプロセス リストから外に移動するには、Shiftキー を押しながらステージをドラッグします。
注: データをプロセス リストで処理する必要のあるステージが複数ある場合は、サブフ ローを作成し、それをデータフローに組み込み、プロセス リスト機能をサブフロー全体 に適用します。
4. プロセス リストの入力および出力フィールドは"ListField"という名前です。[フィールドの名 前変更]機能を使用して、Inputステージのフィールドを入力チャネルの"ListField"にマップ し、"ListField"をOutputステージのフィールドにマップする必要があります。詳細について は、フィールド名の変更(44ページ)を参照してください。
5. リストのデータを入力と同じ順序にする場合は、プロセス リスト ボックスを右クリックして、
[オプション]を選択します。[ソート順序を維持する]ボックスを選択します。
6. 次のステージへのデータ入力がリストの形式になっていることを確認するには、データフロー を検証またはインスペクションします。データのインスペクションの詳細については、データ フローのインスペクション(142ページ)を参照してください。
データ タイプ
Spectrum™Technology Platformでは、さまざまな数値、文字列、および複合データ タイプがサ
ポートされています。実行する処理の種類に応じて、これらのデータ タイプを使用できます。住 所検証データフローの場合は、文字列データ タイプだけで済ますこともできます。算術計算を含 むデータフローの場合は、数値またはBooleanデータ タイプを使用できます。空間処理を実行す るデータフローの場合は、複合データ タイプを使用できます。これらを組み合わせたデータフ ローの場合は、さまざまなデータ タイプを使用できます。
Spectrum™Technology Platformでは、以下のデータ タイプがサポートされています。
小数点以下38桁の精度をサポートする数値データ タイプ。高い精度が必要な算術 計算で使用されるデータ(特に金融データ)には、このデータ タイプを使用してく bigdecimal
ださい。bigdecimalデータ タイプは、doubleデータ タイプより正確な計算をサ ポートします。
trueとfalseの2つの値を持つ論理タイプ。
boolean
バイトの配列(リスト)。
bytearray
注: bytearrayはRESTサービスの入力としてはサポートされていません。
月、日、年を含むデータ タイプ。例: 2012-01-30、January 30, 2012。デフォルト の日付の形式はManagement Consoleで指定できます。
date
月、日、年、時、分、秒を含むデータ タイプ。例: 2012/01/30 6:15 PM。
datetime
正と負の倍精度数を含む数値データ タイプ。値の範囲は、2-1074~(2-2-52)×21023。 指数表記すると、値の範囲は、-1.79769313486232E+308~
1.79769313486232E+308となります。
double
正と負の単精度数を含む数値データ タイプ。値の範囲は、2-149~(2-223)×2127。 指数表記すると、値の範囲は、-3.402823E+38~3.402823E+38となります。
float
正と負の整数を含む数値データ タイプ。値の範囲は、-231(-2,147,483,648)~231-1 (2,147,483,647)。
integer
厳密に言えば、リストはデータ タイプではありません。しかし、フィールドが階 層データを含む場合、"リスト"フィールドとして扱われます。Spectrum™
list
Technology Platformでは、リストは複数の値で構成されるデータのコレクション
です。例えば、Namesフィールドには名前の値のリストを含めることができます。
これは、XML構造では次のように表すことができます。
<Names>
<Name>John Smith</Name>
<Name>Ann Fowler</Name>
</Names>
XMLのリスト データ タイプが複数の値で構成される単純データ タイプであるのに 対し、Spectrum™Technology Platformのリスト データ タイプはXMLの複合デー タ タイプに似ているという点で、Spectrum™Technology Platformのリスト デー タ タイプはXMLスキーマのリスト データ タイプと異なることに注意してくださ い。
正と負の整数を含む数値データ タイプ。値の範囲は、-263
(-9,223,372,036,854,775,808)~263-1 (9,223,372,036,854,775,807)。
long
時刻を含むデータ タイプ。例: 21:15:59 or 9:15:59 PM。
time
フィールドのデータ タイプの指定
次の場合にフィールドのデータ タイプを指定できます。
• ソース ステージ:データフローの開始時にデータ タイプを設定し、後のデータフローでデータ タイプを変換する必要がないようにできます。Read from DBの場合はデータ タイプは自動的に 選択されて変更できないことに注意してください。
• シンク ステージ:データ タイプを指定すると、データフローによって返されるデータ フォーマッ トを制御できます。Write to DBの場合はデータ タイプは自動的に選択されて変更できないこと に注意してください。
• Transformerステージ: カスタム スクリプトを使用する場合、このステージでデータ タイプを
指定できます。
• MathステージとGroup Statisticsステージ:これらのステージでは算術計算が実行されるの で、特定の数値データ タイプの使用を選択すると、除算演算の精度など、計算の結果に影響す る場合があります。ステージへの入力フィールドのデータ タイプとは異なるデータ タイプを フィールドに対して指定した場合、「自動データ タイプ変換(32ページ)」で説明するよう に、下流のチャネルでフィールドが指定のタイプに自動的に変換されます。
注: 各ステージは異なるデータ タイプをサポートします。各ステージでサポートされる データ タイプの詳細については、ステージのドキュメントを参照してください。
自動データ タイプ変換
ステージに提示されたデータのタイプが適切でないとき、Spectrum™Technology Platformでは、
場合によってデータを自動的に適切なタイプに変換できます。例えば、Validate Addressは文字 列データだけを入力として受け付けます。PostalCode入力フィールドがintegerタイプの場合、
Spectrum™Technology Platformは自動的にフィールドを文字列に変換し、PostalCodeフィール ドを正しく処理できます。同様に、Mathステージでは、データは数値データ タイプである必要 があります。入力データが文字列タイプの場合、Spectrum™Technology PlatformはMathステー
ジの[フィールド]タブで指定されているデータ タイプにデータを変換できます。
データ タイプの自動変換は、データフローのチャネルで行われます。チャネルでデータ タイプが 正しく変換される場合、チャネルの中央に青い点が表示されます。
チャネルをダブルクリックすると、行われるデータ タイプ変換を確認できます。次の例の場合、
文字列データが整数データに変換されています。
このダイアログ ボックスでは自動データ タイプ変換のデータ タイプを変更できないことに注意 してください。出力データ タイプは、下流ステージでの設定によって決まります。
フィールドの値が有効でない場合や、フィールドが変換できない場合は、チャネルに赤い円が表 示されます。
タイプ変換オプションを使用することで、タイプ変換に失敗した場合のデータフローの処理を指 定できます。
データフローのデータ タイプ変換オプションの設定
データ タイプ変換は、データフローがフィールドを、ステージで必要なデータ タイプに自動的に 変換する際に行われます。データ タイプ変換は、一部のステージ内でも行われます。例えば、
Read from DBでは、ソース データが数値データ タイプであっても、フィールドで文字列データ
タイプを使用することができます。データは、データフローに読み込まれる際に文字列データ タ イプに変換されます。
データ タイプ変換を制御するために使用できる設定が2つあります。1つは、数値、日付、およ
ます。もう1つは、システムがあるデータ タイプのフィールドを別のデータ タイプに変換できな い場合にどうするかを制御する設定です。
システムに対するデフォルトのデータ タイプ変換の設定は、Management Consoleで指定されて います。Enterprise Designerでは、デフォルト フォーマットを個別のデータフローについてオー バーライドできます。
この手順は、データフローでデフォルトのデータ タイプ変換オプションをオーバーライドする方 法を示しています。
注:サブフローは、属しているデータフローからタイプ変換設定を継承します。サブフロー のタイプ変換設定を指定することはできません。
1. Enterprise Designerでデータフローを開きます。
2. [編集]>[タイプ変換オプション]を選択します。
3. [次の値でシステム デフォルト オプションをオーバーライド]ボックスをチェックします。
4. [エラー ハンドリング]フィールドで、フィールドの値をステージで必要とされるデータ タイ
プに自動変換できない場合の対処方法を指定します。
フィールドを変換できない場合、データフローは失敗します。
データフローの処理を失敗 として扱う
フィールドを変換できない場合、レコードは失敗しますが、デー タフローの実行は続行されます。
レコードのエラー
フィールドを変換できない場合、フィールドの値はここで指定す る値に置き換えられます。一部のレコードに不正なデータが含ま フィールドをデフォルト値
で初期化する
れることがわかっていて、不正なデータをデフォルト値に置き換 える場合、このオプションが役に立ちます。各データ タイプの値 を指定します。
5. 文字列に変換する日付および時間データで使用する形式を指定します。日付または時間を文字 列に変換する場合、文字列にはここで指定する形式が使用されます。
a) [ロケール]フィールドで、文字列に変換する日付で使用する形式を持つ国を選択します。[日
付]、[時間]、および[日付/時刻]フィールドのデフォルト値は、ここでの選択によって決ま ります。また、月のスペルを表記するときの言語も、ここでの選択によって決まります。例 えば、英語を指定した場合、1年の最初の月は"January"ですが、フランス語を指定した場 合は"Janvier"になります。
b) [日付]フィールドで、日付データを文字列に変換するときに使用する形式を指定します。選 択したロケールで最も一般的に使用される形式の一覧が表示されます。
例えば、形式として[M/D/YY]を選択し、日付フィールドに2012-3-2が含まれている場合、
日付データは文字列3/2/12。