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 (0 と 1 を含みます) です。ratio_expression が NULL である場合、戻り値は NULL です。

構文

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 テーブルの説明については、「ウィンドウ関数の概要の例」を参照してください。