데이터 그룹
setGroup
setGroup은 특정 컬럼(key)을 기준으로 데이터를 그룹화하여 효율적이고 효과적으로 활용할 수 있도록 돕는 API입니다.
이 기능은 지정된 컬럼을 중심으로 데이터를 체계적으로 분류하고 집계하여, 데이터 분석과 시각화를 보다 쉽게 수행할 수 있게 합니다.
그룹화 type
은 ("normal" | "tree" | "step" | "group") 총 4가지로 나뉘어지며 초기값은 normal입니다.
그룹화 type의 정렬 옵션인 sort
는 ("asc" | "desc" | "none")은 총 3가지로 나뉘어지며 초기값은 none입니다.
※ asc는 오름차순, desc는 내림차순입니다.
outer
outer는 group 기능 중 header(최상단)과 footer(최하단)에 text를 출력하는 속성입니다.
outerCallback
Group(set/clear) outer의 outerCallback 콜백 함수입니다.
outerCallback은 key 값과 value 값을 가져와 사용할 수 있는 콜백 함수로
합계, 평균, 반올림, 금액의 2배를 곱한 값의 합계, 사용자 별 구매 금액에 구매 개수를 나눈 값에 대한 평균 등을 구할 수 있습니다.
QCell1.setGroup({
type : "normal",
sort : "asc",
columns : [
{
key : "region",
footer : {
"name": ["소 계"],
"capacity": ["sum()", "명"],
.
.
.
}
},
{
key : "goongu",
footer : {
"sido" : ["군구: " : "groupvalue(0)", "의 Footer"],
"goongu": ["읍면동 갯수: ", "count()"],
.
.
.
}
},
.
.
.
],
outer: [{
header: {
"name": ["평 균"],
"capacity": ["average()", "명"],
},
outerCallback : function (key, value){
//alert(key + ' ' + value);
if(key === 'capacity')
if(isNaN(value) == false)
value = value.toFixed(2); //소수점 2번째 자리로 반올림
return value;
},
footer: {
"name": ["합 계"],
"capacity": ["sum()", "명"],
},
},
]
});
columns
은 그룹화 할 컬럼들의 정보이며 Type은 Array.<Object>입니다. Name | Parameters | Description | Return Type |
---|---|---|---|
childcount | 없음 | number | |
count | 없음 | 전체 자식노드들의 갯수 | number |
countif | countif(colkey, value) | 전체 자식노드들 중에서 지정한 컬럼의 데이터가 기준값과 동일한 자식노드들의 갯수 | number |
sum | sum(colkey) | 전체 자식노드 데이터들의 총합(colkey값 미입력 시 데이터를 표시 할 컬럼의 키값으로 설정) | number |
average | average(colkey) | 전체 자식노드 데이터들의 평균(colkey값 미입력 시 데이터를 표시 할 컬럼의 키값으로 설정) | number |
groupvalue | groupvalue(grouplevel) | 그룹 헤더/푸터가 그려진 기준이 되는 그룹의 값 | string |
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
key | string | 그룹화 할 컬럼의 키값 | ||
expand | boolean | <optional> | true | "tree", "step" 그룹화 타입 사용 시 펼침 여부 설정("normal"과 "group" 그룹화 타입 사용 시 사용불가) |
header | Object.<key:string, celldata:Array> | <optional> | {} | 그룹화 시 표시 할 그룹 헤더 행 정보 |
footer | Object.<key:string, celldata:Array> | <optional> | {} | 그룹화 시 표시 할 그룹 푸터 행 정보 |
Name | Type | Description |
---|---|---|
key | string | 그룹 헤더 행에 데이터를 표시 할 컬럼의 키값 |
celldata | Array.<string> | 그룹 헤더 행에 표시 할 텍스트 데이터 배열(텍스트 or 통계함수) |
Step 1: 'normal'
QCELL의 가장 기본적인 그룹화 타입을 제공합니다.
'normal'
Step 2: 'tree'
QCELL의 트리 형태의 그룹화 타입을 제공합니다.
'tree'
Step 3: 'step'
QCELL의 step 형태의 그룹화 타입을 제공합니다.
tree 형태와 거의 동일하나 접힘과 펼침을 설정한 columns의 'key'와 동일한 col에서 출력됩니다.
전체 데이터에 대한 header와 footer를 설정할 수 있습니다.
'step'
# Step 4: 'group'
QCELL의 group 형태의 그룹화 타입을 제공합니다.
'group'