0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Workato]再マッピング不要!FormulaでLookup Tableを直接SQL Collectionに流し込む解決策

0
Last updated at Posted at 2026-02-19

はじめに

Workatoでマスタ管理やデータの一時格納に便利なLookup Table。これをSQL Collection(SQLite準拠のデータ処理機能)で操作しようとすると、データの構造(スキーマ)の違いが壁になります。

本記事では、タスク消費を抑えつつ、スマートにデータを連携させる解決策を紹介します。

Lookup TableとSQL Collectionについて

WorkatoにはLookup Tableと呼ばれる簡易的なテーブル機能があり、マスタ管理や一時的なデータ格納によく利用されます。

※Lookup Tableの例

image.png

また、WorkatoにはSQL Collectionという、SQLite準拠のSQLで一時的なデータ処理を行えるリレーショナルデータベース機能があります。

実務では、 「Lookup Tableに格納されたレコードを、SQL Collectionに取り込んで複雑なSQL処理を行う」 という構成が頻繁に活用されます。

SQL CollectionでLookup Tableのレコードを処理する際の課題

SQL Collectionがデータソースとして受け入れ可能な形式は、原則として 「二次元のリスト(フラットな構造)」 です。しかし、Lookup Tableのデータ構造には以下の欠点があります。

構造の不一致

Lookup Tableのスキーマは単純な二次元リスト形式ではなく、内部に階層を持つため、SQL Collectionとの相性が良くありません。

image.png

Formula指定の制限

Create listInsert rows アクションでは、Formulaによるリストソースの指定が完全にはサポートされておらず、スキーマの認識や値のセットが正しく行われない場合があります。

image.png

従来の回避策とその問題点

通常は「Variables by Workato」を使用して、Lookup Tableのリストを二次元リストへ再マッピング(再構築)する方法がとられます。

しかし、この方法は 「再マッピングのための冗長なステップ数」を増やし、結果としてタスク(クレジット)の消費 を増大させてしまうという懸念があります。

image.png

解決策:Insert rows from CSV fileを利用した、Lookup Tableのインポート

この課題を解決するのが、 SQL Collectionの Insert rows from CSV file アクションです。このアクションはCSVテキストをソースとして受け取り、一時テーブルを作成できます。

image.png

メリット

CSVソースはFormulaに対応しているため、 Lookup Tableの取得結果をFormulaで直接CSV化 して流し込むことができます。これにより、Variables等の余計なアクションを追加することなく、効率的にインポートが可能です。

image.png

手順

1. CSVソースのFormula定義

「CSV source」項目に以下のFormulaを定義します。 部分を、参照したいLookup Tableの Entries オブジェクトに置き換えてください。

image.png

コード

解説
pluck('entry') でレコード本体を抽出し、さらに各カラム (col1...) を抽出してから to_csv で変換しています。

<Entries|StepXX>
.pluck('entry')
.pluck(
'col1',
'col2',
'col3',
'col4',
'col5',
'col6',
'col7',
'col8',
'col9',
'col10')
.to_csv

2. アクションの詳細設定

続いて、以下の項目を設定します。

  • List name: 作成するテーブル名(任意)を指定。
  • Columns: 上記のFormulaで指定した順序(col1〜col10)に合わせてカラムを定義。
  • Ignore CSV header row: false に設定。

image.png

3. SQLでの処理

設定完了後は、通常のSQLを用いてレコードの抽出、フィルタリング、集計などの高度な処理が実行可能になります。

image.png

image.png

まとめ

本記事では、Lookup TableのデータをSQL Collectionへ効率的にインポートする方法を紹介しました。

Insert rows from CSV file アクションとFormula(.pluck.to_csv)を組み合わせることで、冗長なリスト再マッピングのステップを排除し、タスク消費を最小限に抑えることが可能です。

「Lookup Tableの構造がSQL Collectionと合わなくて困っている」という方は、ぜひこのスマートな連携方法を試してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?