對應

mapping 前置詞可用來建立對應表,例如,對應表可用於在指令碼執行期間取代欄位值和欄位名稱。

Syntax:  

Mapping( loadstatement | selectstatement )

 

mapping 前置詞可以放在 LOADSELECT 陳述式的前面,而且將載入陳述式的結果另存為對應表格。對應提供有效的方法在指令碼執行期間替換欄位值,例如,將 US、U.S. 或 America 替換為 USA。對應表由兩個資料行組成,第一個包含比較值,第二個包含所需的對應值。對應表會暫時儲存在記憶體中,並且在指令碼執行後自動捨棄。

例如,使用 Map … Using 陳述式、Rename Field 陳述式、Applymap() 函數或 Mapsubstring() 函數,即可存取對應表格的內容。

Example:  

在此範例中,我們載入銷售人員清單,并使用國家/地區代碼表示其居住國家/地區。我們使用表格將國家/地區代碼對應至國家/地區,將國家/地區代碼取代為國家/地區名稱。對應表格中僅定義三個國家/地區,其他國家/地區代碼對應至 'Rest of the world'

// Load mapping table of country codes: map1: mapping LOAD * Inline [ CCode, Country Sw, Sweden Dk, Denmark No, Norway ] ; // Load list of salesmen, mapping country code to country // If the country code is not in the mapping table, put Rest of the world Salespersons: LOAD *, ApplyMap('map1', CCode,'Rest of the world') As Country Inline [ CCode, Salesperson Sw, John Sw, Mary
Sw, Per Dk, Preben Dk, Olle No, Ole Sf, Risttu] ; // We don't need the CCode anymore Drop Field 'CCode';

產生的表格如下所示:

Salesperson Country
John Sweden
Mary Sweden
Per Sweden
Preben Denmark
Olle Denmark
Ole Norway
Risttu Rest of the world