...
- 메뉴 그룹에서 편집 그룹 > Variables를 선택하여 변수 편집기 창을 실행합니다.
- 변수 편집기에 보고서에서 사용할 변수를 등록합니다.
- 추가 버튼을 눌러 변수를 추가합니다.
- 변수명에 각각 VS_PRO_M, VN_FLD을 입력합니다, VS_USER를 입력합니다.
- 확인 버튼을 눌러 변수 편집기 창을 닫습니다.
Step 3. Olap-Grid 생성하기
3.1 Olap-Grid 데이터 소스 등록 및 연결
...
목표 화면에 맞게 컨트롤의 속성을 변경합니다.
...
설정
설정 탭에서 컨트롤의 디자인 설정을 합니다.
...
- 기타
기타 탭에서 사용하지 않는 기능들을 비활성화 합니다. - 마지막으로 확인 버튼을 눌러 Olap-Grid의 디자인 창 편집을 완료합니다.
Step 4.
...
Process Bot 활용 동작
...
스크립트를 작성하여 보고서에서 발생하는 이벤트별 동작을 지정합니다.
참고사항 | ||||
---|---|---|---|---|
| ||||
스크립트 에디터는 대소문자, 띄어쓰기를 구분하므로 각 API를 사용할 때 팝업에서 선택하는 것이 편리합니다. |
참고사항 | ||||
---|---|---|---|---|
| ||||
이벤트는 좌측 하단의 이벤트 API 목록에서 더블 클릭하여 작성합니다. |
1. 콤보박스 속성 지정
코드 블럭 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
var VS_PRODUCT;
/*****************************************
* 문서 로드 된 후 AutoRefresh 전에 발생합니다.
* * arguments :
*****************************************/
var OnDocumentLoadComplete = function(sender, args)
{
VS_PRODUCT = Matrix.getObject("VS_PRODUCT");
VS_PRODUCT.SelectedAllText = "전체";
VS_PRODUCT.Update();
}; |
2. Chart 조회, 변수값 설정, Olap-Grid 조회
코드 블럭 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
/*****************************************
* 컨트롤에 데이터셋이 바인딩된 후 발생합니다.
* * arguments :
* string Id (Readonly:False) : 컨트롤이름
* int RecordCount (Readonly:False) : 데이터셋의 레코드 수량
*****************************************/
var OnDataBindEnd = function(sender, args)
{
if(args.Id == "VS_PRODUCT"){
VS_PRODUCT.CheckAll();
Matrix.doRefresh("Bar_Chart");
}else if(args.Id == "Bar_Chart"){
Matrix.SetVariable("VS_PRO_M", "");
Matrix.SetVariable("VN_FLD", "PROD_M_NM");
Matrix.doRefresh("PivotGrid");
}
}; |
...
설정하기
Process Bot을 활용하여 보고서의 동작을 설정합니다.
4.1 콤보박스 속성 지정
- 상단 메뉴에서 [Process Bot]을 실행합니다.
- [Process Bot] 창의 좌측 목록에서 'VS_PRODUCT'를 더블 클릭합니다.
- Activities 탭을 클릭하고, '전체 선택'로 검색 >'멀티 콤보박스 전체 선택으로 변경' 모듈을 더블 클릭합니다.
모듈 아이콘()을 클릭 후, 세부 옵션을 설정합니다.
- 모듈 구성 내용에 맞게 옵션 선택
- [저장] 버튼 눌러 모듈 설정 완료
콤보박스에 데이터가 연결될 때, 모듈을 실행되기 위해 'OnDataBindEnd'를 Drag하여 모듈과 연결합니다.
4.2 Chart 조회 시, 변수값 설정 및 Olap-Grid 조회
- Object 탭을 클릭하고, 'Bar_Chart'를 더블 클릭합니다.
- Activities 탭을 클릭하고, '세팅하기'로 검색 >'[Variable] 변수 여러 개 값 세팅하기' 모듈을 더블 클릭합니다.
모듈 아이콘()을 클릭 후, 세부 옵션을 설정합니다.
- 모듈 구성 내용에 맞게 옵션 선택
- 변수명에 ' VN_FLD,VS_PRO_M '을 입력합니다.
- 세팅할 값에 ' PROD_M_NM, '을 입력합니다.
(※ ',' 뒤에 값을 비운 이유는 VS_PRO_M 변수에 null 값을 주기 위함) - [저장] 버튼 눌러 모듈 설정 완료
- Chart에 데이터가 연결될 때, 모듈을 실행되기 위해 'OnDataBindEnd'를 Drag하여 모듈과 연결합니다.
4.3 차트 클릭 시 변수값 설정 및 Olap-Grid 조회
코드 블럭 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
/*****************************************
* 차트 컨트롤의 데이터 포인트를 클릭할 때 발생합니다.
* * arguments :
* string Id (Readonly:False) : 컨트롤 이름
* int Type (Readonly:False) : 계열 유형
* string Series (Readonly:False) : 시리즈 명
* string Label (Readonly:False) : 시리즈 레이블
* string Point (Readonly:False) : 포인트 명
* double Value (Readonly:False) : 포인트 값
* int PointIndex (Readonly:False) : 포인트 인덱스
*****************************************/
var OnChartDataPointClick = function(sender, args)
{
if(args.Id == "Bar_Chart"){
Matrix.SetVariable("VS_PRO_M", args.Point);
Matrix.SetVariable("VN_FLD", "PROD_NM");
Matrix.doRefresh("PivotGrid");
}
}; |
4. 조회 버튼 클릭 시 차트 조회
코드 블럭 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
/*****************************************
* 버튼 컨트롤이 클릭되는 시점에 발생합니다.
* * arguments :
* string Id (Readonly:False) : 컨트롤 이름
* string Text (Readonly:False) : 라벨 값
*****************************************/
var OnButtonClick = function(sender, args)
{
if(args.Id == "BTN_REFRESH"){
Matrix.doRefresh("Bar_Chart");
}
}; |
마지막으로 저장 아이콘을 클릭하여 스크립트 에디터를 저장합니다.
작성한 스크립트대로 보고서가 정상적으로 동작하는지 확인합니다.
...
- Object 탭을 클릭하고, 'Report'를 더블 클릭합니다.
- Activities 탭을 클릭하고, 'Point'로 검색 >'차트 Point 클릭 시 변수 설정하기' 모듈을 더블 클릭합니다.
모듈 아이콘()을 클릭 후, 세부 옵션을 설정합니다.
- 모듈 구성 내용에 맞게 옵션 선택
- 클릭할 차트를 'Bar_Chart'로 선택하고 해당 차트의 Point 값을 담을 변수를 'VS_PRO_M'으로 입력합니다.
- 추가로 세팅할 변수에 변수명을 'VN_FLD' 변수값에 'PROD_NM'을 입력합니다.
- 차트를 클릭한 후, 컨트롤을 조회하기 위해 'PivotGrid'를 선택 합니다.
- [저장] 버튼 눌러 모듈 설정 완료
- 보고서가 OPEN될 때, 모듈을 실행되기 위해 'OnDocumentLoadComplete'를 Drag하여 모듈과 연결합니다.
4.4 조회 버튼 클릭 시 차트 조회
- Object 탭을 클릭하고, 'BTN_Refresh'를 더블 클릭합니다.
- Activities 탭을 클릭하고, 'Refresh'를 더블 클릭합니다.
모듈 아이콘()을 클릭 후, 세부 옵션을 설정합니다.
- 모듈 구성 내용에 맞게 옵션 선택
- [저장] 버튼 눌러 모듈 설정 완료
- Button을 클릭할 때, 모듈이 실행되기 위해 'OnClick'을 Drag하여 모듈과 연결합니다.
- 저장을 클릭하여 Process Bot을 저장합니다.
설정한 Process가 정상적으로 동작하는지 확인합니다.
Step 5. Label 컨트롤 활용하기
...
- UI Bot에서 Label 컨트롤을 생성합니다.
- Formula의 더 보기 버튼을 클릭하여 수식 편집기 창을 실행합니다.
수식 편집기의 함수를 활용하여 현재 시간을 컨트롤에 표시합니다.
펼치기 title 사용한 수식 펼치기 ToDate(NOW(), ["yyyy-MM-dd HH:mm:ss"])
...
접속한 사람의 아이디를 나타내는 라벨 컨트롤을 추가합니다.
- UI Bot - Label 배치
- 스크립트로 작성하기 위해 컨트롤의 작업자 이름을 설정할 라벨 컨트롤의 Name을 변경합니다.
- Name : USER_NM
OnDocumentLoadComplete 이벤트 내에 GetUserInfo API를 활용하여 접속 정보 관련 스크립트를 수정합니다.
코드 블럭 var VS_PRODUCT; /***************************************** * 문서 로드 된 후 AutoRefresh 전에 발생합니다. * * arguments : *****************************************/ var OnDocumentLoadComplete = function(sender, args) { VS_PRODUCT = Matrix.getObject("VS_PRODUCT"); Matrix.getObject("USER_NM").Text = "- 접속정보 : "+Matrix.GetUserInfo().UserName; VS_PRODUCT.SelectedAllText = "전체"; VS_PRODUCT.Update(); };language js firstline 1 title OnDocumentLoadComplete linenumbers true collapse true - Process Bot을 활용하여 사용자명을 변수로 설정합니다.
- Activities 탭을 클릭하고, '유저정보'로 검색 > '변수편집기 변수 값 유저정보로 설정' 모듈을 더블 클릭합니다.
- 모듈 아이콘()을 클릭 후, 세부 옵션을 설정합니다. > 변수명 입력 : VS_USER > [저장] 버튼 눌러 모듈 설정 완료
- 보고서가 OPEN될 때, 모듈을 실행되기 위해 'OnDocumentLoadComplete'를 Drag하여 모듈과 연결합니다.
- Process Bot을 저장하고 라벨 컨트롤 Formula의 더 보기 버튼을 클릭하여 수식 편집기 창을 실행합니다.
수식 편집기를 통해 사용자명을 표시합니다.
펼치기 title 사용한 수식 펼치기 "· 접속정보 : " + :VS_USER
라벨 컨트롤에 설정한 값이 정상적으로 표시되는지 확인합니다.
Step 6. CRUD 설정하기
매출 현황 분석 항목을 입력할 수 있는 폼을 생성합니다.
6.1 컨트롤 생성 및 배치
No. | 구분 | 컨트롤 종류 | Name | Text | 기타 |
---|---|---|---|---|---|
1 | 그룹 | Group | |||
2 | 타이틀 | Label | 매출 현황 분석 | ||
3 | 제품 | Label | VS_PRODUCT_NM | 텍스트 우측 정렬 | |
4 | 입력 창 | InputBox - RichTextBox | |||
5 | 저장 버튼 | Button | BTN_SAVE | 저장 | |
6 | 그리드 | Grid - List-Grid | DataGrid |
...