Easy Heading Macro | ||||||
---|---|---|---|---|---|---|
|
실습 예제 |Olap-Grid를 활용한 사업부별 실적 현황 분석 화면 | |||||
---|---|---|---|---|---|
|
Step 1. 데이터 연결하기
i-META와 SQL을 이용하여 데이터를 가져오고 Control에 연결합니다.
1.1 조회 조건 컨트롤 라벨
UI Bot의 Label을 선택하여 컨트롤을 생성하고 속성을 변경합니다.
이와 같은 방법으로 각 컨트롤의 제목 라벨 컨트롤을 생성합니다.
참고사항 | ||||
---|---|---|---|---|
| ||||
보고서 화면에서 컨트롤을 설정한 Margin값에 따라 고정하는 기능인 Docking을 설정하여보고서 창의 크기가 달라져도 해당 컨트롤이 설정한 위치로 고정되도록 합니다. 라벨 컨트롤 중 단위 표기 텍스트 컨트롤에 Docking 기능을 설정합니다. Right 고정 후 Margin은 0,0,30,0 설정 (Margin 설정은 Left,Top, Rigth, Bottom) |
1.2 조회 조건 컨트롤 생성
Label Text | Name | Control Type | DataSource Name | InitDate | i-META 조건 연결 필드 명 |
---|---|---|---|---|---|
기준년월 | VS_FROM VS_TO | Calendar - M FromTo | - | DATE(-1,F,0);DATE(0,0,0) | 년월 |
매장지역 | VS_AREA | ComboBox - ComboBox | 매장지역 | 전체 | 매장지역 |
매장구군 | VS_GUGUN | ComboBox - ComboBox | 매장구군 | 전체 | 매장구군 |
1. 기준년월 캘린더
- UI Bot의 Calender > M FromTo를 선택하여 컨트롤을 생성합니다.
기준년월 캘린더 컨트롤의 속성을 설정합니다.
- Name : VS_FROM
- Name2 : VS_TO
- InitDate :DATE(0,F,0);DATE(0,0,0)
참고사항 | ||||
---|---|---|---|---|
| ||||
InitDate를 설정하여 캘린더 컨트롤의 초기값을 세팅합니다.
20230101 또는 2023-01-01 등의 숫자 형식으로 입력합니다.
NOW()를 입력하면 현재 날짜로 설정됩니다.
DATE(0,0,0) = NOW() 함수 안의 인자가 각각 DATE(년, 월, 일)을 뜻하며, 현재 날짜 기준으로 증감이 가능합니다. Ex) 현재 날짜보다 1년 전 날짜를 입력하고 싶을 때 : DATE(-1,0,0)
F(First) : 1900년, 1월, 1일 L(Last) : 2999년, 12월, 해당 월의 마지막 날짜(28일~31일) Ex) 현재 년도의 1월 1일을 입력하고 싶을 때 : DATE(0,F,F) 현재 년월의 말일을 입력하고 싶을 때 : DATE(0,0,L)
From Date와 To Date를 ;(세미콜론)으로 구분하여 작성합니다. Ex) DATE(-1,0,0);NOW() |
2. 사업부 및 지역 콤보박스
- UI Bot의 ComboBox > Combo를 선택하여 컨트롤을 생성합니다.
- 매장지역 콤보박스 컨트롤의 속성을 설정합니다.
- Name : VS_AREA
- DataSource : 매장지역
- UseAllItems : 활성화
- AutoRefresh: 활성화
3. 지역 콤보박스 컨트롤의 속성을 설정합니다.
- Name : VS_GUGUN
- DataSource : 매장구군
- UseAllItems 활성화
4. 매장지역을 선택하면, 선택된 지역에 속한 매장구군 목록만 나타나도록 설정합니다.
설정후 매장지역 콤보박스의 값을 변경하면 그에 따라 매장구군 콤보박스의 목록이 변경되는지 확인합니다.
- AfterRefresh : VS_GUGUN
1.3 Olap-Grid 데이터 연결
1. Olap-Grid를 배치 합니다.
2. Olap-Grid에 출력할 데이터소스를 i-META로 연결하기 위해 그리드 컨트롤에 마우스 우 클릭하여 데이터소스> i-META 를 선택합니다.
- i-META File을 선택합니다.
i-META File 정보
- 경로 : 공용 폴더> TBD> Sample> Templates> OLAP> 매출분석
필드를 Drag&Drop으로 배치한 후 조회조건 필드와 보고서에 생성한 컨트롤들을 연결합니다.
- 년월 BETWEEN :VS_FROM ~ :VS_TO
- 매장지역 = @:VS_AREA
- 매장구군 = @:VS_GUGUN
참고사항 icon false title Discription SQL 변수 바인딩 규칙
- [실행] 버튼을 눌러 데이터를 그리드에 연결하고 데이터가 정상적으로 조회되는지 확인합니다.
Step Step 2. 계산필드 추가하기
OLAP OLAP 수식을 이용하여 계산 필드를 추가할 수 있습니다.
순매출액, 매출금액(%), 누적실적, 누적실적(%) 계산필드 추가하기
캡션 | 2차계산 | 서식 | 수식 |
---|---|---|---|
순매출액 | [매출금액]-[매출원가] | ||
매출금액(%) | Type - SubTotalPercentOfRow | {0:N1}% | [매출금액] |
누적실적 | Type - RunningSum, Field - 년월 | [매출금액] | |
누적실적(%) | 백분율 : {0:P1}, 소수 자리수 : 1 | GetVariationValue("[누적실적]", false) / ForAll("[년월]", "[매출금액]", true) |
아래와 같이 그리드에서 우 클릭 후 디자인 > 필드에서 계산필드를 생성합니다.
2.1 매출실적(%)
필드 추가하기
추가된 필드를 Data 영역으로 이동하고, 캡션(화면 표시명)을 변경합니다.- 캡션 : 매출실적(%)
수식의 버튼을 버튼을 눌러 필드를 추가합니다.- 생성된 필드명 앞에 체크하면 해당 필드가 Data영역으로 이동 됩니다.
- 캡션명 : 순매출액
수식의 더보기 버튼을 클릭하여 수식 편집기 창을 실행한 후 입력 창에 Sum 함수와 [매출실적] 필드를 선택하여 매출금액]-[매출원가]를 입력합니다.
참고사항 ( 수식 편집기는 대소문자, 띄어쓰기 등을 구분하므로 좌측 목록에서 체크박스 List에서 항목을 클릭으로 선택하여 작성하는 것이 편리합니다.icon false title Discription 2차계산의 버튼을 클릭하여 2차계산을 설정합니다.
- Type : SubTotalPercentOfRow
서식의 버튼을 클릭하여 서식을 설정합니다.- 소수 자릿수 : 1 형식 :)
매출금액(%) 계산필드도 필드도 아래와 같이 입력합니다.
캡션: 매출금액(%)
2차계산: SubTotalPercentOfRow
서식: {0:N1}%
2.2 달성율(%)
- 추가된 필드를 Data 영역으로 이동하고, 캡션(화면 표시명)을 변경합니다.
- 캡션 : 달성율(%)
수식의 버튼을 클릭하여 수식 편집기 창을 실행한 후 입력 창에 Sum 함수와 [매출실적], [매출계획] 필드를 선택하여 입력합니다.패널 펼치기 title 사용한 수식 펼치기 Sum([매출실적]) / Sum([매출계획])
서식의 버튼을 클릭하여 서식 편집기 창을 실행하고 서식을 지정합니다.
- 백분율, 소수 자릿수 1 형식
누적실적 계산필드도 필드도 아래와 같이 입력합니다.
캡션: 누적실적
수식: [매출금액]
2차계산: RunningSum
서식: {0:
달성율(%) 필드의 설정 완료된 화면입니다.
2.3 누적실적
추가된 필드를 Data 영역으로 이동하고, 캡션(화면 표시명)을 설정합니다.캡션 : 누적실적
수식의 버튼을 클릭하여 수식 편집기 창을 실행한 후 입력 창에 Sum 함수와 [매출실적] 필드를 선택하여 입력합니다.
2차계산의 버튼을 클릭하여 2차계산을 설정합니다.
- Type : RunningSum
- Field : 년월
2.4 누적실적(%)
추가된 필드를 Data 영역으로 이동하고, 캡션(화면 표시명)을 설정합니다.캡션 : 누적실적(%)
수식의 버튼을 클릭하여 수식 편집기 창을 실행한 후 검색 창에 getvariationvalue, forall 함수를 검색하여 입력하고,
필드 목록에서 [누적실적], [년월], [매출실적] 필드를 선택하여 입력합니다.
N0}
수식: [매출금액]
6. 누적실적(%) 계산필드도 필드도 아래와 같이 입력합니다.
캡션: 누적실적(%)
서식: {0:P1}
수식: GetVariationValue("[누적실적]", false) / ForAll("[년월]", "[매출실적]", true)
패널 | |||||
---|---|---|---|---|---|
|
참고사항 | ||||
---|---|---|---|---|
| ||||
목록에 있는 함수를 클릭하면 설명을 볼 수 있습니다. -GetVariationValue 해당 셀의 특정 메져 값으로 2차계산의 값을 반환합니다. * object GetVariationValue("[FIELD]") -ForAll 배치에 대해 제어하는 함수로 현재 배치를 기준으로 Dimensions에 정의된 항목을 제거하여 상위 합에 대한 접근이 가능하게 합니다. * object ForAll("[Dimension 1];[Dimension 2]", "[Measure]", NoFilter) |
- 서식의
- 백분율, 소수 자릿수 1
- 형식 : {0:P1}
버튼을 클릭하여 서식 편집기 창을 실행하고 서식을 지정합니다.
Data영역의 필드 설정을 완료한 후 [확인] 버튼을 눌러 그리드 컨트롤에 적용합니다.
설정한 항목들이 정상적으로 적용되었는지 확인합니다.
Step 3. 사용자 정의 항목 추가하기
“사용자 정의 항목” 기능을 이용하여 분석 항목을 추가할 수 있습니다.
- [제품대분류명] 필드에서 마우스 우 클릭 후 [사용자 정의 항목]을 클릭하여 사용자 정의 항목 설정 창을 실행합니다.
- 추가된 항목의 캡션을 설정합니다.
- 캡션 : 대형가전 + 계절가전
- 캡션 : 대형가전 + 계절가전
- 필터 수식의 [수정] 버튼을 클릭하여 수식 편집기 창을 실행합니다.
수식 입력 창에 수식을 작성합니다.
패널 펼치기 title 사용한 수식 펼치기 AND([사업부명] = "서울사업부", InList([제품대분류명], "대형가전", "계절가전"))
참고사항 icon false title Discription 사용한 함수 설명
목록에 있는 함수를 클릭하면 설명을 볼 수 있습니다.
-AND
넘겨진 파라미터 n개의 논리곱을 반환합니다.
* bool AND(bool condition1, bool condition2, ...)
-InList
대상 필드의 값이 비교 값 목록내에 존재하는지 여부를 반환합니다.
* bool InList([FIELD_NAME], "value1","value2", ...)
- [확인] 버튼을 클릭하여 추가한 항목을 그리드에 적용합니다.
"사업부명"이 [서울사업부]인 "제품대분류명"에 [계절가전+대형가전] 항목이 정상적으로 추가되었는지 확인합니다.
Step 4. 조건부 서식 설정하기
"조건부 서식” 기능을 이용하여 조건에 따라 서식을 지정할 수 있습니다.
※ 조건 기준
- 달성율 100% 미만, 95% 이상이면, “Olap_달성율1” Style로 표현
- 달성율 95% 미만이면, “Olap_달성율2” Style로 표현
- 나머지는 기본 스타일로 표현
- 아래와 같이 그리드를 우 클릭 후 디자인 > 스타일에서 조건부 서식을 적용합니다.
- [스타일] 탭에서 조건부 서식의
조건에 맞도록 수식을 작성한 후 [적용] 버튼을 눌러 조건부 서식을 적용합니다.
패널 펼치기 title 사용한 수식 펼치기 CASE(
AND(FIELD_KEY == "RATE", CELL_VALUE < 1.0, CELL_VALUE >= 0.95),
"Olap_달성율1_클릭해서_수정",
AND(FIELD_KEY == "RATE", CELL_VALUE < 0.95),
"Olap_달성율2_클릭해서_수정",
"")참고사항 icon false title Discription 사용한 함수 설명
목록에 있는 함수를 클릭하면 설명을 볼 수 있습니다.
-CASE(SWITCH로 검색)
조건 n 개에 대해 순차적으로 검사하여 가장 처음으로 참인 조건의 값을 반환합니다.
모든 조건이 거짓 일 경우 마지막 default 값이 반환됩니다.* object Switch(bool condition1, object value1 , bool condition2, object value2 , bool conditionX, object valueX , object elseValue)
-AND
넘겨진 파라미터 n개의 논리곱을 반환합니다.
* bool AND(bool condition1, bool condition2, ...)
참고사항 icon false 스타일의 코드값은 해당 스타일명을 검색하여 입력합니다.
- 수식을 적용할 필드의 필드 명을 수식에 작성한 RATE로 변경합니다.
- 필드 - 달성율(%) - 필드 명 : RATE
- 조건부 서식이 정상적으로 적용되었는지 확인합니다.
Step 5. Drill To Detail 동작 설정하기
변수편집기와 프로세스 봇을 설정하여 Olap-Grid의 데이터 셀을 더블 클릭하면, 클릭한 셀의 세부 데이터를 조회할 수 있는 팝업을 띄우도록 설정합니다.
5.1 변수 편집기
보고서에서 사용할 변수들을 변수 편집기에서 관리할 수 있습니다.
(템플릿 보고서에는 변수가 이미 등록되어 있는 상태입니다.)
편집 그룹 > Variables(변수 편집기)
5.2 Process Bot 활용 저장 동작 설정
프로세스 봇을 활용하여 OlapGrid 셀 더블 클릭시 POPUP폼이 상세보기창으로 보여지도록 설정합니다.
Process Bot 아이콘(
)을 클릭하여 프로세스 봇 창을 실행하고, OlapGrid 컨트롤을 더블 클릭합니다.Activities 탭에서 '상세보기' 로 검색하여 'OlapGrid 클릭셀의 행,열 값 변수 편집기 입력 후 상세보기창 나타내기' 모듈을 더블 클릭합니다.
- 모듈 파라미터 설정 아이콘(
- Olap 그리드의 클릭한 셀의 사업부코드, 제품대분류명, 년월이 변수 편집기에 입력되도록 아래와 같이 옵션 설정 값을 입력
- VS_POP_DIV_CD
- VS_POP_PROD_L_NM
- VS_POP_YM
)을 클릭하여, 'OlapGrid 클릭셀의 행,열 값 변수 편집기 입력 후 상세보기창 나타내기' 동작을 설정합니다. - Olap 그리드의 클릭한 셀의 사업부코드, 제품대분류명, 년월이 변수 편집기에 입력되도록 아래와 같이 옵션 설정 값을 입력
OlapGrid > OnDataCellDoubleClick 이벤트와 모듈을 연결 후 저장합니다.
5.3 popup 화면 설정
- Olap-Grid의 데이터 셀을 더블 클릭하면, 실행되는 Chart & DataGrid 팝업 창의 화면을 설정합니다.
- [popup]시트를 선택한 후 Chart 컨트롤에 데이터 셋을 연결합니다.
- DataSource : Chart
2. List Grid 컨트롤을 우 클릭하여 데이터소스 항목을 선택합니다.
i-META File 정보
- 경로 : 공용 폴더 > 교육 > i-META
- 파일 명 : [i-AUD] Sales Meta
3. i-META File을 선택하여 필드를 배치한 후 조회조건 필드와 변수 편집기에 등록된 변수를 연결합니다.
- 년월 = :VS_POP_YM
- 사업부코드 = :VS_POP_DIV_CD
- 제품대분류명 = :VS_POP_PROD_L_NM
4. [확인] 버튼을 눌러 데이터소스 선택 창을 닫은 후, Form1으로 이동하여 보고서가 정상적으로 작동하는지 확인합니다.
변경 이력 |
---|