IntervalMatch (延伸語法)
延伸的 IntervalMatch 前置詞可用來建立一個表格,比對離散數值與一個或多個數值間隔,同時比對一或數個其他索引鍵的值。
這是相當強大而有彈性的功能,可用來連結維度隨時間變化的交易:緩慢變化的維度。
IntervalMatch 前置詞必須放在載入間隔的 Load 或 Select 陳述式之前。包含離散資料點和其他索引鍵的表格必須先載入到 QlikView 之中含 IntervalMatch 前置詞的陳述式之前。此前置詞會將載入的間隔和索引鍵表格轉換為包含額外一個資料行的表格:離散數值資料點。它也會延伸記錄筆數,讓新的表格在索引鍵欄位的離散資料點、間隔和值三者的各個可能組合中都有一筆記錄。
語法為:
intervalmatch (matchfield,keyfield1 [ , keyfield2, ... keyfield5 ] ) (loadstatement | selectstatement )
matchfield 是包含離散數值的欄位,這些離散數值將連結至間隔。
keyfield(s) 是包含其他屬性的欄位,其他屬性將在轉換中進行比對。
loadstatement 或 selectstatement 必須產生一個表格,其中的前兩個欄位包各個間隔的上下限,而第三個欄位及後續的任何欄位包含 IntervalMatch 陳述式中出現的 keyfield(s)。間隔一定是封閉的,也就是說,結束點是包括在間隔內。非數值的限制會使得間隔被忽略 (未定義)。
為了避免忽略到未定義的間隔限制,可能必須允許 NULL 值對應到構成間隔上下限的其他欄位。這種情況可由 NullAsValue 陳述式處理,或由任何離散數值資料點前後以數值取代 NULL 的明確測試來處理。
範例:
Inner Join IntervalMatch (Date,Key) LOAD FirstDate, LastDate, Key resident Key;