Learn

원하는 데이터만 쉽게 추출하는 방법 feat. 필터링 가이드

투비대원 2019. 12. 2. 09:34

Intro.

넥사크로플랫폼을 포함한 투비소프트 제품의 가장 큰 장점은 화면에서 데이터를 직접 관리하고 편집할 수 있는 데이터셋과 데이터를 리스트 형태로 확인 할 수 있는 그리드 컴포넌트 입니다. 이 두 컴포넌트는 함께 사용되며 정렬, 필터, 엑셀과의 연동 등 다양한 기능들을 제공합니다. 오늘은 두가지 컴포넌트를 사용하여 데이터 검색을 잘 할 수 있도록 만들수 있는지 그 방법에 대하여 살펴보고자 합니다.

 

What will help?

데이터셋의 컬럼이나 레코드를 추가, 삭제, 수정하는 메소드와 그룹, 정렬 및 통계 메소드를  지원하며 필터 기능을 사용하여 데이터를 검색하거나 원하는 데이터만 추출할 수 있습니다.

필터 메소드를 이용하여 원하는 데이터를 행(Row) 단위로 보이거나 숨길 수 있으며, findRow()로 값에 일치하는 데이터 행의 첫번째 index를 반환하여 사용할 수 있습니다.

filter, find 메소드 사용화면 예시

순차적으로 검색하여 행의 index를 하나씩 반환받는 경우 findRow() 메소드에 옵션을 추가하여 사용할 수 있습니다. 하지만 여러 행에 존재하는 데이터 검색 값을 한 번에 확인하기 위해서는 별도의 구현이 필요합니다.

Dataset의 expression을 적용하여 원하는 데이터를 자유롭게 추출 할 수 있습니다.

 

How to filtering

필터는 넥사크로플랫폼의 expression이나 decorate와 같은 기능을 함께 조합하여 검색 기능이나 sql문의 distinct/ group by와 같은 기능을 구현 할 수도 있습니다.

 

검색화면 만들기

데이터셋에 담겨있는 문자열의 데이터를 변경하기 위하여 정규식을 사용하였습니다.
필터, 정규식, decorate 3가지 기능을 조합한 샘플 화면입니다.

검색 결과 예시

#1. 그리드의 decorate를 적용하기 위하여 셀 displaytype을 decoratetext로 적용합니다.

#2. 데이터셋 expreession으로 filterstr를 적용하여 검색조건에 해당하는 행(row)만 나타냅니다.

 

 sample에서 사용한 expression : "컬럼명.indexOf(검색어) > -1"


#3. 검색어에 해당되는 문자에 색상을 적용하기 위하여 정규식 패턴을 사용하여 현재 텍스트에 decorate를 적용합니다. 

 

 정규식 = eval("/("+검색어+")/gi");
 변경할문자열.replace(정규식 ,"<fc v='red'>" + "$&" + "</fc>");

넥사크로플랫폼은 sql 문의 distinct나  group by와 같은 기능을 지원하지 않습니다.

데이터를 제거하거나 명시된 컬럼 외의 집계함수를 추가 할 경우는 추가 구현이 필요합니다.

distinct 및 group by 기능구현 예시

해당 구현 샘플의 경우 techtip의 검색 관련 항목에서 샘플로 다운로드 가능합니다.

☞그리드 전체에서 검색하기 샘플 바로가기

☞distinct / group by 샘플 바로가기

 

참고자료
Dataset Expression 레퍼런스 가이드

 

플레이넥사크로 바로가기

https://www.playnexacro.com/

 

play nexacro

A community of nexacro platform.

www.playnexacro.com