데이터 그룹

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



Properties
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> {} 그룹화 시 표시 할 그룹 푸터 행 정보
footer와 header의 Properties
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'