SQLコレクション by Workato

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

SQLコレクション by Workatoは、テーブルデータの操作に必要なツールを提供する堅牢なネイティブアプリケーションです。 SQL Collectionを使用すると、データベース、Webサービスなど、複数のシステム間で関連データを同期できます。

SQLコレクション by WorkatoSQLコレクション by Workato

機能の提供状況

SQLコレクション by Workatoは特定の料金プランで利用できます。 詳細については、ご利用の料金プランおよび契約を参照してください。

SQL Collectionを使用する理由

SQL Collectionでは、複数のソースからのデータを使用してSQLステートメントを実行できます。 リスト入力またはCSVファイルから一時テーブルを作成できます。 その後、さまざまなSQLクエリを実行して、ユースケースに必要な出力を得ることができます。

SQL Collectionテーブル(SQL Collectionリストとも呼ばれます)は一時的なものです。 これは、ジョブの実行中のみ存在し、複数のジョブ間では保持されないことを意味します。 データ処理が完了したら、データをターゲットシステムに直接ロードします。

SQL Collectionの制限

SQL Collectionには次の制限があります。

説明制限
推奨最大レコード数50,000

変換

SQL CollectionはSQL lite上に構築されており、任意のデータベースと同様に機能します。 リストを作成し、標準SQL構文を使用してクエリを実行できます。 WHEREGROUP BYJOINなどの一般的なSQLキーワードを使用して、テーブルのデータを計画した形式に操作します。

その後、SQL Collection出力を使用してターゲットシステムに直接ロードするか、データをCSVファイルとしてエクスポートします。

SQL Collectionで大規模なデータセットを処理する

SQL Collectionは大規模なデータセットをサポートしていますが、パフォーマンスは行サイズや列数など、データの構造によって異なります。 信頼性の高いパフォーマンスを確保するために、SQL Collectionリストあたり50,000レコードを超えないデータセットを使用することをお勧めします。

行が小さく列数が少ない場合、SQL Collectionは100,000~200,000レコードなどのより大きなデータセットを処理できます。 推奨制限を超えるデータセットは、パフォーマンスや安定性に影響を与える可能性があります。 大規模なデータセットを効率的に処理するには、テーブルを小さなチャンクに分割するか、並列レシピを使用します。

SQL CollectionはWorkatoとシームレスに連携するため、サードパーティツールを使わずにデータを直接ロードして処理できます。

コネクション設定

コネクションの設定は不要です。 開始するには、App(アプリ)>SQLコレクション by Workatoを選択するだけです。

アクション

SQL Collectionでリストを作成アクション

このアクションは、リスト入力からレシピ内にSQL Collectionリストを作成します。 SQL Collectionリストには、リストのスキーマに従った列ヘッダーが含まれます。

リストデータピルを追加する際、List sourceフィールドはFormulaモードにする必要があることに注意してください。

たとえば、Workdayからすべてのワーカーのリストを取得できます。

SQL Collectionでリストを作成SQL Collectionでリストを作成

入力フィールド説明
リストソースリストdatapillを選択します。 このフィールドがFormulaモードになっていることを確認してください。
リスト名リストの名前。
プライマリインデックスリストのプライマリインデックスとして1つ以上の列を選択します。
セカンダリインデックスリストのセカンダリインデックスとして1つ以上の列を選択します。

COLLECTIONの日付エラー

SQL Collectionを使用する際、Dateフィールドで無効な形式エラーが発生する場合があります。 このエラーは、SQLiteが日付と時刻用のストレージクラスを提供していないために発生します。 このエラーを修正するには、Mapper by Workatoを使用して、次のいずれかを実行する必要があります。

  • 日付を次の形式に更新します:YYYY-MM-DD HH:MM:SS.SSS
  • ダウンストリームアプリケーションで日付が不要な場合は、日付フィールドをスキップします

SQL Collectionに行を挿入アクション

このアクションは、リスト入力からレシピ内のSQL Collectionリストに行を挿入します。 SQL Collectionリストには、リストのスキーマに従った列ヘッダーが含まれます。 これは繰り返しループで使用できます。

SQL Collectionのリストに行を挿入SQL Collectionに行を挿入

入力フィールド説明
リストソースリストdatapillを選択します。 このフィールドがFormulaモードになっていることを確認してください。
リスト名リストの名前。
テーブルが存在しない場合は作成しますかテーブルが存在しない場合は作成します。
プライマリインデックスリストのプライマリインデックスとして1つ以上の列を選択します。
セカンダリインデックスリストのセカンダリインデックスとして1つ以上の列を選択します。

CSVからSQL Collectionにリストを作成

このアクションは、CSV入力からSQL Collectionリストを作成します。 新しく作成されたリストには、CSV文字列のスキーマに従った列ヘッダーが含まれます。

たとえば、on-premシステムからファイルを取得する予定の場合、CSVファイルをダウンロードしてSQL Collectionで直接使用できます。

CSVからSQL Collectionにリストを作成CSVからSQL Collectionにリストを作成

入力フィールド説明
CSVソースソース入力としてCSV文字列を選択します。
リスト名リストの名前。
ファイルエンコードタイプファイルエンコードタイプを選択します。 デフォルト値はUTF-8です。
列名CSVソース入力内の列ヘッダー。 CSVファイルでスキーマを定義するには、use a sample CSV fileを選択します。
CSVヘッダー行を無視CSVソースにヘッダー行がある場合はYesを選択し、それ以外の場合はNoを選択します。
列区切り文字CSVの各行で値を区切るために使用する文字を選択します。
プライマリインデックスリストのプライマリインデックスとして1つ以上の列を選択します。
セカンダリインデックスリストのセカンダリインデックスとして1つ以上の列を選択します。

CSVファイルからSQL Collectionに行を挿入アクション

このアクションは、CSVファイルからレシピ内のSQL Collectionリストに行を挿入します。 CSV文字列のスキーマに従った列ヘッダーが含まれます。

CSVファイルからSQL Collectionのリストに行を挿入CSVファイルからSQL Collectionに行を挿入

入力フィールド説明
CSVソースソース入力としてCSV文字列を選択します。
リスト名リストの名前。
ファイルエンコードタイプファイルエンコードタイプを選択します。 デフォルト値はUTF-8です。
列名CSVソース入力内の列ヘッダー。 CSVファイルでスキーマを定義するには、use a sample CSV fileを選択します。
CSVヘッダー行を無視CSVソースにヘッダー行がある場合はYesを選択し、それ以外の場合はNoを選択します。
列区切り文字CSVの各行で値を区切るために使用する文字を選択します。
プライマリインデックスリストのプライマリインデックスとして1つ以上の列を選択します。
セカンダリインデックスリストのセカンダリインデックスとして1つ以上の列を選択します。

SQL Collectionのリストをクエリ

このアクションでは、リストに対して標準SQLクエリを実行できます。

SQL CollectionのリストをクエリSQL Collectionのリストをクエリ

入力フィールド説明
SQLクエリSQLクエリを記述します。 通常のSQL構文が適用されます。
出力リストスキーマ出力リストの列ヘッダーに従ってスキーマを定義します。 JSONでスキーマを定義するには、use sample JSONを選択します。
CSVに書き込みクエリ結果をCSV文字列に変換するにはYesを選択します。これにより、以下の入力フィールドが表示されます。 このクエリ出力を後続のSQLクエリで使用するには、Noを選択します。
CSVヘッダーを追加列名をCSVヘッダー行として使用するにはYesを選択し、それ以外の場合はNoを選択します。
列区切り文字CSVの各行で値を区切るために使用する文字を選択します。

Query listアクションで使用できる、一般的に使用されるSQLキーワードを次に示します。

SQLキーワード説明
SELECTSQLワイルドカード*を使用して、このリスト内のすべての列を呼び出します。
WHEREリストから取得するデータを指定する条件を定義します。
JOINJOINLEFT JOININNER JOINを使用してリストを結合します。
INSERT INTOリストの新しいエントリを定義します。
DELETEリストから削除する行を定義します。

エクスポートまたはターゲットシステムへのロードの前に、必ずリスト全体をクエリしてください。 一部のSQLキーワード(例:INSERT INTODELETE)はリスト出力を返しません。 そのため、これらのアクションのデータピルには、SQL Collectionリスト内のすべての行/列が含まれません。

クエリ例:リストから行を削除

たとえば、Workdayのワーカーリストを調整して、特定のグループの人を除外できます。

SQL Collectionのリストをクエリアクションで行を削除SQL Collectionのリストをクエリアクションで行を削除

DELETEクエリはリスト出力を返さないため、このステップのデータピルはリストのエクスポートに使用しないでください

クエリ例:SQL CollectionをCSVとしてエクスポート

行をCSVとしてエクスポート行をCSVとしてエクスポート

SELECTクエリを実行して、そのSQL Collectionからすべての行を取得します。

sql
SELECT * FROM workers_list

次に、アクション設定でWrite to CSVを選択します。 このアクションの出力は、CSVファイルとして直接エクスポートできます。

Last updated: