본문 바로가기
Nexacro

[Nexacro] 데이터셋(Dataset) 주요 메소드 정리

by bjgu97 2021. 11. 18.
반응형

0. 데이터셋(Dataset)란?

: 데이터를 테이블형태로 관리하는 오브젝트로, 내부에서 사용하는 데이터를 컴포넌트와 바인딩하여 사용

 

- 데이터셋 추가 방법: 클릭 후 화면에 드래그

- 데이터셋에 Column 및 Row 추가/삭제 가능

- Appplication Information - Application Variables에 데이터셋을 만들면 프로젝트 화면에서 공동으로 사용 가능

 

 

1. 다양한 메소드 (F1 참고..)

- getColCount : 데이터셋 칼럼 개수 반환

      ex) var nColCount = this.Dataset1.getColCount();

- set_value : value에 원하는 값 넣어줄 수 있음

      ex) this.txt_area.set_value(text);

- getRowCount : 데이터셋에서 Row 전체 개수 반환(필터링된 row 제외)

- getRowCountNF : 필터링된 row 포함한 row 전체 개수 반환

      cf) NF 붙어있는거 -> 필터링된 데이터 포함!

- getColID : 데이터셋에서 해당 인덱스의 칼럼 아이디 반환

      ex) var colId = this.Dataset1.getColID(i);

- addColumn : 데이터셋에 칼럼 추가; addColumn(COL_ID, COLUMN_TYPE)

      ex) dataset1.addColumn("NAME", "STRING");

 

[단일조건]

- findRow : 조건값의 첫 번째 row의 인덱스 반환; findRow(COL_ID, VAL);

- getColumn : 구해온 row의 인덱스 값의 칼럼 값 반환; getColumn(ROW, IDX)

- lookup : 조건값과 일치하는 첫 번째 row의 칼럼 값 반환; lookup(COL_ID, VAL, OUTPUTCOL_ID);

      - 3번째 입력된 칼럼의 결과값이 반환됨; 즉 COL_ID가 VAL인 row의 OUTPUTCOL_ID값 반환.

 

[복합조건]

- findRowExpr : 조건표현식을 만족하는 첫 번째 row의 인덱스 반환; findRowExpr(EXPR);

      ex) dataset1.findRowExpr("DEP == 'K10' && SAL <= 500")

- extractRow : 범위에서 조건표현식을 만족하는 row의 인덱스 배열 반환; extractRows(EXPR);

      ex) dataset1.extractRows("DEP=='K10'");

 

- getCaseAvg : 조건을 만족하는 값, 또는 계산값의 평균값 반환;

                     getCaseAvg(EXPR,VAL,START_IDX, END_IDX, EXCLUDENAN);

      ex) dataset.getCaseAvg("GENDER=='M'", "SAL"); // gender이 M인 row들의 sal 값 평균

           dataset.getCaseAvg("GENDER=='W'", "SAL", 0, -1, false); // 0번째부터 마지막 row까지, NULL 제외하고 검색

- getAvg : 평균값 계산; getAvg(EXPR)

      ex) dataset.getAvg("SAL+BONUS"); // 급여와 보너스를 합친 금액의 평균

- filter : 조건에 만족하는 데이터만 보이게 필터링; 필터링 될 조건을 문자열로 설정하며 빈문자열 설정시 조건 해제

      ex) dataset.filter("GENDER=='M' && MARRIED==0");

 

[Math]

- round : 소수점자리 반올림

      ex) Math.round(num, 2); // 소수 두자리까지 반올림

 

[정렬]

- Keystring : 데이터를 그룹핑하거나 정렬할 때 사용

* G : 그룹핑(default) / S : 정렬

* + : 오름차순 / - : 내림차순

      ex) dataset1.set_keystring("S:-HIRE_DATE"); // 입사일자로 내림차순 정렬

 

- toUpperCase : 모든 영문자를 대문자로 변환하여 반환

- indexOf : 지정된 문자열이 처음으로 일치하는 위치의 인덱스 반환

      ex) dataset1.filter("FULL_NAME.toUpperCase().indexOf('" + sText + "') >= 0");

댓글