本文へ移動
Wagby11
マニュアルのグループを選ぶ

WAGBY11 MANUAL / 17

アップロード列・ヘッダ行数を設定する

入力ファイルの列を対象項目へ対応付け、ヘッダ行数に応じて名前または列位置で取り込めます。不要な列の扱いも指定できます。

最終更新日:

ダウンロードとアップロード更新の小目次へ

1. このページで伝える機能

入力ファイルの列を対象項目へ対応付け、ヘッダ行数に応じて名前または列位置で取り込めます。不要な列の扱いも指定できます。

2. Wagby11で実現できること

2.1 ヘッダ行数と列の対応

通常の在庫ファイルはヘッダ1行で、商品コードなどの名前を使って列を対応付けます。外部様式では先頭2行を読み飛ばし、3行目から列の位置で取り込みます。

ヘッダ2行の外部様式を検証した結果。
ヘッダ2行の外部様式を検証した結果。

ヘッダなしは0行として1行目からデータを読みます。0行または2行以上ではcolumn1、column2などを列の物理位置に合わせます。1行の場合は列名による並べ替えも許可できます。

2.2 同じ名前のヘッダと複数の様式

ヘッダが1行のファイルでは、同じ列名が複数ある場合、最初の列はその名前を使い、2個目以降はcolumnNとして区別します。Nはファイルの左から数えた物理列番号です。同じ名前が何回目に現れたかを表す番号ではありません。

様式ファイルのヘッダ請求先住所配送先住所
A顧客ID,住所,住所住所column3
B顧客ID,住所,備考,住所住所column4

この例では、様式ごとのアップロード定義を用意し、配送先住所へ対応付ける列名をAではcolumn3、Bではcolumn4とします。様式Bの備考を取り込まない場合も、その位置に読み飛ばす列を定義します。列の並べ替えを許可するだけでは、column3とcolumn4を同じ項目へ対応付けられません。

アップロード定義の列別設定は、その取り込みで使う列名を上書きします。モデルの共通の列名やダウンロードの出力名は変わりません。対応するダウンロード定義を切り替えるだけでは照合する列名は変わらず、出力ファイルをそのまま取り込めるとは限りません。空のヘッダや重複名を補正した後も、照合する列名が重複しないようにします。

2.3 不足する末尾ヘッダの補完

外部ファイルでデータは4列あるのにヘッダは先頭2列しかない場合、欠落した末尾ヘッダを補って取り込めます。ヘッダ1行のアップロードで補完を有効にすると、定義した列数までcolumn3、column4のように名前を補います。通常は補完せず、ヘッダ不足をエラーとして扱います。

たとえばヘッダが「顧客ID,顧客名」、データが「C001,山田太郎,東京都,100」のファイルなら、3列目をcolumn3、4列目をcolumn4へ対応付けます。これは、アップロード定義数を超える末尾列を読み飛ばす設定とは異なります。補完はヘッダだけが対象で、CSV・TSVのデータ行が定義列数より短ければエラーです。補完後の列名が重複する場合もエラーになります。

3. AIへの指示例

最小限の指示例

外部ファイルの先頭2行は見出しなので、3行目から在庫データを取り込んでください。

AIはヘッダ行数、列位置、取り込まない列の扱いを類推して補います。実際のファイルの順番を伝えると、項目との対応が明確になります。

より詳細な指示例

外部様式用のアップロード定義を追加し、header.rowsを2、列の並べ替えは不可にしてください。1列目から商品コード、商品名、適用日、在庫数、単価、取扱中、備考へ対応付けます。各列にcolumn1〜column7を指定してください。
別の外部様式として、ヘッダ1行で「顧客ID,住所,住所」と「顧客ID,住所,備考,住所」の2種類を取り込めるようにします。請求先住所は住所、配送先住所は各様式のcolumn3とcolumn4へ対応付け、備考は読み飛ばしてください。
ヘッダが「顧客ID,顧客名」の2列だけで、データには住所と点数を含む4列ある様式も別に用意してください。欠落した末尾ヘッダだけを補完し、3列目を住所、4列目を点数に対応付けます。
既存のモデル・データ・権限を保持し、Wagby11のguide・referenceを確認してください。メニューと一般利用者向け操作マニュアルを更新し、生成・ビルド後に画面・出力ファイル・保存結果を確認してください。

4. 編集されるAppSchemaの例

以下は関連する定義の抜粋です。構文を覚えなくても、出力したい内容や取り込みの方針をAIへ伝えられます。

header: { rows: 2, required: true, exact: true, allow_reorder: false }
columns:
  - { name_en: productCode, upload: key, csv_name: column1 }
  - { name_en: productName, upload: writable, csv_name: column2 }
  - { name_en: effectiveDate, upload: writable, csv_name: column3 }
  - { name_en: quantity, upload: writable, csv_name: column4 }
  - { name_en: unitPrice, upload: writable, csv_name: column5 }
  - { name_en: active, upload: writable, csv_name: column6 }
  - { name_en: notes, upload: writable, csv_name: column7 }

途中の不要列は属性へ対応付けないskip、既存属性への反映だけを止める場合はignoreを使います。定義数を超える末尾列の無視と、途中列の読み飛ばしは別の扱いです。

同名の住所列を持つ2様式の例です。functions内のuploadsの抜粋で、対象モデルには顧客ID・請求先住所・配送先住所が定義されているものとします。

uploads:
  - id: address_a
    header: { rows: 1, required: true, exact: true, allow_reorder: false }
    columns:
      - { name_en: customerId, upload: key, csv_name: 顧客ID }
      - { name_en: billingAddress, upload: writable, csv_name: 住所 }
      - { name_en: shippingAddress, upload: writable, csv_name: column3 }
  - id: address_b
    header: { rows: 1, required: true, exact: true, allow_reorder: false }
    columns:
      - { name_en: customerId, upload: key, csv_name: 顧客ID }
      - { name_en: billingAddress, upload: writable, csv_name: 住所 }
      - { upload: skip, csv_name: 備考 }
      - { name_en: shippingAddress, upload: writable, csv_name: column4 }

末尾ヘッダを補う別のアップロード定義の抜粋です。この例の対象モデルは顧客ID・顧客名・住所・点数を持ちます。

header:
  rows: 1
  required: true
  exact: true
  allow_reorder: false
  allow_missing_trailing_columns: true
columns:
  - { name_en: customerId, upload: key, csv_name: 顧客ID }
  - { name_en: customerName, upload: writable, csv_name: 顧客名 }
  - { name_en: address, upload: writable, csv_name: column3 }
  - { name_en: points, upload: writable, csv_name: column4 }

5. 参考資料

guide:アップロード列・ヘッダ行数を設定する
designer/docs/appschema/html/guide/09-data-transfer/14-upload-header-rows.html
reference:ファイルアップロード一括更新
designer/docs/appschema/html/reference/12-file-upload.html