# 데이터 아이템 등록 및 조회 (DataItemList)

## 데이터 아이템 목록 등록

데이터 셋의 아이템 목록을 등록합니다. 이 아이템 목록은 데이터셋 내의 각 아이템을 정의하고 관리하는 데 사용됩니다. 아래는 데이터 아이템 등록에 필요한 항목과 설명입니다:

### 이름 (Name)

- **설명:** 데이터 셋 아이템의 이름을 지정합니다.
- **용도:** 데이터 아이템의 이름은 해당 아이템을 식별하는 데 사용됩니다.

### 설명 (Description)

- **설명:** 데이터 셋 아이템의 설명을 입력합니다.
- **용도:** 데이터 아이템에 대한 설명을 추가하여 데이터 아이템의 의미와 역할을 이해할 수 있습니다.

### 활성화 (Active)

- **설명:** 사용 여부를 설정합니다.
- **용도:** 데이터 아이템을 활성화 또는 비활성화하여 데이터셋 내에서 사용 여부를 제어할 수 있습니다.

### 숨기기 (Hidden)

- **설명:** 레포트 등 2차 가공 데이터로 사용할 때, 사용자에게 보여줄 지 여부를 설정합니다.
- **용도:** 데이터 아이템을 숨기면 보고서 등에서 눈에 띄지 않게 할 수 있습니다.

### 그룹 (Group)

- **설명:** 동일한 그룹 필드를 가진 데이터 아이템들은 전체 데이터셋 안에서 서브그룹으로 테이블 형태로 묶여서 표현될 수 있도록 그룹을 지정합니다.
- **용도:** 연관된 데이터 아이템들을 그룹화하여 데이터의 가시성을 향상시키고 연관성을 정의합니다. 일반적으로 이 데이터 아이템들의 quota는 1개 이상이며, 동일한 quota 값을 갖도록 설정하는 것이 유의미합니다.

### 태그이름 (Tag Name)

- **설명:** 오브젝트 키를 설정합니다.
- **용도:** 데이터 아이템을 JSON 형태의 객체에서 하위 필드로 표현할 때 사용되는 키 이름을 지정합니다.

### 유형 (Type)

- **설명:** 데이터 셋 아이템 값의 데이터 타입을 선택합니다.
- **용도:** 데이터 아이템의 데이터 타입을 지정하여 해당 데이터의 형식을 정의합니다.
  - 가능한 유형:
    - 숫자 (Number)
    - 텍스트 (Text)
    - 선택 (Select)
    - 부울 (Boolean)
    - 파일 (File)

### 선택옵션 (Select Options)

- **설명:** 선택 유형인 경우, name과 value 쌍을 추가로 설정합니다.
- **용도:** 선택 유형인 데이터 아이템의 경우 가능한 정상값 옵션을 지정합니다.

### 마감함수 (Finalizing Functions)

- **설명:** 주기적으로 기간별 데이터를 모아서 마감 레코드를 생성할 때, 해당 아이템에 대해서 적용될 통계함수를 설정합니다.
- **용도:** 데이터 아이템의 통계 정보를 수집하기 위해 사용됩니다.
  - 가능한 통계함수:
    - 합계 (Sum)
    - 평균 (Mean)
    - 표준편차 (Standard Deviation)
    - 분산 (Variance)
    - 최소값 (Minimum)
    - 최대값 (Maximum)
    - 범위 (Range)
    - 중앙값 (Median)
    - 최빈값 (Mode)

### 집계함수 (Aggregation Functions)

- **설명:** 기간별 데이터를 모아서 서머리 데이타를 조회할 때 해당 아이템에 대해서 적용될 통계함수를 설정합니다.
- **용도:** 데이터 아이템의 서머리 정보를 조회하기 위해 사용됩니다.
  - 가능한 통계함수:
    - 합계 (Sum)
    - 평균 (Mean)
    - 표준편차 (Standard Deviation)
    - 분산 (Variance)
    - 최소값 (Minimum)
    - 최대값 (Maximum)
    - 범위 (Range)
    - 중앙값 (Median)
    - 최빈값 (Mode)

### 단위 (Unit)

- **설명:** 입력 단위를 설정합니다. (예: kg, cm)
- **용도:** 데이터 아이템 값의 단위를 지정하여 데이터를 일관된 형식으로 관리합니다.

### 샘플수 (Sample Count)

- **설명:** 해당 아이템 값을 몇 개 입력받을지 설정합니다.
- **용도:** 데이터 아이템 값의 샘플 개수를 지정하여 데이터 입력 시 필요한 샘플 수를 결정합니다.

### 명세 (Specification)

- **설명:** 명세를 정의하면 이탈값

이 OOC (Out of Control) 데이터로 추가됩니다.

- **용도:** 데이터 아이템에 대한 명세를 설정하여 이탈값을 감지하고 관리합니다.
  - 가능한 명세:
    - CCP (Critical Control Point Data Spec): 중요한 제어 지점 데이터 명세
    - QC (Quality Control Data Spec): 품질 관리 데이터 명세
    - SPC (Statistical Process Control Data Spec): 통계 공정 관리 데이터 명세 (아직 지원되지 않음)

이러한 항목들을 사용하여 데이터 아이템을 정의하고, 데이터셋 내에서 데이터 아이템 간의 연관성을 설정하고 관리할 수 있습니다.
