차트 인터 레코드 함수의 예
Top 함수 예
이 예는 top 함수를 사용하여 작성되었지만 bottom, first, last 함수에도 유사한 방식으로 적용할 수 있습니다. 하지만 first 및 last 함수는 피벗 테이블에만 연결된다는 점에 유의하십시오.
예 1:
1차원 테이블에서 top 함수의 사용법을 보여주는 아래 일반표를 살펴보십시오.
Month | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|
- | 21 | 3 | 700% |
1 | 3 | 3 | 100% |
2 | 7 | 3 | 233% |
3 | 11 | 3 | 367% |
1차원의 경우 top 함수는 항상 테이블의 첫 번째 데이터 행을 참조합니다(전체 행은 포함되지 않음).
합계는 특정 열 세그먼트(이 경우에는 전체 열)와 분명히 연결되어 있으므로 합계 행에서는 top 함수를 사용하는 표현식이 올바르게 평가되는 것을 알 수 있습니다.
예 2:
아래는 Grp 필드를 1차 기준으로 사용하여 정렬된 2차원 일반표입니다.
Month | Grp | sum(Val) | top(sum(Val)) | top(total sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | 1 |
1 | A | 1 | 1 | 1 |
2 | A | 3 | 1 | 1 |
3 | A | 5 | 1 | 1 |
1 | B | 2 | 2 | 1 |
2 | B | 4 | 2 | 1 |
3 | B | 6 | 2 | 1 |
total 한정자가 없는 top 함수는 이제 가장 안쪽 정렬 그룹(이 예에서는 Grp 차원) 내의 맨 위 행에서 평가된 표현식을 반환합니다. Grp = A에 대해 하나, Grp = B에 대해 하나의 값이 반환됩니다.
다중 차원 사례에 total 한정자를 사용하면 모든 행에 동일한 값이 반환되는 동시에 절대 상단 행을 다시 참조할 수 있습니다. 물론 표현식은 전체 열에 걸친 열 세그먼트에 대해 평가됩니다.
total 한정자 없이 top 함수를 사용하는 표현식의 경우 특정 열 세그먼트와 분명히 연결될 수 없으므로 전체 행에서 NULL로 평가됩니다.
이제 위 일반표를 모든 합계가 활성화된 피벗 테이블로 변환하겠습니다.
Month | Grp | sum(Val) | top(sum(Val)) | top(total sum(Val)) |
---|---|---|---|---|
1 | A | 1 | 1 | 1 |
1 | B | 2 | 1 | 1 |
1 | 합계 | 3 | 1 | - |
2 | A | 3 | 3 | 1 |
2 | B | 4 | 3 | 1 |
2 | 합계 | 7 | 3 | - |
3 | A | 5 | 5 | 1 |
3 | B | 6 | 5 | 1 |
3 | 합계 | 11 | 5 | - |
합계 | - | 21 | - | 1 |
total 한정자 없이 top 함수를 사용하는 표현식의 경우 특정 열 세그먼트와 분명히 연결될 수 없으므로 전체 행에서 NULL로 평가됩니다. 하지만 각 열 세그먼트에서 모든 부분합이 평가됩니다.
total 한정자를 사용하는 표현식의 경우 부분합 내에 값이 없지만 총 합계 행 내의 값을 반환합니다.
예 3:
Grp 필드를 기준으로 정렬된 다음 일반표를 살펴보십시오.
Month | Grp | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | - |
1 | A | 1 | 1 | 100% |
2 | A | 3 | 1 | 300% |
3 | A | 5 | 1 | 500% |
1 | B | 2 | 2 | 100% |
2 | B | 4 | 2 | 200% |
3 | B | 6 | 2 | 300% |
차트가 Month 필드를 1차 기준으로 사용하여 정렬되도록 필드 간 정렬 순서를 변경하여 계속 진행할 수 있습니다. 이제 표는 다음과 같이 표시됩니다.
Month | Grp | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | - |
1 | A | 1 | 1 | 100% |
1 | B | 2 | 1 | 200% |
2 | A | 3 | 3 | 100% |
2 | B | 4 | 3 | 133% |
3 | A | 5 | 5 | 100% |
3 | B | 6 | 5 | 120% |
Above 함수 예
이 예는 above 함수를 사용하여 작성되었지만 below, before, after 함수에도 유사한 방식으로 적용할 수 있습니다. 하지만 before 및 after 함수는 피벗 테이블에만 연결된다는 점에 유의하십시오.
예 4:
1차원 테이블에서 above 함수의 사용법을 보여주는 아래 일반표를 살펴보십시오.
Month | sum(Val) | above(sum(Val)) | sum(Val) / above(sum(Val)) |
---|---|---|---|
- | 21 | - | - |
1 | 3 | - | - |
2 | 7 | 3 | 233% |
3 | 11 | 7 | 157% |
세 번째 열은 현재 행보다 하나 위의 행을 평가한 sum(Val) 표현식을 보여주며, 이는 두 번째 열의 sum(val) 값을 비교하여 확인할 수 있습니다. 첫 번째 행의 경우 표현식을 평가할 위쪽 행이 없으므로 above 함수가 NULL을 반환합니다. 모든 합계 행에서 above 함수는 항상 NULL을 반환합니다.
네 번째 열은 이 함수의 가장 일반적인 사용 예인 서로 다른 시간 간격 사이의 차이를 계산하는 경우를 보여줍니다.
예 5:
아래 2차원 피벗 테이블을 살펴보십시오.
Grp | Month | sum(Val) | above(sum(Val)) | above(total sum(Val)) |
---|---|---|---|---|
A | 1 | 1 | - | - |
A | 2 | 3 | 1 | 1 |
A | 3 | 5 | 3 | 3 |
A | 합계 | 9 | - | - |
B | 1 | 2 | - | 5 |
B | 2 | 4 | 2 | 2 |
B | 3 | 6 | 4 | 4 |
B | 합계 | 12 | - | - |
합계 | - | 21 | - | - |
total 한정자가 없는 above 함수(세 번째 열)는 각 정렬 그룹 내에서만 동작합니다. 각 열 세그먼트의 맨 위 행에서는 NULL 값이 반환됩니다.
total 한정자를 추가하면(네 번째 열) 전체 열이 하나의 열 세그먼트로 간주됩니다. 맨 위 행만 NULL을 반환합니다. 모든 합계 행이 무시되며 NULL을 반환합니다.
RowNo 및 NoOfRows 함수 예
이 예는 RowNo 및 NoOfRows 함수를 사용하여 작성되었지만 ColumnNo 및 NoOfColumns 함수에도 유사한 방식으로 적용할 수 있습니다. 하지만 ColumnNo 및 NoOfColumns 함수는 피벗 테이블에만 연결된다는 점에 유의하십시오.
예 6:
아래 2차원 피벗 테이블을 살펴보십시오.
Month | Grp | RowNo() | RowNo(total) | NoOfRows() | NoOfRows(total) |
---|---|---|---|---|---|
1 | A | 1 | 1 | 2 | 6 |
1 | B | 2 | 2 | 2 | 6 |
1 | 합계 | 0 | - | 2 | - |
2 | A | 1 | 3 | 2 | 6 |
2 | B | 2 | 4 | 2 | 6 |
2 | 합계 | 0 | - | 2 | - |
3 | A | 1 | 5 | 2 | 6 |
3 | B | 2 | 6 | 2 | 6 |
3 | 합계 | 0 | - | 2 | - |
합계 | - | - | 0 | - | 6 |
- 열 3 RowNo 함수는 각 정렬 그룹 열 세그먼트 내의 행 수를 반환합니다. 소계 행의 경우 해당 합계가 분명히 특정 열 세그먼트에 속하므로 행 수 0이 반환됩니다. 총 합계 행에서는 NULL이 반환됩니다.
- 열 4 total 한정자가 있는 RowNo 함수는 전체 열 내의 행 수를 반환합니다. 소계 행에서는 NULL 값이 반환됩니다. 총 합계 행에서는 0이 반환됩니다.
- 열 5 NoOfRows 함수는 각 정렬 그룹 열 세그먼트 내의 데이터 행 수를 반환합니다. 소계 행에서는 데이터 행과 동일한 숫자가 반환됩니다. 총 합계 행에서는 NULL이 반환됩니다.
- 열 6 total 한정자가 있는 NoOfRows 함수는 총 합계 행에서 반환되는 것과 같은 방식으로 전체 열 내의 데이터 행 수를 반환합니다. 소계 행에서는 NULL이 반환됩니다.