Workday: WQL を使用して Workday レポートのライブデータにアクセスする方法
CData Workday ドライバーおよびコネクタは、Workday レポート用の特定の Workday Query Language(WQL)ステートメントを実行するテーブルの作成をサポートするようになりました。新しいストアドプロシージャ CreateWQLSchema は、Workday の 「Convert Report to WQL」 タスクの出力を受け取り、その WQL ステートメントを使用して Workday のレポートと同じデータを返します。
この記事では、CreateWQLSchema ストアドプロシージャについて説明し、Workday の「Convert Report to WQL」タスクの出力を使用して、Workday のレポートに基づく新しいテーブルを作成する方法を紹介します。
CreateWQLSchema ストアドプロシージャの使用方法
CreateWQLSchema ストアドプロシージャは、特定の Workday Query Language(WQL)ステートメントを Workday で実行するカスタムテーブルを定義・作成できる便利な機能です。WQL を活用することで、CData Workday ドライバーは Workday レポートの結果と同等のデータを抽出できます。しかも、Reports as a Service(RaaS)方式よりも優れたパフォーマンスを実現します。
ストアドプロシージャを実行すると、渡された WQL ステートメントに基づく新しいテーブルの構造を表すスキーマファイルが生成されます。これにより、Workday のレポートに対するクエリプロセスが簡素化され、レポートデータへのアクセスが高速化されます。
CreateWQLSchema ストアドプロシージャの詳細や CData Workday ドライバーの追加機能については、Workday ドライバーのドキュメントページをご覧ください。
Workday の「Convert Report to WQL」タスクを使用する
Workday では、「Convert Report to WQL」タスクを使用して、レポート自体と同じデータを返す WQL クエリを取得できます。以下に、Workday でこのタスクを実行する手順を説明します。
-
Workday で「Convert Report to WQL」タスクを検索して開きます:

-
WQL に変換するレポートを選択します:

-
必要に応じて、レポートのフィルターを選択します:

-
変換されたレポートの WQL クエリ文字列が返されます。これをコピーして CreateWQLSchema ストアドプロシージャで使用できます:

基本スキーマ
動的な値を使用したフィルタリングが不要なレポートの場合、Workday の「Convert Report to WQL」タスクの出力をそのままコピー&ペーストしてドライバーに渡すことができます。以下はストアドプロシージャの実行例です:
EXEC CreateWQLSchema TableName = 'FirstTenReports', WQL = 'SELECT reportName FROM myCustomReports LIMIT 10'
ストアドプロシージャが完了すると、新しく作成されたテーブルにクエリを実行できます:
SELECT * FROM FirstTenReports
パラメータ化されたスキーマ
Workday レポートは動的な値を使用したデータソースのフィルタリングをサポートしていますが、Workday はこれらのレポートを直接 WQL に変換することをサポートしていません。例えば、createdDate フィールドを先月に制限するレポートを作成した場合、「Convert Report to WQL」タスクは計算された日付を含む WQL を出力します。例:
SELECT reportName FROM myCustomReports WHERE createdDate > '2024-06-26'
このクエリの結果は、翌月に実行しても変わりません。これを回避するために、CData Workday ドライバーは WQL パラメータをサポートしており、この制限を解除できます。パラメータを使用してテーブルを作成すると、プロバイダーは動的な値を指定するための追加カラムを公開します。例:
EXEC CreateWQLSchema TableName = 'ReportsCreatedDuring', WQL = 'SELECT reportName FROM myCustomReports WHERE createdDate >= <<from_date>> AND createdDate <= <<to_date>>', Parameters = 'from_date:DATE,to_date:DATE';
ストアドプロシージャが完了したら、作成されたテーブルにクエリを実行し、設定したパラメータの値を指定できます:
SELECT * FROM ReportsCreatedDuring WHERE from_date_Prompt = DATEADD('month', -1, GETDATE()) AND to_date_Prompt = GETDATE()
無料トライアルと詳細情報
CData の接続ソリューションのおかげで、Workday データの操作がこれまでになく簡単になりました。Workday ドライバーおよびコネクタを使用したオンプレミスの BI、レポーティング、ETL、カスタムアプリケーション、あるいは CData Sync を使用した Workday データのデータベース、データレイク、データウェアハウスへのレプリケーションなど、様々なシナリオに対応しています。30日間の無料トライアルをダウンロードして(または CData Sync の無料トライアルを開始して)、Workday データをさらに活用しましょう。