紐付けテーブルのレコードを追加・更新する

紐付けテーブルにデータを追加・更新する方法を説明します。

スケジュール機能を使った取り込み

スケジュール機能を利用し、データセット内のデータをクエリ抽出した結果を、紐付けテーブルに追加することができます。

  • データセットに、更新データを格納します
  • 紐付けテーブルに移すデータを抽出するためのクエリを作成します
  • ジョブフローを新規作成し、下記のように設定します
    • [ジョブタイプ]
      • [データテーブルからエクスポート]を選択
    • [エクスポート元]
      • 作成したクエリを選択
    • [エクスポート先]
      • [紐付けテーブル]を選択
    • [紐付けテーブル]
      • データ格納先のテーブルを選択
    • [更新タイプ]
      • 追加/上書き(UPSERT)
      • 置き換え(REPLACE)
    • [メインキーにするフィールド]
      • クエリ結果に含まれるフィールドのうち、主キーとして利用するフィールドを指定します
      • 指定したフィールドにはNULLが含まれないようにしてください(NULLが含まれているとジョブフローの実行時にエラーになります)
  • ジョブフローを実行します

🚧

紐付けテーブルにエクスポートできるデータテーブルのデータ型

紐付けテーブルにエクスポートが可能なデータ型は、以下に制限されています。

  • STRING型
  • INTEGER(INT64)型
  • FLOAT(FLOAT64)型
  • NUMERIC型
  • BOOLEAN(BOOL)型
  • DATETIME型
  • TIMESTAMP型
  • DATE型

エクスポートする際には、上記の対応している型のフィールドのみがエクスポートされます。
全てのフィールドが該当しない型の場合はエラーとなります。

一部のデータ型については、紐付けテーブルにエクスポートされる段階で、以下のように型が変換されます。

  • INTEGER(INT64)型、FLOAT(FLOAT64)型、NUMERIC型
    → NUMBER型に変換
  • DATETIME型、TIMESTAMP型、DATE型
    →DATE型に変換

管理画面からのCSVアップロード

  • 空の紐付けテーブル画面の[CSVファイルからインポート]ボタンから、ローカルに保存されたCSVファイルを取り込むことができます
  • CSVファイルは、以下の仕様に準拠してください
    • 拡張子: .csv
    • 文字コード: BOM無しUTF-8
    • 改行コード: LF
    • ヘッダ行: あり
    • 区切り文字: カンマ
    • 囲み文字: 無し、又はダブルクォーテーション("
  • 管理画面経由のファイルアップロードにおけるデータ更新方式は、「置き換え(REPLACE)」ではなく「追加/上書き(UPSERT)」になります

🚧

管理画面からのCSVアップロードに関する制限

スケジュール機能と異なり、管理画面からCSVアップロードをする場合は以下の制限がかかります。特に理由がなければ、スケジュール機能を利用してください。

  • アップロードするファイルのサイズに制限があります
    • 上限5MB