

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# RATIO\$1TO\$1REPORT 창 함수
<a name="r_WF_RATIO_TO_REPORT"></a>

창 또는 파티션에서 값의 합에 대한 임의의 값 비율을 계산합니다. 값의 비율을 구하는 공식은 다음과 같습니다.

`value of `*ratio\$1expression* `argument for the current row / sum of` *ratio\$1expression* `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\$1expression*이 NULL이면 반환 값은 `NULL`입니다. *partition\$1expression*의 값이 고유한 경우 함수는 해당 값에 대해 `1`을 반환합니다.

## 구문
<a name="r_WF_RATIO_TO_REPORT-synopsis"></a>

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

## 인수
<a name="r_WF_RATIO_TO_REPORT-arguments"></a>

*ratio\$1expression*   
비율을 결정할 값을 제공하는 표현식(열 이름 등)입니다. 이 표현식은 숫자 데이터 형식을 갖거나, 혹은 묵시적으로 1로 변환될 수 있어야 합니다.  
그 외에 다른 분석 함수는 *ratio\$1expression*에서 사용할 수 없습니다.

OVER  
창 파티션을 지정하는 절입니다. OVER 절에는 창 순서 또는 창 프레임 명세가 포함될 수 없습니다.

PARTITION BY *partition\$1expression*   
선택 사항입니다. OVER 절에서 각 그룹의 레코드 범위를 설정하는 표현식입니다.

## 반환 타입
<a name="r_WF_RATIO_TO_REPORT-return-type"></a>

FLOAT8

## 예제
<a name="r_WF_RATIO_TO_REPORT-examples"></a>

아래 예에서는 WINSALES 테이블을 사용합니다. WINSALES 테이블 생성 방법에 대한 자세한 내용은 [창 함수 예제를 위한 샘플 테이블](c_Window_functions.md#r_Window_function_example) 섹션을 참조하세요.

다음 예에서는 모든 셀러 수량의 합계에 대한 셀러 수량의 각 행의 보고서 대비 비율 값을 계산합니다.

```
select sellerid, qty, ratio_to_report(qty) 
over()
from winsales
order by sellerid;

sellerid  qty    ratio_to_report
--------------------------------------
1         30     0.13953488372093023	
1         10     0.046511627906976744	
1         10     0.046511627906976744	
2         20     0.09302325581395349	
2         20     0.09302325581395349	
3         30     0.13953488372093023	
3         20     0.09302325581395349	
3         15     0.06976744186046512	
3         10     0.046511627906976744	
4         10     0.046511627906976744	
4         40     0.18604651162790697
```

다음은 파티션별로 각 판매자의 판매 수량에 대한 비율을 계산하는 예입니다.

```
select sellerid, qty, ratio_to_report(qty) 
over(partition by sellerid) 
from winsales;

sellerid   qty    ratio_to_report
-------------------------------------------
2          20     0.5	
2          20     0.5	
4          40     0.8	
4          10     0.2	
1          10     0.2	
1          30     0.6	
1          10     0.2	
3          10     0.13333333333333333	
3          15     0.2	
3          20     0.26666666666666666	
3          30     0.4
```