[]
필드는 PivotEngine이 원시 데이터를 요약할 수 있도록 정보를 포함하고 있습니다. 이들은 PivotField 클래스에 의해 표현되며, 데이터의 출처와 요약 및 표시 방법을 사용자 정의할 수 있는 속성을 가지고 있습니다.
PivotField 클래스의 주요 속성은 다음과 같습니다:
binding: 필드가 원시 데이터 객체의 어떤 속성을 나타내는지를 결정.
header: 필드의 요약 결과를 표시하는 데 사용되는 제목을 결정.
format: 필드의 요약 결과가 어떻게 형식화되거나 데이터를 나누는 데 사용되는지를 결정.
aggregate: 원시 데이터가 출력 요약에서 어떻게 집계되는지를 결정. 가능한 값으로는 합계, 개수, 평균, 최대, 최소 등이 있
PivotField의 format 속성은 원시 값이 표시(측정 필드) 및 값을 그룹으로 나누는 방법(차원 필드)에 대해 어떻게 형식화되는지를 결정합니다.
이 예시는 차원 필드의 포맷 속성을 변경하면 데이터 그룹화 방식이 어떻게 달라지는지를 보여줍니다. 필드 포맷이 분기를 표시하면 데이터가 분기로 그룹화되고, 월을 표시하면 데이터가 월 단위로 그룹화됩니다.
// customize the "Period" field
let fld = ng.fields.getField('Period');
fld.format = 'yyyy';
PivotField.showAs 속성은 필드 값이 표시되기 전에 수행할 일반적인 계산을 지정할 수 있게 해줍니다.
이 속성의 옵션은 ShowAs 열거형에 의해 정의되며, 이전 행이나 열의 값과의 차이, 행, 열 또는 전체 합계에 대한 백분율, 누적 합계 등을 포함합니다.
// customize the "Period" field
let fld = ng.fields.getField('Period');
fld.showAs = wjOlap.ShowAs.PctCol;
ShowAs 열거형은 API에서 여기서 설명됩니다.
PivotEngine은 데이터를 요약할 때 차원(행 및 열) 필드를 자동으로 정렬합니다. 기본적으로 측정값(값) 필드는 정렬하지 않습니다.
정렬에 대한 자세한 내용은 "Sorting Fields" 주제를 참조해주세요.
PivotField의 isContentHtml 속성을 사용하여 일반 텍스트 대신 HTML을 포함하는 필드를 렌더링할 수 있습니다.
ng.fields.getField('Buyer').isContentHtml = true;
ng.fields.getField('Type').isContentHtml = true;
// single data object
...
{
date: new Date(yr, 0, 1),
buyer: '<span class="initial">M</span>om',
type: '<span class="initial">F</span>uel',
amount: 74
},
...
Buyer 와 type 필드는 문자열이지만 HTML 태그를 포함하고 있어 PivotGrid에서 HTML로 렌더링할 수 있습니다.
경우에 따라 원시 값 대신 계산된 값을 요약하고 싶을 수 있습니다.
해당 작업은 원시 데이터 항목에 계산된 값을 추가하거나, getValue 속성이 원시 항목의 값을 계산하는 함수로 설정된 사용자 정의 필드를 추가하여 수행할 수 있습니다.
이 예제는 두 번째 접근 방식을 보여줍니다. PivotEngine에 두 개의 계산된 필드를 추가합니다:
Range: "sales" 속성의 값에 따라 "High", "Low" 또는 "Medium" 값을 포함하는 계산된 차원 필드
Conversion: 판매와 다운로드 간의 비율을 포함하는 계산된 측정값 필드