반응형
1. 단일조건 검색(칼럼 하나 대상으로 검색)
ex) 사원번호가 KR120인 사원 구하기
var nRow = this.dataset.findRow("EMPL_ID", "KR120"); // 찾고자하는 칼럼, 값 -> 인덱스
var sVal = this.dataset.getColumn(nRow, "FULL_NAME"); // 인덱스, 칼럼 -> 해당 값
2. 복합조건 검색(칼럼 여러 개일때)
ex) 부서코드가 K10이고 급여가 5000 이하인 사원 구하기
var nRow = this.dataset.findRowExpr("DEPT_CODE == 'K10' && SALARY <= 5000");
var sVal = this.dataset.getcolumn(nRow, "FULL_NAME");
3. 여러건 구하기
(단일조건, 복합조건 -> 한건)
ex) 부서가 K10인 사원 목록 구하기
var sVal = this.dataset.lookup("EMPL_ID", "KR120", "FULL_NAME");
4. 기타
ex) 남성과 여성의 평균 급여 계산
var nAvgM = this.dataset.getCaseAvg("GENDER=='M'", "SALARY");
var nAvgW = this.dataset.getCaseAvg("GENDER=='W'", "SALARY"); // default
var nAvgW = this.dataset.getCaseAvg("GENDER=='W'", "SALARY", 0, -1, false); //start위치, end위치, NULL값제외여부
ex) 급여와 보너스를 합친 금액의 평균 금액 계산
var nAvg = this.dataset.getAvg("SALARY+BONUS"); // 바로 칼럼간 연산 가능
ex) 입사일 기준 내림차순 정렬
this.dataset.set_keystring("S:-HIRE_DATE"); // S:정렬, -:내림차순
ex) 남성이고 미혼인 데이터만 필터 (결과내 재검색)
this.dataset.filter("GENDER=='M' && MARRID=='0'");
ex) Like 필터 : 성명에 영문 'e'가 포함되어있는 데이터만 필터
var eText = "e";
// 안좋은 예시; eText에 ' 들어가면 에러남.
this.dataset.filter("FULL_NAME.toUpperCase().indexOf('" + sText.toUpperCase() + "') >= 0");
// 좋은 예시
this.dataset.filter("String(FULL_NAME).toUpperCase().indexOf('" + nexacro.replaceAll(sText, "'", "\\'").toUpperCase() + "') >= 0");
ex) 원본 레코드 개수와 필터해서 보이는 레코드 개수 비교
var nCnt = this.dataset1.getRowCount(); // 필터된 상태에서 row 건수
var nCntNF = this.dataset1.getRowCountNF(); // 필터되기 전 row 건수
* NF = Not Filter
cf) 'set_' 붙어있으면 -> 속성에 대한 값 변경했다는 뜻.!
'Nexacro' 카테고리의 다른 글
[Nexacro] 데이터셋 레코드 상태 확인 예제 (0) | 2021.11.23 |
---|---|
[Nexacro] 창 닫을 때 confirm 창 (0) | 2021.11.23 |
[Nexacro] 주석 처리/해제 단축키 (0) | 2021.11.23 |
[Nexacro] 동기&비동기 방식 (0) | 2021.11.22 |
[Nexacro] 데이터셋(Dataset)의 이벤트 처리 순서 & 이벤트 발생 멈추기 & 중복체크 (0) | 2021.11.18 |
댓글