객체와 객체 집합의 집계
Aggregate Objects는 객체 유형과 검색 조건으로, Aggregate Object Set은 객체 집합 정의로 대상을 선택합니다. 두 요청은 같은 집계 함수와 그룹 형식을 사용합니다.
집계 함수
count를 제외한 함수는 field 또는 propertyIdentifier 중 하나만 지정합니다. name은 응답의 지표 이름이며 정렬 방향은 대문자 ASC 또는 DESC를 사용합니다.
분기 approximateDistinct
속성의 서로 다른 값 수를 근사 계산합니다. field와 propertyIdentifier 중 하나만 지정합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: approximateDistinct. | approximateDistinct |
field | string | 선택 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
propertyIdentifier | PropertyIdentifier | 선택 | 객체 속성이나 구조체 필드의 식별자입니다. | |
name | string | 선택 | 집계 결과에 붙일 사용자 지정 이름입니다. | |
direction | enum | 선택 | 허용값: ASC, DESC. |
propertyIdentifier의 구조
속성 식별자를 사용합니다.
분기 min
속성의 최솟값을 계산합니다. field와 propertyIdentifier 중 하나만 지정합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: min. | min |
field | string | 선택 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
propertyIdentifier | PropertyIdentifier | 선택 | 객체 속성이나 구조체 필드의 식별자입니다. | |
name | string | 선택 | 집계 결과에 붙일 사용자 지정 이름입니다. | |
direction | enum | 선택 | 허용값: ASC, DESC. |
propertyIdentifier의 구조
속성 식별자를 사용합니다.
분기 avg
속성의 평균을 계산합니다. field와 propertyIdentifier 중 하나만 지정합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: avg. | avg |
field | string | 선택 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
propertyIdentifier | PropertyIdentifier | 선택 | 객체 속성이나 구조체 필드의 식별자입니다. | |
name | string | 선택 | 집계 결과에 붙일 사용자 지정 이름입니다. | |
direction | enum | 선택 | 허용값: ASC, DESC. |
propertyIdentifier의 구조
속성 식별자를 사용합니다.
분기 max
속성의 최댓값을 계산합니다. field와 propertyIdentifier 중 하나만 지정합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: max. | max |
field | string | 선택 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
propertyIdentifier | PropertyIdentifier | 선택 | 객체 속성이나 구조체 필드의 식별자입니다. | |
name | string | 선택 | 집계 결과에 붙일 사용자 지정 이름입니다. | |
direction | enum | 선택 | 허용값: ASC, DESC. |
propertyIdentifier의 구조
속성 식별자를 사용합니다.
분기 approximatePercentile
속성의 백분위 값을 근사 계산합니다. Object Storage V2가 필요합니다. field와 propertyIdentifier 중 하나만 지정합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: approximatePercentile. | approximatePercentile |
field | string | 선택 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
propertyIdentifier | PropertyIdentifier | 선택 | 객체 속성이나 구조체 필드의 식별자입니다. | |
name | string | 선택 | 집계 결과에 붙일 사용자 지정 이름입니다. | |
approximatePercentile | double | 필수 | ||
direction | enum | 선택 | 허용값: ASC, DESC. |
propertyIdentifier의 구조
속성 식별자를 사용합니다.
분기 count
전체 객체 수를 계산합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: count. | count |
name | string | 선택 | 집계 결과에 붙일 사용자 지정 이름입니다. | |
direction | enum | 선택 | 허용값: ASC, DESC. |
분기 sum
속성값의 합계를 계산합니다. field와 propertyIdentifier 중 하나만 지정합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: sum. | sum |
field | string | 선택 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
propertyIdentifier | PropertyIdentifier | 선택 | 객체 속성이나 구조체 필드의 식별자입니다. | |
name | string | 선택 | 집계 결과에 붙일 사용자 지정 이름입니다. | |
direction | enum | 선택 | 허용값: ASC, DESC. |
propertyIdentifier의 구조
속성 식별자를 사용합니다.
분기 exactDistinct
속성의 서로 다른 값 수를 정확히 계산합니다. 근사 집계보다 느릴 수 있으며 Object Storage V2가 필요합니다. field와 propertyIdentifier 중 하나만 지정합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: exactDistinct. | exactDistinct |
field | string | 선택 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
propertyIdentifier | PropertyIdentifier | 선택 | 객체 속성이나 구조체 필드의 식별자입니다. | |
name | string | 선택 | 집계 결과에 붙일 사용자 지정 이름입니다. | |
direction | enum | 선택 | 허용값: ASC, DESC. |
propertyIdentifier의 구조
속성 식별자를 사용합니다.
그룹 구분
기간 그룹은 날짜와 타임스탬프에 적용합니다. YEARS, QUARTERS, MONTHS, WEEKS를 사용하면 value를 1로 지정합니다. 범위 그룹의 구분자는 ranges이며 각 범위는 시작값을 포함하고 끝값을 제외합니다.
분기 duration
날짜 또는 타임스탬프를 기간으로 나눕니다. YEARS, QUARTERS, MONTHS, WEEKS를 사용하면 value는 1이어야 합니다. field와 propertyIdentifier 중 하나만 지정합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: duration. | duration |
field | string | 선택 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
propertyIdentifier | PropertyIdentifier | 선택 | 객체 속성이나 구조체 필드의 식별자입니다. | |
value | integer | 필수 | ||
unit | enum | 필수 | 허용값: MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS, WEEKS, MONTHS, YEARS, QUARTERS. |
propertyIdentifier의 구조
속성 식별자를 사용합니다.
분기 fixedWidth
지정한 폭으로 그룹을 나눕니다. field와 propertyIdentifier 중 하나만 지정합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: fixedWidth. | fixedWidth |
field | string | 선택 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
propertyIdentifier | PropertyIdentifier | 선택 | 객체 속성이나 구조체 필드의 식별자입니다. | |
fixedWidth | integer | 필수 |
propertyIdentifier의 구조
속성 식별자를 사용합니다.
분기 ranges
지정한 범위들로 그룹을 나눕니다. field와 propertyIdentifier 중 하나만 지정합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: ranges. | ranges |
field | string | 선택 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
propertyIdentifier | PropertyIdentifier | 선택 | 객체 속성이나 구조체 필드의 식별자입니다. | |
ranges | list<AggregationRangeV2> | 선택 |
propertyIdentifier의 구조
속성 식별자를 사용합니다.
ranges의 구조
배열 항목은 AggregationRangeV2이며 자료형은 object입니다.
시작값은 포함하고 끝값은 제외하는 범위입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
startValue | any | 필수 | 포함하는 시작값입니다. | |
endValue | any | 필수 | 제외하는 끝값입니다. |
분기 exact
같은 값을 기준으로 그룹을 나눕니다. field와 propertyIdentifier 중 하나만 지정합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: exact. | exact |
field | string | 선택 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
propertyIdentifier | PropertyIdentifier | 선택 | 객체 속성이나 구조체 필드의 식별자입니다. | |
maxGroupCount | integer | 선택 | 반환할 최대 그룹 수이며 기본값은 10,000입니다. 서버는 이 값에 따라 자원을 할당합니다. 고유값 수가 처리 가능한 범위 안에 있으면 정확한 결과와 올바른 상위 N개를 반환하지만, 범위를 넘으면 근사 결과가 될 수 있습니다. 정확한 고카디널리티 결과가 필요하면 고유값 수를 수용하도록 설정합니다. 한도를 넘겨 제외된 항목 수는 excludedItems로 반환하며 실제 정확도는 응답 accuracy로 확인합니다. | |
defaultValue | string | 선택 | 속성이 null인 객체를 지정한 기본값의 그룹에 포함합니다. includeNullValues와 함께 사용할 수 없습니다. | |
includeNullValues | boolean | 선택 | 속성이 null인 객체를 null 그룹에 포함합니다. defaultValue 또는 집계의 정렬절과 함께 사용할 수 없습니다. |
propertyIdentifier의 구조
속성 식별자를 사용합니다.
정확도와 제외된 항목
exact.maxGroupCount의 기본값은 10,000입니다. 고유값 수가 할당한 자원으로 처리할 수 있는 범위를 넘으면 결과가 근사치가 될 수 있습니다. 응답의 excludedItems는 한도를 넘겨 결과에서 제외된 항목 수입니다.
요청의 accuracy는 ALLOW_APPROXIMATE가 기본값입니다. 정확한 그룹 결과가 필요하면 REQUIRE_ACCURATE를 사용합니다. 정확성을 보장할 수 없으면 AggregationAccuracyNotSupported 오류가 발생합니다. 실제 응답의 accuracy는 ACCURATE 또는 APPROXIMATE입니다. 근사 고유값 수와 근사 백분위 함수는 각각의 근사 계산 성격을 유지합니다.
응답 구조
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
excludedItems | integer | 선택 | 그룹 수 한도를 넘겨 결과에서 제외된 항목 수입니다. | |
accuracy | enum | 필수 | 허용값: ACCURATE, APPROXIMATE. | |
data | list<AggregateObjectsResponseItemV2> | 선택 | ||
computeUsage | double | 선택 | compute-seconds 단위의 계산 사용량입니다. | 3.7 |
data의 구조
배열 항목은 AggregateObjectsResponseItemV2이며 자료형은 object입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
group | map<AggregationGroupKeyV2, AggregationGroupValueV2> | 선택 | ||
metrics | list<AggregationMetricResultV2> | 선택 |
group의 구조
맵의 키는 AggregationGroupKeyV2(string), 값은 AggregationGroupValueV2(any)입니다.
metrics의 구조
배열 항목은 AggregationMetricResultV2이며 자료형은 object입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
name | string | 필수 | ||
value | any | 선택 | 숫자 집계의 결과는 double이고 날짜 집계의 결과는 날짜 문자열입니다. |
computeUsage는 compute-seconds 단위입니다. Aggregate Object Set의 includeComputeUsage 옵션은 현재 OSDK 애플리케이션에서만 사용할 수 있고 성능을 낮출 수 있어 운영 환경에서는 권장하지 않습니다.