注意:轉換屬於基礎程式語言的一部分,使用者無法直接存取。本篇文章的內容僅供參考。
window
轉換可讓您依據現有資料列相關資料的累計範圍,執行加總與計算作業。例如,您可以計算指定資料欄的現行資料列值和前三列的累計平均。此轉換步驟特別適合用於處理時間或序列資料。
您可以對 window
轉換步驟套用一或多個函式。
注意事項:對大量的資料列套用此轉換時,請小心謹慎。在某些情況下,應用程式可能會在產生結果時耗盡記憶體,導致轉換失敗。
基本用法
window value: ROLLINGAVERAGE(myValues,3) order: MyDate group: customerId
輸出:產生名為 window
的新資料欄,其中包含對 myValues
資料欄的現行資料列到前 3
列套用 ROLLINGAVERAGE
函式的結果,按 MyDate
排序且依 customerId
分組。
參數
window value: WINDOW_FUNCTION(arg1,arg2) order: order_col [group: group_col]
符記 | 是否必要? | 資料類型 | 說明 |
---|---|---|---|
window | 是 | 轉換 | 轉換指令的名稱 |
value | 是 | 字串 | 運算式,得出的結果為窗型函式呼叫及其參數 |
order | 是 | 字串 | 在套用 value 運算式前,用來排序資料集的資料欄或資料欄名稱 |
group | 否 | 字串 | 資料欄名稱,包含分組計算所依據的值 |
如要進一步瞭解語法標準,請參閱語言文件語法附註一文。
value
在 window
轉換中,value
參數含有一或多個函式呼叫,這些呼叫定義要套用函式的資料列集。
您可以針對該值指定數個窗型函式。每個函式參照必須以逗號分隔。系統會在轉換中為每個窗型函式產生新的資料欄。
這個轉換使用特殊的函式集。如要進一步瞭解可用的函式,請參閱窗型函式。
使用須知:
是否必要? | 資料類型 |
---|---|
是 | 字串 (運算式) |
order
在 window
轉換中,此參數用於在套用指定函式前指定要排序資料集的資料欄。在排序鍵組合中,您可以加入多個以逗號分隔的資料欄。
注意事項:order 參數必須明確指定資料順序,否則產生的結果可能會隨著工作執行而改變。
注意事項:如果您要套用窗型函式,則需要主鍵才能識別輸出中的資料列。否則會得到不清楚的結果。如要進一步瞭解如何定義主鍵,請參閱窗型函式一文。
注意:如果有主鍵,則資料集會先按 group
值分組,然後依照 order
資料欄的值排序。
注意:對 order
資料欄執行 window
轉換前不需要排序。
提示:如要反向排序,請在資料欄名稱前加上連字號 (-MyDate
)。
使用須知:
是否必要? | 資料類型 |
---|---|
是 | 字串 (資料欄名稱) |
group
在 window
轉換中,此參數會在套用指定函式前指定資料欄,且該資料欄的值用於將資料集進行分組。在分組組合中,您可以指定多個以逗號分隔的資料欄名稱。
附註:如使用 group
參數執行轉換,則會在資料網格中產生非確定性的重新排序。
使用須知:
是否必要? | 資料類型 |
---|---|
否 | 字串 (資料欄名稱) |
範例
如要查看個別函式的範例,請參閱窗型函式。