
[CSV データ更新]は、CSVやTSV形式のデータをもとにクエリ(SQL)でデータを加工・変換できる自動工程です。「CSVデータ加工、手作業から自動化へ!」では、自動工程の概要や基本的な使い方が紹介されています。
Ver. 16.2 にて新規追加され新規提供された[CSV データ更新]は、Ver. 17.0、Ver. 17.1のアップデートで機能が追加され、入力時の柔軟性と出力時の制御性が大幅に強化されました。
これにより、テーブル形式のデータ処理だけでなく、文字型・数値型・複数行文字列など、さまざまなデータ項目間での変換・保存が容易になります。[データ更新]では実現できなかった処理や複雑な EL 式を記述する必要があった処理も[CSV データ更新]を利用すれば簡単に実現できる可能性があります。
1. 利用できるオプション
[CSV データ更新]で指定可能なオプションを以下にまとめます。入力(データ読み込み)時に関するものと、出力(データ項目に保存)時に関するものとに分けています。
1-1. 入力時のオプション
データ形式
- CSV / TSV
- CSV 形式か TSV 形式のいずれかを選択
- ヘッダの有無
- 以下のいずれかを選択
- ヘッダなし(1行目からデータ)
- 文字型(単一行)や CSV/TSV 形式ではない文字型(複数行)のデータを対象にできます
- ヘッダあり(1行目:カラム名、2行目からデータ)
- ヘッダなし(1行目からデータ)
- 以下のいずれかを選択
テーブルに ID カラムを追加する(1, 2, 3 … と行番号が自動的に付与されます)
- トグルスイッチ
- オン / オフ
これにより、ヘッダなしCSVや単純な文字列リストなども扱いやすくなりました。
1-2. 出力時のオプション
クエリ結果の保存方法
- テーブル全体を CSV / TSV 形式で1つのデータ項目に保存する
- クエリ結果を保存するデータ項目
- (文字型複数行を選択)
- 保存する際のデータ形式
- CSV / TSV
- CSV 形式か TSV 形式のいずれかを選択
- ヘッダの有無
- 以下のいずれかを選択
- ヘッダなし(1行目からデータ)
- 保存先を文字型(単一行)とする場合や、ヘッダ行が必要ない場合
- ヘッダあり(1行目:カラム名、2行目からデータ)
- 入力データが「ヘッダなし」の場合、col1 col2… といったヘッダ行が追記されます
- ヘッダなし(1行目からデータ)
- 以下のいずれかを選択
- CSV / TSV
- カラム名とデータをダブルクォートで囲む
- 以下のいずれかを選択
- 常に
- 必要な場合のみ
- 以下のいずれかを選択
- クエリ結果を保存するデータ項目
- 各カラムの値を改行区切りでデータ項目に保存する
- クエリ結果を保存するデータ項目
- カラムごと(1 番目のカラム、2 番目のカラム…)に文字型(複数行)を指定
- ヘッダ行は出力されません
- カラムごと(1 番目のカラム、2 番目のカラム…)に文字型(複数行)を指定
- クエリ結果を保存するデータ項目
- 各セルの値を別々のデータ項目に保存する
- クエリ結果を保存するデータ項目
- セルごと(1 番目のセル、2 番目のセル…)に文字型(単一行/複数行)か数値型を指定
- ヘッダ行を除き左から右へと順にセルの値が指定データ項目に保存されます
- セルごと(1 番目のセル、2 番目のセル…)に文字型(単一行/複数行)か数値型を指定
- クエリ結果を保存するデータ項目
これにより、出力結果を柔軟に制御でき、外部システム連携やマスタ更新処理への応用範囲が広がります。

2. オプションを利用した応用
データ入出力時のオプションや、保存先データ項目を組み合わせることで、[CSV データ更新]を幅広いデータ処理に利用できます。単なる CSV/TSV データの処理だけではなく、データ項目に保存されたデータに対して、「文字型→数値型」や「CSV→TSV」といった様々な加工や変換を行えます。
ここでは、[CSV データ更新]の機能を応用するいくつかのアイデアについて紹介します。
2-1. 文字型から数値型への変換
概要
文字列で構成されたCSVや文字型データ項目の値を、数値型データ項目へ直接保存・変換できます。
設定例
出力オプション
- クエリ結果の保存方法 :「各セルの値を別々のデータ項目に保存する」
| 入力データ項目 | 保存先データ項目 |
| 文字型(単一行)または文字型(複数行) | 数値型 |
SQL例
SELECT *
FROM "q_stringSingle";応用例
- 外部APIなどから文字列で取得した数値データを数値型に変換
- 「”100″」→数値100として計算・集計処理に利用
2-2. 複数の集計結果を一括で保存
概要
1つのクエリで算出した複数の集計値(最大・平均・合計など)を同時に複数のデータ項目へ保存できます。
設定例
出力オプション
- クエリ結果の保存方法 :「各セルの値を別々のデータ項目に保存する」
| カラム | 保存先データ項目 |
| 最大価格(1番目のセル) | 数値型「最大価格」 |
| 平均価格(2番目のセル) | 数値型「平均価格」 |
| 合計価格(3番目のセル) | 数値型「合計価格」 |
SQL例
select
max(cast("価格" as integer)) as "最大価格",
avg(cast("価格" as integer)) as "平均価格",
sum(cast("価格" as integer)) as "合計価格"
from "商品";応用例
- 価格リストや売上CSVから集計値を自動算出
- 業務レポートや承認処理における自動統計表示
2-3. 複数行文字列間の変換
概要
ヘッダ行が無い複数行文字列を読み書きできるため、文字型(複数行)データ項目での変換やフィルタ処理が可能です。
設定例
入力オプション
- データ形式 > ヘッダの有無:「ヘッダなし(1行目からデータ)」
出力オプション
- クエリ結果の保存方法 :「テーブル全体を CSV / TSV 形式で1つのデータ項目に保存する」
- 保存する際のデータ形式 > ヘッダの有無: 「ヘッダなし(1行目からデータ)」
SQL例
SELECT *
FROM "q_list"
ORDER BY "col1";応用例
- テキストリストを加工して別項目に渡す
- CSVを介さずに複数行文字型の内容をクエリで整形・再出力

2-4. 各カラムを個別のデータ項目に保存
概要
クエリ結果の各カラムをそれぞれ異なるデータ項目に保存可能です。
設定例
出力オプション
- クエリ結果の保存方法 :「各カラムの値を改行区切りでデータ項目に保存する」
| カラム | 保存先データ項目 |
| 氏名(1番目のカラム) | 文字型(複数行)「選択肢ラベル」 |
| メールアドレス(2番目のカラム) | 文字型(複数行)「選択肢ID」 |
SQL例
SELECT "氏名","メールアドレス"
FROM "名簿" 応用例
- 選択肢マスタ作成(CSVの各カラムを選択肢のラベル・IDに)
- 多項目CSVからの項目抽出

2-5. CSV ⇔ TSV の変換
概要
入力形式と出力形式を自由に選べるため、CSV/TSVの相互変換が可能です。
設定例
入力オプション
- データ形式 > CSV / TSV:「CSV」
出力オプション
- 保存する際のデータ形式 > CSV / TSV:「TSV」
応用例
- CSV形式をTSVに変換して外部連携に使用
2-6. クオートの有無・ヘッダ有無を制御
概要
出力時のフォーマット設定が柔軟になり、クオート有無・ヘッダ出力の有無・カラム順を自由に制御できます。
設定例
出力オプション
- クエリ結果の保存方法:「テーブル全体を CSV / TSV 形式で1つのデータ項目に保存する」
- 保存する際のデータ形式 > ヘッダの有無:「 ヘッダあり(1行目カラム名、2行目からデータ)」
- カラム名とデータをダブルクォートで囲む:「 必要な場合のみ」
応用例
- 他システムとのデータ連携で形式を統一
- クオート付き/なしデータの相互変換

2-7. 入力データに自動でIDカラムを追加
概要
入力CSV/TSVに自動的に ID カラムが追加され、行単位の識別や制御が容易になりました。
設定例
入力オプション
- テーブルに ID カラムを追加する(1, 2, 3 … と行番号が自動的に付与されます):「 ON」
SQL例
SELECT "ID", "col1", "col2"
FROM "data"
ORDER BY "ID";応用例
- 行番号を用いた更新処理・エラー追跡
- クエリ結果を再結合(JOIN)する際のキーとして利用
3. まとめ
オプション機能の組み合わせにより、[CSV データ更新]で以下のような操作を実現できます。
| 操作種類 | 実現できる処理 |
| データ変換 | 文字型→数値型変換、CSV⇔TSV変換、クオート制御 |
| 入力制御 | ヘッダなしデータ対応、ID自動付与 |
| 出力制御 | ヘッダ非出力、順序変更、複数項目保存 |
| 集計・整形 | 最大・平均・合計の一括保存、複数行文字列変換対応 |
| マスタ更新 | カラム単位で複数行文字型保存、選択肢更新用途に活用可能 |
オプションの活用により、Questetra内でデータ変換・集計・マスタ管理を自動化するフロー設計の幅が広がります。
