Easy Heading Macro | ||||||
---|---|---|---|---|---|---|
|
실습 예제 |Olap-Grid를 활용한 사업부별 실적 현황 분석 화면
목표화면 | |||||
|
|
|
Step 1. 데이터 연결하기
- i-META와 SQL을 이용하여 데이터를 가져오고 Control에 연결합니다.
1.1 조회 조건 컨트롤 라벨
UI Bot의 Label을 선택하여 컨트롤을 생성하고 속성을 변경합니다.
이와 같은 방법으로 각 컨트롤의 제목 라벨 Label 컨트롤을 생성합니다.
참고사항 | ||||
---|---|---|---|---|
| ||||
보고서 화면에서 컨트롤을 설정한 Margin값에 따라 고정하는 기능인 Docking을 설정하여 보고서 창의 크기가 달라져도 해당 컨트롤이 설정한 위치로 고정되도록 합니다. 라벨 컨트롤 중 단위 표기 텍스트 컨트롤에 Docking 기능을 설정합니다. 오른쪽 고정 후 Margin은 20 설정 Margin 설정은 왼쪽, 위쪽, 오른쪽, 아래쪽 순컨트롤 속성 중 Docking 기능을 이용하면 Margin 값에 따라, 해당 컨트롤이 설정된 위치에 고정됩니다. 이를 통해 보고서 창의 크기가 변경되더라도 컨트롤은 항상 지정된 위치에 유지될 수 있도록 설정이 가능합니다. (예시) 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( |
0,F,0);DATE(0,0,0) | 년월 |
매장지역 | VS_ |
AREA | ComboBox - ComboBox |
매장지역 | 전체 |
매장지역 |
매장구군 | VS_ |
GUGUN | ComboBox - ComboBox |
매장구군 | 전체 |
매장구군 |
1. 기준년월 캘린더
UI- UI Bot의 Calender > M
From To 를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_
AREA- GUGUN
- DataSource :
지역- 매장구군
- UseAllItems 활성화
- AfterRefresh : VS_AREA
- 사업부 콤보박스의 값을 변경하면 그에 따라 지역 콤보박스의 목록이 변경되는지 확인합니다.
사업부의 값을 변경하면 지역의 목록이 변경되도록 사업부 콤보박스의 속성을 변경합니다.
ㅅ
4. AfterRefresh 기능을 이용하여 매장지역을 선택하면, 선택된 지역에 속한 매장구군 목록만 나타나도록 설정합니다.
- 매장지역 콤보박스 선택 후 AfterRefresh : VS_GUGUN 선택
1.3 Olap-Grid 데이터 연결
1. Olap-Grid를 배치 합니다.
2. Olap-Grid에 출력할 데이터소스를 i-
META File로META로 연결하기 위해 그리드
컨트롤을컨트롤에 마우스 우 클릭하여
데이터소스 선택 창을 실행합니다.데이터소스> i-META
File을를 선택합니다.
i-META File 정보
- 경로 : 공용 폴더 >
PPDM > Sample > 3. i-META > 매출분석
- 파일 명 : [i-AUD] Sales Meta필드를
- 필드를 Drag&Drop으로 배치한 후 조회조건 필드와 보고서에 생성한 컨트롤들을 연결합니다.
년월 BETWEEN :VS_
YM_FROM ~ :VS_
YM_TO
사업부코드매장지역 = @:VS_
DIVAREA
영업지역코드매장구군 = @:VS_
AREAGUGUN
참고사항 | ||||
---|---|---|---|---|
| ||||
|
Event에 AutoRefresh를 활성화 합니다.
- [실행] 버튼을 눌러 데이터를 그리드에 연결하고 데이터가 정상적으로
Step 2. 계산필드 추가하기
- 조회 되는지 확인합니다.
- 조회 되는지 확인합니다.
필드의 표시 단위를 변경하기 위해 그리드를 우 클릭하여 디자인 창을 실행합니다.
- 단위 : 1,000,000(백만)
Step 2. 계산필드 추가하기
1. OLAP 수식을 이용하여 계산 필드를 추가할 수 있습니다.
사업부內 제품별 매출실적 비율 , 계획대비 실적 달성율 , 누적실적 , 전체 실적의 누적실적 비율 구하기
순매출액, 매출금액(%), 누적실적, 누적실적(%) 계산필드 추가하기
캡션 | 2차계산 | 서식 | 수식 |
---|
순매출액 | [매출금액]-[매출원가] | ||
매출금액(%) | Type - SubTotalPercentOfRow |
{0:N1}% |
[ |
매출금액] |
누적실적 | Type - RunningSum |
, Field - 년월 |
[ |
매출금액] |
누적실적(%) | 백분율 |
: {0:P1}, 소수 자리수 : 1 | GetVariationValue("[누적실적]", false) / ForAll("[년월]", "[ |
매출금액]", true) |
2.아래와 같이 그리드에서 우 클릭 후 디자인 > 필드에서 계산필드를 생성합니다.
2.1 매출실적(%)
필드 추가하기
- 버튼을 눌러 필드를 추가합니다.
추가된 필드를 Data 영역으로 이동하고, 캡션(화면 표시명)을 변경합니다.
- 캡션 : 매출실적(%)
수식의 버튼을
- 생성된 필드명 앞에 체크하면 해당 필드가 Data영역으로 이동 됩니다.
캡션명 : 순매출액
- 수식의 더보기 버튼을 클릭하여 수식 편집기 창을 실행한 후 입력 창에
[
매출실적] 필드를 선택하여 입력합니다.icon | false |
---|---|
title | Discription |
매출금액]-[매출원가]를 입력합니다.
( 수식 편집기는 대소문자, 띄어쓰기 등을 구분하므로 좌측
목록에서 체크박스List에서 항목을 클릭으로 선택하여 작성하는 것이 편리합니다.
2차계산의 버튼을 클릭하여 2차계산을 설정합니다.
- Type : SubTotalPercentOfRow
- 소수 자릿수 : 1
- 형식 : {0:N1}%
2.2 달성율(%)
추가된 필드를 Data 영역으로 이동하고, 캡션(화면 표시명)을 변경합니다.- 캡션 : 달성율(%)
수식의 버튼을 클릭하여 수식 편집기 창을 실행한 후 입력 창에 Sum 함수와 [매출실적], [매출계획] 필드를 선택하여 입력합니다.
펼치기 | ||
---|---|---|
| ||
Sum([매출실적]) / Sum([매출계획]) |
서식의 버튼을 클릭하여 서식 편집기 창을 실행하고 서식을 지정합니다.
)
- 매출금액(%) 계산필드도 필드도 아래와 같이 입력합니다.
캡션: 매출금액(%)
2차계산: SubTotalPercentOfRow
서식: {0:
N1}
달성율(
2.3 누적실적
추가된 필드를 Data 영역으로 이동하고, 캡션(화면 표시명)을 설정합니다.캡션 : 누적실적
수식의 버튼을 클릭하여 수식 편집기 창을 실행한 후 입력 창에 Sum 함수와 [매출실적] 필드를 선택하여 입력합니다.
2차계산의 버튼을 클릭하여 2차계산을 설정합니다.
- Type : RunningSum
- Field : 년월
2.4 누적실적(%)
추가된 필드를 Data 영역으로 이동하고, 캡션(화면 표시명)을 설정합니다.캡션 : 누적실적(%)
수식의 버튼을 클릭하여 수식 편집기 창을 실행한 후 검색 창에 getvariationvalue, forall 함수를 검색하여 입력하고,
필드 목록에서 [누적실적], [년월], [매출실적] 필드를 선택하여 입력합니다.
title | 사용한 수식 펼치기 |
---|
%
) 필드의 설정 완료된 화면입니다.
수식: [매출금액]
2. 누적실적 계산필드도 필드도 아래와 같이 입력합니다.
캡션: 누적실적
2차계산: RunningSum, Field: 년월
수식: [매출금액]
3. 누적실적(%) 계산필드도 필드도 아래와 같이 입력합니다.
캡션: 누적실적(%)
서식: {0:P1}
수식: GetVariationValue("[누적실적]", false)/ForAll("[년월]", "[
매출금액]", true)
참고사항 | ||||
---|---|---|---|---|
| ||||
목록에 있는 함수를 클릭하면 설명을 볼 수 있습니다. -GetVariationValue 해당 셀의 특정 메져 값으로 2차계산의 값을 반환합니다. * object GetVariationValue("[FIELD]") -ForAll 배치에 대해 제어하는 함수로 현재 배치를 기준으로 Dimensions에 정의된 항목을 제거하여 상위 합에 대한 접근이 가능하게 합니다. * object ForAll("[Dimension 1];[Dimension 2]", "[Measure]", NoFilter) |
: {0:P1}
Data영역의 필드 설정을 완료한 후 [확인] 버튼을 눌러 그리드 컨트롤에 적용합니다.
설정한 항목들이 정상적으로 적용되었는지 확인합니다.
4. 설정한 계산필드 항목들이 정상적으로 적용되어 나타나는지 실행버튼을 눌러 확인합니다.
Step 3. 사용자 정의 항목 추가하기
“사용자 정의 항목”- 사용자 정의 항목 기능을 이용하여 분석 항목을 추가할 수 있습니다.
[제품대분류명
1. [매장명] 필드에서 마우스 우 클릭 후 [사용자 정의 항목]을 클릭하여 사용자 정의 항목 설정 창을 실행합니다.
- 하단의 버튼을 클릭하여 신규 항목을
추가합니다추가한 뒤 캡션명을 입력합니다.
추가된 항목의 캡션을 설정합니다.
캡션
- 캡션 :
대형가전강릉라푸마+
계절가전강릉종합매장
필터- 필터 수식의 [수정] 버튼을 클릭하여 수식 편집기 창을 실행합니다.
- 수식 입력 창에 수식을 작성합니다.
title | 사용한 수식 펼치기 |
---|
- AND([
사업부명매장구군] = "
서울사업부강릉시", InList([
제품대분류명매장명], "
대형가전강릉라푸마 123", "
계절가전강릉종합매장 123"))
참고사항 | ||||
---|---|---|---|---|
| ||||
목록에 있는 함수를 클릭하면 설명을 볼 수 있습니다. -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로 표현
- 나머지는 기본 스타일로 표현
아래와 같이 그리드를 우 클릭 후 디자인 > 스타일에서 조건부 서식을 적용합니다.조건 기준 : 표기된 데이터 값에 따라 유동적으로 조건을 변경합니다.
- 그리드를 우 클릭 후 디자인 메뉴로 이동합니다.
- 조건의 대상이 될 필드 명을 복사합니다.
- [스타일] 탭에서 조건부 서식의 버튼을 눌러 수식 편집기 창을 실행합니다.
-조건에 맞도록 수식을 작성한 후 [적용] 버튼을 눌러
조건부 서식을 적용합니다.수식을 입력합니다.
( 스타일은 List 목록에 스타일명으로 검색하고, 필드명 복사는 아래와 같이 복사합니다. )
도움말 | ||
---|---|---|
| ||
CASE( |
{복사한 필드명}", CELL_VALUE < |
"Olap_달성율1_클릭해서_수정",
=60000000) |
{복사한 필드명}", CELL_VALUE |
"Olap_달성율2_클릭해서_수정
>= 150000000) |
참고사항 | ||||
---|---|---|---|---|
| ||||
목록에 있는 함수를 클릭하면 설명을 볼 수 있습니다. -CASE(SWITCH로 검색) 조건 n 개에 대해 순차적으로 검사하여 가장 처음으로 참인 조건의 값을 반환합니다. * object Switch(bool condition1, object value1 , bool condition2, object value2 , bool conditionX, object valueX , object elseValue) -AND 넘겨진 파라미터 n개의 논리곱을 반환합니다. * bool AND(bool condition1, bool condition2, ...) |
참고사항 | ||
---|---|---|
| ||
|
- 필드 - 달성율(%) - 필드 명 : RATE
Step 5. Drill To Detail 동작 설정하기
변수편집기와 프로세스 봇을 설정하여 Olap-Grid의 데이터 셀을 더블 클릭하면, 클릭한 셀의 세부 데이터를 조회할 수 있는 팝업을 띄우도록 설정합니다.
5.1 변수 편집기
보고서에서 사용할 변수들을 변수 편집기에서 관리할 수 있습니다.
(템플릿 보고서에는 변수가 이미 등록되어 있는 상태입니다.)
편집 그룹 > Variables(변수 편집기)
5.2 Process Bot 활용 저장 동작 설정
프로세스 봇을 활용하여 OlapGrid 셀 더블 클릭시 POPUP폼이 상세보기창으로 보여지도록 설정합니다.
- Process Bot
아이콘()을 클릭하여 프로세스 봇 창을 실행하고, OlapGrid 컨트롤을 더블 클릭합니다.
-Activities 탭에서 '상세보기' 로 검색하여 'OlapGrid 클릭셀의 행,열 값 변수 편집기 입력 후 상세보기창 나타내기' 모듈을 더블 클릭합니다.
모듈 파라미터 설정 아이콘()을 클릭하여, 'OlapGrid 클릭셀의 행,열 값 변수 편집기 입력 후 상세보기창 나타내기' 동작을
설정설정합니다.
OlapGrid > OnDataCellDoubleClick 이벤트와 모듈을 연결 후 저장합니다.
Olap 그리드의 클릭한 셀의
사업부코드매장구군,
제품대분류명매장명, 년월이 변수 편집기에 입력되도록 아래와 같이 옵션 설정 값을 입력
-
VSVS_POP_
DIV_CDAREA
-
VS_POP_
PROD_L_NMSTORE
-
VS_POP_YM
OlapGrid > OnDataCellDoubleClick 이벤트와 모듈을 연결 후 저장합니다.
5.3 popup 화면 설정
Olap- Olap-Grid의 데이터 셀을 더블 클릭하면, 실행되는 Chart & DataGrid 팝업 창의 화면을 설정합니다.
1. [popup]시트를 선택한 후 Chart 컨트롤에 데이터 셋을 연결합니다.
- DataSource : Chart
2. 하단 List Grid 컨트롤을 우 클릭하여 데이터소스 항목을 선택합니다.
i-META File 정보
- 경로 : 공용 폴더 > 교육 >
- 경로 : 공용 폴더> PPDM > Sample > 3. i-META
- 파일 명 : [i-AUD] Sales Meta3
> 매출분석
3. i-META File을 선택하여 필드를 배치한 후 조회조건
필드와필드에 변수 편집기에 등록된
변수를 연결합니다변수명을 입력합니다.
-년월
=:VS_POP_YM
사업부코드 =-매장지역 :VS_POP_
DIV_CD제품대분류명 =AREA
-매장명 :VS_POP_
PROD_L_NM4
STORE
4. [확인] 버튼을 눌러 데이터소스 선택 창을 닫은 후, Form1으로 이동하여 보고서가 정상적으로 작동하는지 확인합니다.
변경 이력 |
---|