CData コネクタは LAG() ウィンドウ関数をサポートしています
CData ドライバー & コネクタは、より包括的で強力なクエリ機能を提供するため、LAG() ウィンドウ関数をサポートしています。
Date Entered: 01/31/2025 Last Updated: 01/31/2025
CData ドライバー、コネクタ、およびその他のソリューションでは、サポートされる SQL 関数のライブラリに LAG() ウィンドウ関数が追加されました。この機能により、データの連続する値の変化を比較・計算できるようになります。このサポートはすべてのデータソースに対応しています。可能な場合、CData ソリューションは LAG リクエストをデータソースにプッシュダウンしますが、それができない場合は、初期データの取得後にメモリ上で関数を解決します。
LAG() 関数を使用したクエリ例
以下の例では、CData Connect AI のデータエクスプローラーと Salesforce 接続を使用していますが、この原則はすべてのデータソースにわたるすべての CData ソリューションに適用されます。
以下のクエリでは、Salesforce の商談(Opportunity)月と関連する顧客アカウントでグループ化した、すべての商談の予測収益の合計を計算します。LAG() 関数を使用して、各月の予測収益を前月と比較します。
クエリ
SELECT Account.Name,
MONTH(CloseDate) AS CloseMonth,
LAG(SUM(Revenue), 1, 0)
OVER (
PARTITION BY AccountId
ORDER BY CloseDate) AS PreviousRevenue,
SUM(Revenue) AS CurrentRevenue
FROM Salesforce1.Salesforce.Opportunity
JOIN Salesforce1.Salesforce.Account
on Opportunity.AccountId = Account.Id
WHERE MONTH(CloseDate) IN ( '3', '4', '5', '6', '7', '8' ) AND
AccountId = '0016A000003FZacQAG'
GROUP BY AccountId,
MONTH(CloseDate)
結果
以下の結果は、Salesforce からのレスポンスの最初の 10 行を示しています。各月が連続していないのは、その間の月に商談がなかったアカウントがあることを表しています。
| Name | CloseMonth | PreviousRevenue | CurrentRevenue |
|---|---|---|---|
| Burlington Textiles Corp of America | 3 | 0 | 29999 |
| Burlington Textiles Corp of America | 4 | 29999 | 872303.85 |
| Burlington Textiles Corp of America | 5 | 872303.85 | 36624.2 |
| Burlington Textiles Corp of America | 6 | 36624.2 | 72666.1 |
| Burlington Textiles Corp of America | 7 | 72666.1 | 8843.4 |
| Burlington Textiles Corp of America | 8 | 8843.4 | 95835.3 |
We appreciate your feedback. If you have any questions, comments, or suggestions about this entry, please contact our support team at [email protected].