共用方式為


對應資料流中的視窗函式

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用 (部分機器翻譯)!

Azure Data Factory 和 Azure Synapse Pipelines 中均可使用資料流。 本文適用於對應資料流。 若您不熟悉轉換作業,請參閱簡介文章使用對應資料流轉換資料

下列文章提供對應資料流中 Azure Data Factory 和 Azure Synapse Analytics 所支援視窗函式的詳細資料。

視窗函式清單

下列函式僅適用於視窗轉換。

視窗函式 Task
cumeDist CumeDist 函式會計算某個值與分割區中所有值的相對位置。 依照分割區的排序,將目前資料列 (含此列) 之前的列數,除以視窗分割區中的總列數,即為結果。 排序中的任何相等值都會評估為相同的位置。
denseRank 在視窗的 order by 子句中指定的值群組中,計算某個值的順位。 依照分割區的排序,將目前資料列 (含此列) 之前的列數加一,即為結果。 這些值不會在序列中產生間距。 即使資料未排序,也可進行密集排名,並且尋找值的變化。
lag 取得第一個參數對目前資料列之前的 n 個資料列評估的值。 第二個參數是要回溯查看的資料列數目,預設值為 1。 如果沒有那麼多資料列,則會傳回 null 值,除非指定了預設值。
lead 取得第一個參數對目前資料列之後的 n 個資料列評估的值。 第二個參數是要正向查看的資料列數目,預設值為 1。 如果沒有那麼多資料列,則會傳回 null 值,除非指定了預設值。
nTile NTile 函式會將每個視窗分割區中的資料列分成 n 個貯體,範圍從 1 到 n。 貯體值的最大差異為 1。 如果分割區中的資料列數目無法平均分成貯體數,其餘值將會逐一均分給各個貯體,從第一個貯體開始。 在計算 tertiles、四分位數、十分位數和其他常見的摘要統計資料時,NTile 函式很有用。 此函數會在初始化期間計算兩個變數:一般貯體的大小將會新增一個額外的資料列。 這兩個變數都是以目前分割區的大小為基礎。 在計算過程中,此函式會追蹤目前的資料列數目、目前的貯體數目,和貯體將有所變更的資料列號碼 (bucketThreshold)。 當目前的資料列數目達到貯體閾值時,貯體值將會加一,而閾值會依貯體大小增加 (如果目前的貯體已填補,則額外再加一)。
rank 在視窗的 order by 子句中指定的值群組中,計算某個值的順位。 依照分割區的排序,將目前資料列 (含此列) 之前的列數加一,即為結果。 這些值會在序列中產生間距。 即使資料未排序,也可進行排名,並且尋找值的變化。
rowNumber 為視窗中的資料列指派循序的資料列編號,從 1 開始。