可変長書き込みウィザード 操作ガイド

可変長書き込みウィザードとは

DataSpider Servista可変長書き込みウィザードとは、入力データから可変長データを生成するために必要なスキーマ定義を設定する機能を持ったウィザードです。

可変長形式のテキストファイルについて

ここでは、DataSpider Servistaが扱う可変長形式のテキストファイル(以下、可変長ファイルと呼ぶ)について説明します。

可変長ファイルで最も基本的な構造はレコード(record)です。レコードはテキストファイルの1行を表しており、行頭から行末(改行文字)までを1レコードと呼びます。各レコードは複数のフィールド(field)で構成されており、各レコードは複数の可変長のレコードに分けられています。(図1)

各フィールドにはそれぞれ型(文字列・数値・日付・タグ)を指定することができます。


可変長書き込みウィザードでは、1レコードの構造を定義することができます。

可変長書き込みウィザードの起動方法

可変長書き込みウィザードは、デザイナにある可変長ファイル書き込みオペレーションから起動することができます。

固定長書き込みフォーマット定義の追加


  1. 可変長ファイル書き込みオペレーションのプロパティから[フォーマット]を選択して[追加]をクリックします。




  2. 「可変長ファイル書き込みフォーマット定義」ダイアログが開きます。
    任意で名前を入力します。

  3. [可変長書き込みウィザードの起動]をクリックします。

可変長書き込みフォーマット定義の編集


  1. 可変長ファイル書き込みオペレーションのプロパティから[フォーマット]を選択して[一覧の編集]をクリックします。

  2. 「リソース一覧の編集」ダイアログが開きます。




  3. [リソース一覧]から編集したいフォーマット定義を選択します。

  4. [可変長書き込みウィザードの起動]をクリックします。


  5. [リソース一覧]からフォーマット定義の追加・削除を行うことができます。

可変長書き込みウィザードの概念




列一覧とは

列一覧とは、入力元XMLデータ(テーブルモデル型)のrowに含まれるcolumnのデータのことです。
ここでの設定では、まず入力元XMLデータのrowに含まれるcolumnと同じ数だけフィールドを追加する必要があります。
さらに、追加した各フィールドに対して構造情報(名前、型)を定義します。

構造定義とは

出力するデータの構造を定義します。構造定義ではグループ、レコードを定義し、そこに列一覧で定義したフィールドをドラッグ&ドロップで追加します。

テーブルモデル型については「データモデル」を参照してください。

可変長書き込みウィザードの設定方法

列一覧では、入力元XMLデータのカラムをフィールドとして構造情報を定義し、可変長データの1レコードを定義します。

列一覧の設定手順(フィールドの追加)


  1. 「列」アイコンを右クリックし、[追加]-[フィールド]を選択します。



  2. プロパティが開きますので、プロパティを設定します。

  3. フィールドのプロパティ

    項目名 必須/省略可 説明 補足
    フィールド名 必須 任意のフィールド名を入力します。  
    フィールド型 必須 フィールドの型を指定します。指定できる型は以下の型です。
    • [文字列]:(デフォルト)
    • [数値]
    • [日付]
    • [タグ]
     
    タグ 省略可 タグ(レコード識別コード)を入力します。
    • [フィールド型][タグ]を選択した場合、有効になります。
    日付フォーマット 省略可 日付のフォーマットを選択または入力します。
    年号 意味 表示
    y 数値 1996
    M テキストまたは数値 July&07
    d 数値 10
    h 時(1〜12) 数値 12
    H 時(0〜23) 数値 0
    m 数値 30
    s 数値 30
    S ミリ秒 数値 978
    • [フィールド型][日付]を選択した場合、有効になります。
    • デフォルトは「$yy$MM$dd」です。

  4. 列にフィールドのアイコンが登録されます。

プロパティの編集方法


  1. プロパティの編集
    フィールドの要素を選択すると下部にプロパティが表示されます。
    この画面からプロパティの編集が可能です。



    また、フィールドの要素を右クリックして[プロパティ]を選択するとダイアログが起動し、編集が可能になります。



  2. 削除
    フィールドの要素を選択して下部にある[削除]ボタンを押下することで、選択したフィールドが削除されます。

  3. なお、フィールドは一度に一つしか削除できません。



    また、フィールドの要素を右クリックして[削除]を選択すると削除されます。



  4. 移動
    フィールドの要素を選択してドラッグ&ドロップすることで、任意の位置に移動することができます。

可変長書き込みウィザードの設定方法(構造定義)

構造定義では、出力するデータの構造を定義します。

構造定義の設定手順(グループの追加)

  1. 「構造定義アイコン」を右クリックし、[追加]-[グループ]を選択します。

  2. プロパティが開きますので、プロパティを設定します。


  3. グループのプロパティ

    項目名 必須/省略可 説明 補足
    グループ名 必須 任意のグループ名を入力します。  
    出現回数 省略可 書き込み処理では使用していません。
     
    省略可 省略可 書き込み処理では使用していません。
     
    無制限 省略可 書き込み処理では使用していません。
     

  4. 構造定義にアイコンが登録されます。



    グループは青色のアイコンで表現されます。

構造定義の設定手順(レコードの追加)

  1. 「構造定義アイコン」を右クリックし、[追加]-[レコード]を選択します。

  2. プロパティが開きますので、プロパティを設定します。

    レコードのプロパティ

    項目名 必須/省略可 説明 補足
    レコード名 必須 任意のレコード名を入力します。  
    出現回数 省略可 書き込み処理では使用していません。
     
    省略可 省略可 レコードに対応する入力データを、行ごとに必ず出力するかどうかを選択します。
    • [チェックあり]:
      • レコードに対応する入力データが1つ前の行と同じ場合、出力が省略されることがあります。
      • 出力が省略されるのは、以下の条件にすべて合致した場合になります。
        • 後続のレコードで、[省略可]が「チェックなし」に設定されているレコードが存在しない場合
        • 後続のレコードで、[省略可]が「チェックあり」に設定されているレコードが存在し、そのレコードに対応する入力データが1つ前の行と同じ場合
        • 後続のレコードで、1つ目のフィールドがタグのレコードが存在し、そのレコードに対応する入力データが1つ前の行と同じ場合
        • 入力データの最終行ではない場合

    • [チェックなし]:(デフォルト)
      • 行ごとに必ずレコードを出力します。
     
    無制限 省略可 書き込み処理では使用していません。
     

  3. 構造定義にアイコンが登録されます。


    レコードは緑色のアイコンで表現されます。

構造定義の設定手順(フィールドの追加)

  1. 列一覧で定義したフィールドを選択し、構造定義に定義されているレコードにドラッグ&ドロップします。


  2. フィールドにリンクが張られレコードにフィールドが追加されました。

構造定義の設定手順(固定フィールドの追加)

構造定義に固定フィールドを追加することで、定数フィールドのような定義ができます。
  1. 構造定義の「レコード」を右クリックし、[追加]-[フィールド]を選択します。


  2. プロパティが開きますので、プロパティを設定します。

    [フィールド名]に入力した値がそのまま出力されます。

  3. 構造定義にアイコンが登録されます。

構造定義ファイルのエクスポート/インポート機能について

ウィザードで定義した構造定義、列一覧をCSV形式のファイルに保存し、そのファイルから構造定義、列一覧を復元することができます。 一度作られた構造定義ファイルは、読み取り処理、書き込み処理の両方で使用することができます。

構造定義ファイルの仕様

グループ

種別 指定できる文字 必須/省略可 備考
1 プレフィックス GROUP または G 必須 大文字、小文字は区別しません。
2 グループ名 任意の文字列 必須  
3 出現回数 0 以上 2147483647 以下の数字 省略可 省略した場合は「無制限」が設定されます。
4 必須 true または false 省略可 省略した場合は「false」が設定されます。

記述例:グループ名はヘッダーグループ、出現回数は無制限で省略可。

GROUP,ヘッダーグループ,,

レコード

種別 指定できる文字 必須/省略可 備考
1 プレフィックス RECORD または R 必須 大文字、小文字は区別しません。
2 レコード名 任意の文字列 必須  
3 出現回数 0 以上 2147483647 以下の数字 省略可 省略した場合は「無制限」が設定されます。
4 必須 true または false 省略可 省略した場合「false」が設定されます。

記述例:レコード名はヘッダーレコード、出現回数は無制限で省略可。

RECORD,ヘッダーレコード,,

フィールド

種別 指定できる文字 必須/省略可 備考
1 プレフィックス FIELD または F 必須 大文字、小文字は区別しません。
2 フィールド名 任意の文字列 必須  
3 各型の指定できる文字は以下の通りです。

指定できる文字
文字列 string または S
数値 numeric または N
タグ tag または T
日付 date または D

必須 大文字、小文字は区別しません。
4 型設定 タグまたは日付フォーマット 省略可 型が「タグ」または「日付」の場合は必須です。
5 出力 true または false 省略可
  • 列一覧フィールドを構造定義に出力するか否かを指定します。出力する場合は「true」です。
  • 省略した場合は「false」が設定されます。

記述例:フィールド名はヘッダー、型は文字列型。

FIELD,ヘッダー,S,,

構造定義ファイルのエクスポート



  1. [構造定義ファイル]メニューから[エクスポート]を選択します。



  2. ダイアログが起動したら、エクスポート先のファイルを選択または入力します。



  3. [完了]ボタンを押下して、エクスポートに成功すると次のダイアログが表示されます。



  4. エクスポートされた内容は以下の通りです。

  5. GROUP,グループ,,false
    RECORD,レコード,,false
    FIELD,タグ,tag,HDR,true
    FIELD,文字列,string,,true
    FIELD,数値,numeric,,true
    FIELD,日付,date,$yyyy/$MM/$dd,true

構造定義ファイルのインポート



  1. [構造定義ファイル]メニューから[インポート]を選択します。



  2. ダイアログが起動したら、インポートするファイルを選択または入力します。



  3. [完了]ボタンを押下して、インポートに成功するとウィザードに構造定義が表示されます。



  4. 既に構造定義が存在する場合は、上書きするかどうかの警告ダイアログが表示されます。



構造定義ファイルを編集する場合の注意点