LookupRows轉換會查看具有相同追蹤ID的其他記錄項目,並將輸出欄位的值設定為輸入列中指定欄位的值。
由於LookupRows轉換會對記錄項目執行其查閱,而非查閱檔案,因此與CrossRows轉換非常類似。 請參閱CrossRows。
若要運作,LookupRows轉換需要及時排序資料,並依來源資料中的追蹤ID分組。 因此,LookupRows僅在Transformation.cfg檔案或Transformation Dataset Include檔案中定義時有效。
查看下表中參數的說明時,請記住以下幾點:
參數 | 說明 | 預設 |
---|---|---|
名稱 | 轉換的描述性名稱。 您可以在此輸入任何名稱。 | |
註解 | 選填。轉換的相關附註。 | |
條件 | 將轉換的輸出限制為某些日誌條目。 如果不滿足特定日誌條目的條件,則「輸出行值輸出」參數中的欄位保持不變。 輸入仍可用於影響其他日誌條目。 | |
輸入條件 | 僅從某些輸入行接受轉換的輸入。 如果特定輸入行的輸入條件不滿足,則忽略該行的輸入欄位,而不會影響其他輸出行。 不過,該列的輸出欄位仍會根據指定的條件進行修改。 | |
輸入行鍵輸入 | 要用作輸入行鍵的欄位的名稱。 | |
輸入行值輸入 | 如果滿足所有條件,則輸入行中欄位的名稱,其值將複製到輸出行值輸出參數中的欄位。 | |
操作 | 對於每個輸出行,對滿足由輸入條件和輸入行鍵輸入參數定義的所有條件的所有輸入行應用以生成輸出的操作:
|
|
輸出行鍵輸入 | 要用作輸出行鍵的欄位的名稱。 | |
輸出行值輸出 | 如果滿足所有條件,則輸出行中的欄位名稱,其值是從輸入行值輸入參數中的欄位複製而來。 所有具有相同x-trackingid和輸出行鍵輸入值的輸出行都具有相同的輸出行值輸出值。 |
輸入行鍵輸入、輸入行值輸入和輸入條件參數一起定義每個跟蹤ID的查找檔案,而輸出行鍵輸入、輸出行值輸入和條件參數控制檔案中查找的內容和輸出行值輸出指定的欄位中儲存的值。
為了更好地了解轉換的操作,請考慮以下大綱:
對於滿足條件且具有非空輸出行鍵輸入的每個輸出行:
查找FIRST或LAST輸入行,以便
並將輸出行的輸出行值輸出設定為輸入行的輸入行值輸入。
LookupRows的考量事項
空白鍵值永遠不會與任何項目相符。 即使輸入行包含空白鍵和非空白值,這些值與Input Condition匹配,「」的Output Row Key Input將始終生成「」的Output Row Value Output。
如果Input Condition未禁止,如果行的Input Row Key Input和Output Row Key Input值相同,則行可能自查。
如果您有多個鍵值,則可以在套用LookupRows轉換之前,使用Format轉換(請參閱Format)來組合它們。
假設您有一個網站,該網站有一個寵物註冊頁面,輸入了寵物名稱和品種,而後一個「購買玩具」頁面只使用寵物名稱。 您希望能夠將寵物名稱與在註冊頁面上輸入的寵物品種連結起來。 若要這麼做,您可以建立下列LookupRows轉換:
讓我們使用上一個大綱分析此示例:
對於滿足cs-uri-query(petname)非空值的每個輸出行:
查找LAST輸入行,這樣
並將輸出行x-pet-breed的值設定為輸入行cs-uri-query(petbreed)的值。
LookupRows轉換使用寵物名稱(索引鍵)來確保寵物品種與寵物註冊和購買玩具頁面都相連結,以便您能夠分析每種寵物所購買的玩具,即使是有多隻寵物的訪客。