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コレクションのクォータ

SQLコレクションには次のクォータがあります:

説明クォータ
推奨最大レコード数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は、Booleanフィールド値をネイティブブール値としてではなく、テキスト値t(true)およびf(false)として保存します。 ブール列をtrueまたはfalseと比較するWHERE句(例:WHERE is_active = true)は、どの行にも一致しません。これは、列にブールリテラルではなく文字列tまたはfが保持されているためです。 代わりに、ブール列を文字列値と比較します:WHERE is_active = 't'またはWHERE is_active = 'f'

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リスト内のすべての行/列が含まれません。

ブール列のWHERE句では、ブールリテラルではなく文字列比較が必要です。 必要な構文については、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ファイルとして直接エクスポートできます。

最終更新日: