轉換類型:主動、已連接
1 Source Qualifier 概述
當你添加關系表或平面文件源定義至映射時,需要將它連接至 Source Qualifier 組件。Source Qualifier 代表了 PowerCenter 在運行會話時讀取的行。可以使用它執行以下任務:
- 聯接來自相同源數據庫的數據。您可以通過鏈接源至源限定符轉換來聯接具有主鍵-外鍵關系的兩個或多個表。
- 當 PowerCenter Server 讀取源數據時過濾行。如果您包含過濾條件,PowerCenter Server 將添加 WHERE 子句至默認查詢。
- 指定外部聯接,而不是默認的內聯接。如果您包括用戶定義的聯接,PowerCenter 將替換元數據在 SQL 查詢中指定的聯接信息。
- 指定已排序端口。如果為已排序端口指定編號,PowerCenter 將添加 ORDER BY 子句至默認的 SQL 查詢。
- 僅從源選擇相異值。如果選擇"選擇相異",PowerCenter 將添加 SELECT DISTINCT 語句至默認的 SQL 查詢。
- 創建自定義查詢來為 PowerCenter 生成特殊 SELECT 語句以便讀取源數據。 例如,您可以使用自定義查詢來執行聚合計算。
目標載入順序
在映射中基於源限定符轉換指定目標載入順序。如果具有連接到多個目標的多個源限定符轉換,您可以指定 PowerCenter 載入數據至目標時的順序。 如果一個源限定符轉換為多個目標提供數據,您可以在會話中啟用基於約束的載入,以使 PowerCenter 基於目標表的主鍵和外鍵關系載入數據。
參數和變量
可以在 SQL 查詢、用戶定義的聯接和源限定符轉換的源過濾器中使用映射參數和變量。您還可以使用系統變量 $$$SessStartTime。PowerCenter 首先生成 SQL 查詢,並且使用它的開始值替換每個映射參數或變量, 然后在源數據庫上運行查詢。在源限定符轉換中使用字符串映射參數或變量時,請使用適合源系統的字符串標識符。大部分數據庫使用單引號作為字符串標識符。例如,要在 Microsoft SQL Server 數據庫表的源過濾器中使用字符串參數
IPAddress,則請用單引號將參數括起,即‘IPAddress'。有關詳情,請參閱您的數據庫文檔。
使用日期時間映射參數或變量時,或使用系統變量 $$$SessStartTime 時,可能需要將日期格式更改為源中使用的格式。PowerCenter 將日期時間參數和變量作為 SQL 查詢中的字符串傳遞至源系統。PowerCenter 將根據源數據庫將日期時間參數或變量轉換為字符串。
日期時間映射參數和變量的轉換
某些數據庫要求您用其它標點標識日期時間值,例如單引號或數據庫特定函數。例如,要為 Oracle 源轉換 $$$SessStartTime 值,請使用 SQL 覆蓋中的下列 Oracle 函數:to_date ('$$$SessStartTime', 'mm/dd/yyyy hh24:mi:ss')