私は etl パッケージを作成するのが初めてで、ビジュアル スタジオでパッケージを探索することを学んでいます。私は、merge ステートメントから ETL の現在のロジックを取得し、ETL を再設計して、機能する初期ロード パスとインクリメンタル ロード パスを含むタスクを与えられました。インターネットを十分に検索しましたが、適切な答えが見つかりませんでした。これを進める方法を教えてください。
目的を理解するために、すべての属性を削除し、3 つだけを残して、マージ クエリを以下に貼り付けました。このマージを取り除き、INIT と INCR Load (データ フローに追加したい) を使用する方法。詳細や情報が不足している場合はお知らせください。これが初心者の質問である場合は申し訳ありません。
Merge ステートメントの形式は次のとおりです。
MERGE INTO <DestTableName> AS DIM
USING (
SELECT
Cast(EF.Form_PK as nvarchar(50)) FormSourceId
,EF.FormName
,CASE WHEN EF.FormStatus = 1 THEN N'Active' ELSE N'Inactive' END FormStatus
FROM <Tables and Joins>
) AS SRC
ON SRC.FormSourceID = DIM.FormSourceID
WHEN MATCHED And (
Coalesce(SRC.FormName, '') <> Coalesce(DIM.FormName, '')
OR Coalesce(SRC.FormStatus, '') <> Coalesce(DIM.FormStatus, '')
)
THEN
UPDATE SET
DIM.FormName = SRC.FormName
,DIM.FormStatus = SRC.FormStatus
WHEN NOT MATCHED BY TARGET THEN
INSERT (
FormSourceId
,FormName
,FormStatus
)
VALUES (
SRC.FormSourceId
,SRC.FormName
,SRC.FormStatus
)
WHEN NOT MATCHED BY SOURCE AND DimEvaluationId <> -1 THEN
DELETE;