CSV データ更新

CSV データ更新

Update CSV Data

データ項目に入力されたデータを 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: クエリ結果を保存するデータ項目]が展開されます
      • 各セルの値ごとに、保存先のデータ項目を個別に設定できます
      • 保存先データ項目の並び順を変更できます
      • 文字型(複数行)に保存されている各行の数字を直接に各数値型データ項目に保存できます
      • 複数の集計結果「最大」「平均」「合計」などの一括保存もできます、これを実現するためのクエリ指定方法は「クエリの例」をご覧ください

クエリの例

射影

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"

See Also

上部へスクロール

Questetra Supportをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む