계산된 컬럼에서 OVER 문 사용

데이터에 대해 계산을 수행하고, 그 결과를 데이터 테이블에 추가된 새 컬럼에 값으로 표시할 수 있습니다. 계산에 사용된 표현식에서 OVER 문을 사용할 수 있습니다. 하지만 계산된 컬럼에서 OVER 문 사용은 사용자 지정 표현식에서 사용할 때와 다르게 작동합니다. 계산된 컬럼에는 OVER 표현식이 사용되어 여러 그룹에 대한 별도의 고정된 값을 계산하는데 OVER 표현식 사용 시 데이터가 더 적은 수의 레코드로 슬라이스될 수 있습니다.

주: 계산된 컬럼은 데이터 필터링 방법에 상관없이 항상 컬럼의 모든 값에 대해 계산됩니다.

계산된 컬럼을 사용할 때는 사용자 지정 표현식의 경우처럼 탐색에 사용할 수 있는 축이 없습니다. 대신 OVER 표현식을 사용하여 데이터 컬럼(또는 계층)을 참조합니다.

아래 데이터 테이블에서는 추가된 컬럼의 값 계산에 표현식

Sum([Sales]) OVER ([Fruit])

가 사용됩니다.



즉 각 행에 대해 해당 과일 종류의 총 판매량 합계가 새 컬럼에 표시됩니다. 예를 들어 사과의 총 판매량은 200(30+70+100)이므로 이 값이 모든 'Apples' 행에 표시됩니다. 더 적은 값으로 슬라이스하는 효과입니다(200 및 100).
주: 이후 데이터가 필터링될 때 새 컬럼 값은 변경되지 않습니다. 예를 들어 맨 위의 데이터 행이 필터링될 경우, 'Apples' 행의 계산된 컬럼 값은 계속 200입니다.

확장된 예제

레코드가 더 적은 계산된 컬럼은 표준 컬럼으로 그다지 유용하지 않을 수 있습니다. 하지만 사용된 표현식의 일부로 이전 표현식이 포함된 다른 컬럼을 추가해 보겠습니다.

[Sales] / (Sum([Sales]) OVER ([Fruit]))



이 표현식은 해당 과일 종류 내에서 총 판매량에 대한 각 판매 거래의 연도별 상대적 기여도를 계산합니다. 예를 들어 2015년에는 총 사과 판매량의 15%(30/200)이고 2016년에는 35%(70/200), 2017년에는 나머지인 50%(100/200)입니다.

아래 막대 그래프에서는 Sum 집계를 사용하여 Value 축에서 계산된 컬럼이 선택되었습니다.



사실 이 값은 Sum([Sales])을 표시하는 막대 그래프에서 100% 스택 막대 옵션을 사용할 때와 동일합니다.

계산된 컬럼에서 노드 탐색 방법과 OVER 결합

컬럼의 계산에 사용되는 표현식에서 OVER 문을 노드 탐색 방법과 결합하여 사용할 수 있습니다. 이 예에서는 방법 중 하나인 Previous()를 사용하는 방법을 소개합니다.

데이터 테이블에는 매주 측정된 신생아 체중이 나열되며 선 그래프에 시각화됩니다.





주 단위 성장에 관심이 있다고 가정하겠습니다. 이 경우 다음 표현식을 사용하여 계산할 수 있습니다.

[Weight (g)] - Sum([Weight (g)]) OVER (Previous([Week]))

결과는 아래의 막대 그래프 및 데이터 테이블에서 볼 수 있습니다.