RATIO_TO_REPORT 視窗函數 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

RATIO_TO_REPORT 視窗函數

計算視窗或分割區內值與值總和的比率。使用下列公式決定報告值的比率:

value of ratio_expression argument for the current row / sum of ratio_expression argument for the window or partition

以下資料集示範此公式的使用:

Row# Value Calculation RATIO_TO_REPORT 1 2500 (2500)/(13900) 0.1798 2 2600 (2600)/(13900) 0.1870 3 2800 (2800)/(13900) 0.2014 4 2900 (2900)/(13900) 0.2086 5 3100 (3100)/(13900) 0.2230

傳回值範圍是 0 至 1 (含)。如果 ratio_expression 為 NULL,則傳回值為 NULL。

Syntax (語法)

RATIO_TO_REPORT ( ratio_expression ) OVER ( [ PARTITION BY partition_expression ] )

引數

ratio_expression

此表達式 (例如欄名) 提供要決定比率的值。表達式必須為數值資料類型,或可隱含地轉換為數值資料類型。

您不能在 ratio_expression 中使用其他任何分析函數。

OVER

用於指定視窗分割的子句。OVER 子句不能包含視窗排序或視窗框規格。

PARTITION BY partition_expression

選用。此表達式針對 OVER 子句中的每一個群組,設定記錄範圍。

傳回類型

FLOAT8

範例

以下範例計算每一個賣方的銷售數量比例:

select sellerid, qty, ratio_to_report(qty) over (partition by sellerid) from winsales; sellerid qty ratio_to_report ------------------------------------------- 2 20.12312341 0.5 2 20.08630000 0.5 4 10.12414400 0.2 4 40.23000000 0.8 1 30.37262000 0.6 1 10.64000000 0.21 1 10.00000000 0.2 3 10.03500000 0.13 3 15.14660000 0.2 3 30.54790000 0.4 3 20.74630000 0.27

如需 WINSALES 資料表的描述,請參閱窗口函數概述示例