簡體   English   中英

如何在VST的SSDT中創建此SSIS查找?

[英]How do I create this SSIS lookup in SSDT for VS 2012?

我的數據源中有一個名為“Gender”的列。 目前,該列包含六個可能值中的一個。 我想創建一個轉換,它從源獲取值並將其轉換為四個標准化值之一。 我該怎么做呢?

到目前為止,我將查找轉換添加到設計器表面並檢查選項。 我想我可以通過一個簡單的SQL查詢,下面的偽代碼完成這個,但我不確定我需要做什么或如何做。

If Gender = M or Gender = 1 then GenderId = 1
If Gender = F or Gender = 2 then GenderId = 2
If Gender = U then GenderId = 3
If Gender = X then GenderId = 4
... etc.

謝謝!

正如我在類似問題中引用的那樣, SSIS(SQL Server 2008)

選項1

派生列但由於行長度會變得有點難看。

選項2

查找轉換,您將源性別列映射到查找

SELECT D.Gender, D.GenderId
FROM
(
    SELECT 'M', 1
    UNION ALL SELECT '1', 1
    UNION ALL SELECT 'F', 2
    --- etc
) D (Gender, GenderId);

選項3

將其修復在源查詢中。 如果您將這些數據從數據庫中提取出來,請在那里使用CASE語句將GenderId的值強制轉換為正確的值,以便您可以簡化包。

使用派生列轉換創建新的StandardsGender列。 您可以使用立即if語句(?:syntax)來構建案例結構。 派生列通常是處理此類轉換和清理的最佳工具。

如果數據源是SQL數據庫,建議使用CASE語句在SQL查詢中進行處理。 您應該看到一些性能優勢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM