
CSV データ更新
データ項目に入力されたデータを RDB テーブルとして扱い、クエリ(SQL)によりデータを操作します。クエリ実行結果は指定したデータ項目に保存されます。2つのデータを結合することもできます。
入力データ
Basic Configs
- 工程名
- メモ
Configs: 入力データ
- C1: データが保存されているデータ項目1 *
- C1a: データ形式
- CSV / TSV
- ヘッダの有無
- C1b: クエリからアクセスする際のテーブル名
- C1c: テーブルに ID カラムを追加する (1, 2, 3 … と行番号が自動的に付与されます)
- C2: データが保存されているデータ項目2
- C2a: データ形式
- CSV / TSV
- ヘッダの有無
- C2b: クエリからアクセスする際のテーブル名
- C2c: テーブルに ID カラムを追加する (1, 2, 3 … と行番号が自動的に付与されます)
Capture

Notes
- 以下のデータを対象に処理が行われます
- 文字型データ項目に保存されているデータ
- 入力されているデータは、文字型(複数行)と文字型(単一行)のいずれでも処理できます
- データは RDB のテーブルとみなされ、H2 Database のテーブルとして扱われます
- テーブルに対してクエリ(SQL)を発行し、結果が指定の文字型データ項目に保存されます
- 本工程は、文字列データを数値へ変換する処理にも利用できます(現行の[データ更新]工程では「文字型から数値型」への変換には対応していません)
- テーブル型データ項目に保存されているデータ
- 集計行を除き、CSV の値がそのままDBテーブルとして取り込まれます
- カラム名はテーブル項目名です(フィールド名ではないことに注意してください)
- 全カラムは varchar 型として保存されます
- DBテーブルとして取り込まれる際のデータ形式
- 文字テーブル項目:そのまま保存
- 数値テーブル項目:小数点ピリオド、桁区切り文字無しのテキストとして保存
- 日付テーブル項目:yyyy-MM-dd 形式のテキストとして保存
- 選択テーブル項目:「選択肢の値」をテーブルに保存
- 文字型データ項目に保存されているデータ
- 入力されているデータの1行目について、テーブルのカラム名としてみなす(ヘッダあり)か、データとしてみなす(ヘッダなし)かを選択できます
- 文字型(単一行)を対象とする場合は、データとしてみなす(ヘッダなし)を指定します
- カラム名は、1文字以上64文字以下で設定してください
- カラム名が空、または64文字を超えるカラムがある場合、処理に失敗します
- カラム名に重複があると処理に失敗します
- 列の型は全て varchar として扱われ、integer, date などとして扱うことはできません
- カラム名行の列数とデータ行の列数が一致しない場合、自動で補完されます
- データ行の列数がカラム行より多ければ、例えば10番目(1始まり)にカラム名「col10」の列が追加されます
- データ行の列数がカラム行より少ない場合、データ行の足りない分の列には null のデータがあるとして扱われます
- 入力されている TSV/CSV に ID カラムを自動追加できます
- データの行番号を示す ID が自動的に付与されます
- CSV/TSV データに ID カラムが存在している場合、処理に失敗します
- [C1: データが保存されているデータ項目1]を指定すると、[C1a: データ形式]/[C1b: クエリからアクセスする際のテーブル名]/[C1c: テーブルに ID カラムを追加する (1, 2, 3 … と行番号が自動的に付与されます)] の設定項目が展開されます(C2も同様)
- [C2: データが保存されているデータ項目2]で2つ目のデータ項目を指定すると、2つのデータ(テーブル)を結合するクエリ(SQL)を発行することもできます
クエリ
Configs: クエリ
- C3: データに対して発行するクエリ *
Capture

Notes
- H2 Database に対応する SQL で記述してください
- [C3: データに対して発行するクエリ]に指定するクエリ(SQL)には、最大2000文字の制限があります
- クエリ(SQL)に指定するテーブル名/カラム名は、ダブルクォート(”)で囲みます
- クエリに含んではいけない禁止語があります
- ファイルシステムに関連した関数の名前など
- テーブル名やカラム名にも含めません
- 入力設定で[ヘッダなし]オプションを選択した場合、クエリ(SQL)での列の指定は “col1” “col2” で行います
- ページ下部の「クエリの例」を参考にしてください
保存設定
Configs: 保存設定
- C4: クエリ結果の保存方法 *
- テーブル全体を CSV / TSV 形式で1つのデータ項目に保存する
- C4a: クエリ結果を保存するデータ項目
- C4b: 保存する際のデータ形式
- CSV / TSV
- ヘッダの有無
- C4c: カラム名とデータをダブルクォートで囲む
- 各カラムの値を改行区切りでデータ項目に保存する
- C4a: クエリ結果を保存するデータ項目
- 各セルの値を別々のデータ項目に保存する
- C4a: クエリ結果を保存するデータ項目
Capture

Notes
- 「C4:クエリ結果の保存方法」では、次の三つの選択肢があります
- 「テーブル全体を CSV / TSV 形式で1つのデータ項目に保存する」を指定すると、[C4a: クエリ結果を保存するデータ項目]/ [C4b: 保存する際のデータ形式] / [C4c: カラム名とデータをダブルクォートで囲む]の設定項目が展開されます
- [C4a: クエリ結果を保存するデータ項目]に C1 と同じデータ項目を指定すると、上書き保存になります
- [C4b: 保存する際のデータ形式]に CSV / TSV 形式を選択できます、 ヘッダの有無も選択できます
- 入力設定で[ヘッダなし]を選択したデータを、ヘッダを付けたテーブル(CSV/TSV)へと変換できます
- 応用例として、複数行文字列間の変換にも有効です
- [C4c: カラム名とデータをダブルクォートで囲む]では、クエリ結果を保存する CSV / TSV データにて、ダブルクォートの有無をオプション指定できます
- 「各カラムの値を改行区切りでデータ項目に保存する」を指定すると、[C4a: クエリ結果を保存するデータ項目]が展開されます
- 各カラムの値ごとに、個別の複数行文字型データ項目に保存できます
- 選択肢マスタ更新などへの応用ができます
- 「各セルの値を別々のデータ項目に保存する」を指定すると、[C4a: クエリ結果を保存するデータ項目]が展開されます
- 各セルの値ごとに、保存先のデータ項目を個別に設定できます
- 保存先データ項目の並び順を変更できます
- 文字型(複数行)に保存されている各行の数字を直接に各数値型データ項目に保存できます
- 複数の集計結果「最大」「平均」「合計」などの一括保存もできます、これを実現するためのクエリ指定方法は「クエリの例」をご覧ください
- 「テーブル全体を CSV / TSV 形式で1つのデータ項目に保存する」を指定すると、[C4a: クエリ結果を保存するデータ項目]/ [C4b: 保存する際のデータ形式] / [C4c: カラム名とデータをダブルクォートで囲む]の設定項目が展開されます


クエリの例
射影
select "商品ID", "商品名", "価格"
from "商品"select * except("商品ID")
from "q_products"選択
select *
from "商品"
where "商品ID" like 'p123-%'select *
from "商品"
where cast("価格" as integer) > 1000集計関数
select
max(cast("価格" as integer)) as "最大価格",
min(cast("価格" as integer)) as "最小価格",
avg(cast("価格" as integer)) as "平均価格",
sum(cast("価格" as integer)) as "合計価格"
from "商品";結合
select p.*, s.* except(s."商品ID")
from "商品" as p join "売上" as s on p."商品ID" = s."商品ID"