페이지 트리

버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.


Easy Heading Macro
navigationTitle목차
selectorh1,h2
navigationExpandOptionexpand-all-by-default

정보
title실습 제작 버전 안내

Release No : 7.0.500.20240516




실습 예제 |Olap-Grid를 활용한 사업부별 실적 현황 분석 화면

위젯 연결기
width1100
urlhttps://www.youtube.com/watch?v=7E_BznLpVYM&list=PLwlugVSklJKt_ek90KTpoZAKykiCWhnqO&index=25
height600


정보
title템플릿 보고서 정보

해당 실습 화면은 Template을 활용하여 진행합니다.


  • Template 사용 방법

    1. 포털에서 보고서를 실행합니다.

      템플릿 위치 : [교육] > [개발자교육] > [Template] > "3. 사업부별 실적 현황"



    2. 우측 상단의 (다른 이름으로 저장) 버튼을 클릭하여 작업할 폴더에 저장합니다.

    3. 저장한 보고서를 실행합니다.

    4. 우측 상단의 (보고서 편집) 버튼을 클릭하여 디자이너 창을 실행합니다.



Step 1. 데이터 연결하기

i-META와 SQL을 이용하여 데이터를 가져오고 Control에 연결합니다.


1.1 조회 조건 컨트롤 라벨


 UI Bot의 Label을 선택하여 컨트롤을 생성하고 속성을 변경합니다.

 이와 같은 방법으로 각 컨트롤의 제목 라벨 컨트롤을 생성합니다.


참고사항
iconfalse
titleDiscription

(전구) Docking 기능 사용하기

보고서 화면에서 컨트롤을 설정한 Margin값에 따라 고정하는 기능인 Docking을 설정하여

보고서 창의 크기가 달라져도 해당 컨트롤이 설정한 위치로 고정되도록 합니다.


라벨 컨트롤 중 단위 표기 텍스트 컨트롤에 Docking 기능을 설정합니다.


오른쪽 고정 후 Margin은 20 설정

Margin 설정은 왼쪽, 위쪽, 오른쪽, 아래쪽 순



1.2 조회 조건 컨트롤 생성

Label TextNameControl TypeDataSource NameInitDatei-META 조건 연결 필드 명
기준년월

VS_YM_FROM

VS_YM_TO

Calendar - M FromTo-DATE(-1,F,0);DATE(0,0,0)년월
사업부VS_DIVComboBox - ComboBox사업부전체사업부코드
지역VS_AREAComboBox - ComboBox지역전체영업지역코드



1. 기준년월 캘린더

  1.  UI Bot의 Calender > M From To 를 선택하여 컨트롤을 생성합니다.


  2. 기준년월 캘린더 컨트롤의 속성을 설정합니다.

    • Name : VS_YM_FROM
    • Name2 : VS_YM_TO
    • InitDate : DATE(-1,F,0);DATE(0,0,0)



    참고사항
    iconfalse
    titleDiscription

    (전구)InitDate 작성법

    InitDate를 설정하여 캘린더 컨트롤의 초기값을 세팅합니다.


    (tick) 숫자

    20230101 또는 2023-01-01 등의 숫자 형식으로 입력합니다.


    (tick) NOW 함수

    NOW()를 입력하면 현재 날짜로 설정됩니다.


    (tick) DATE 함수

    DATE(0,0,0) = NOW()

    함수 안의 인자가 각각 DATE(년, 월, 일)을 뜻하며, 현재 날짜 기준으로 증감이 가능합니다.

    Ex) 현재 날짜보다 1년 전 날짜를 입력하고 싶을 때

    : DATE(-1,0,0)


    (더하기) DATE 함수에 사용할 수 있는 예약어 : F, L

    F(First) : 1900년, 1월, 1일

    L(Last) : 2999년, 12월, 해당 월의 마지막 날짜(28일~31일)

    Ex) 현재 년도의 1월 1일을 입력하고 싶을 때

    : DATE(0,F,F)

    현재 년월의 말일을 입력하고 싶을 때

    : DATE(0,0,L)


    (더하기) FromTo 캘린더의 InitDate 설정 방법

    From Date와 To Date를 ;(세미콜론)으로 구분하여 작성합니다.

    Ex) DATE(-1,0,0);NOW()




2. 사업부 및 지역 콤보박스

  1. UI Bot의 ComboBox > Combo를 선택하여 컨트롤을 생성합니다.


  2. 사업부 콤보박스 컨트롤의 속성을 설정합니다.
    • Name : VS_DIV
    • DataSource : 사업부


    • UseAllItems 활성화
    • AutoRefresh 활성화


  3. 지역 콤보박스 컨트롤의 속성을 설정합니다.
    • Name : VS_AREA
    • DataSource : 지역
    • UseAllItems 활성화





  4. 사업부의 값을 변경하면 지역의 목록이 변경되도록 사업부 콤보박스의 속성을 변경합니다.
    • AfterRefresh : VS_AREA


  5. 사업부 콤보박스의 값을 변경하면 그에 따라 지역 콤보박스의 목록이 변경되는지 확인합니다.



1.3 Olap-Grid 데이터 연결

  1. Olap-Grid에 출력할 데이터소스를  i-META File로 연결하기 위해 그리드 컨트롤을 마우스 우 클릭하여 데이터소스 선택 창을 실행합니다.


  2. i-META File을 선택합니다.
    • i-META File 정보
      경로 : 공용 폴더 > 교육 > i-META
      파일 명 : [i-AUD] Sales Meta



  3. 필드를 Drag&Drop으로 배치한 후 조회조건 필드와 보고서에 생성한 컨트롤들을 연결합니다.

    • 년월 BETWEEN :VS_YM_FROM ~ :VS_YM_TO
    • 사업부코드 = @:VS_DIV
    • 영업지역코드 = @:VS_AREA

    참고사항
    iconfalse
    titleDiscription

    (전구) SQL 변수 바인딩 규칙



  4. [확인] 버튼을 눌러 데이터를 그리드에 연결하고 데이터가 정상적으로 조회되는지 확인합니다.


  5. 필드의 표시 단위를 변경하기 위해 그리드를 우 클릭하여 디자인 창을 실행합니다.


  6. [필드] 메뉴에서 매출계획과 매출실적 필드의 단위를 백만으로 설정합니다.
    • 단위 : 1,000,000(백만)


Step 2. 계산필드 추가하기

OLAP 수식을 이용하여 계산 필드를 추가할 수 있습니다.


사업부內 제품별 매출실적 비율 , 계획대비 실적 달성율 ,  누적실적 ,  전체 실적의 누적실적 비율  구하기

캡션2차계산서식수식기타
매출실적(%)Type - SubTotalPercentOfRow숫자 - {0:N0}%Sum([매출실적])
달성율(%)
백분율 - {0:P1}Sum([매출실적]) / Sum([매출계획])
누적실적

Type - RunningSum

Field - 년월


Sum([매출실적])단위 - 1,000,000(백만)
누적실적(%)
백분율 - {0:P1}GetVariationValue([누적실적]) / ForAll("[년월]", "[매출실적]", true)


아래와 같이 그리드에서 우 클릭 후 디자인 > 필드에서 계산필드를 생성합니다.



2.1 매출실적(%)

  1.  버튼을 눌러 필드를 추가합니다.


  2. 추가된 필드를 Data 영역으로 이동하고, 캡션(화면 표시명)을 변경합니다.
    • 캡션 : 매출실적(%)


  3. 수식의  버튼을 클릭하여 수식 편집기 창을 실행한 후 입력 창에 Sum 함수와 [매출실적] 필드를 선택하여 입력합니다.


    참고사항
    iconfalse
    titleDiscription

    (전구) 수식 편집기는 대소문자, 띄어쓰기 등을 구분하므로 좌측 목록에서 체크박스 클릭으로 선택하여 작성하는 것이 편리합니다.


  4. 2차계산의  버튼을 클릭하여 2차계산을 설정합니다.

    • Type : SubTotalPercentOfRow



  5. 서식의  버튼을 클릭하여 서식을 설정합니다.
    • 소수 자릿수 : 1
    • 형식 : {0:N1}%


2.2 달성율(%)

  1. 추가된 필드를 Data 영역으로 이동하고, 캡션(화면 표시명)을 변경합니다.
    • 캡션 : 달성율(%)


  2. 수식의  버튼을 클릭하여 수식 편집기 창을 실행한 후 입력 창에 Sum 함수 [매출실적], [매출계획] 필드를 선택하여 입력합니다.


    패널


    펼치기
    title사용한 수식 펼치기

    Sum([매출실적]) / Sum([매출계획])



  3. 서식의  버튼을 클릭하여 서식 편집기 창을 실행하고 서식을 지정합니다.

    • 백분율, 소수 자릿수 1
    • 형식 : {0:P1}


    달성율(%) 필드의 설정 완료된 화면입니다.


2.3 누적실적

  1. 추가된 필드를 Data 영역으로 이동하고, 캡션(화면 표시명)을 설정합니다.
    • 캡션 : 누적실적

  2. 수식의  버튼을 클릭하여 수식 편집기 창을 실행한 후 입력 창에 Sum 함수와 [매출실적] 필드를 선택하여 입력합니다.


  3. 2차계산의  버튼을 클릭하여 2차계산을 설정합니다.
    • Type : RunningSum
    • Field : 년월



  4. 단위에 1,000,000(백만)을 입력합니다.


2.4 누적실적(%)

  1. 추가된 필드를 Data 영역으로 이동하고, 캡션(화면 표시명)을 설정합니다.
    • 캡션 : 누적실적(%)

  2. 수식의  버튼을 클릭하여 수식 편집기 창을 실행한 후 검색 창에 getvariationvalue, forall 함수를 검색하여 입력하고,
    필드 목록에서 [누적실적], [년월], [매출실적] 필드를 선택하여 입력합니다.


    패널


    펼치기
    title사용한 수식 펼치기

    GetVariationValue("[누적실적]", false) / ForAll("[년월]", "[매출실적]", true)



    참고사항
    iconfalse
    titleDiscription

    (전구)사용한 함수 설명

    목록에 있는 함수를 클릭하면 설명을 볼 수 있습니다.


    -GetVariationValue

    해당 셀의 특정 메져 값으로 2차계산의 값을 반환합니다.

    * object GetVariationValue("[FIELD]")


    -ForAll

    배치에 대해 제어하는 함수로 현재 배치를 기준으로 Dimensions에 정의된 항목을 제거하여 상위 합에 대한 접근이 가능하게 합니다.
    비율을 계산할때 많이 사용됩니다.
    NoFilter 인자는 기본값이 false 이며, 모든 필드의 필터 정보를 반영한 계산을 할지 여부를 판단하게 됩니다.
    SQL의 그룹핑 기능과 유사하게 동작합니다.

    * object ForAll("[Dimension 1];[Dimension 2]", "[Measure]", NoFilter)


  3. 서식의  버튼을 클릭하여 서식 편집기 창을 실행하고 서식을 지정합니다.
    • 백분율, 소수 자릿수 1
    • 형식 : {0:P1}


Data영역의 필드 설정을 완료한 후 [확인] 버튼을 눌러 그리드 컨트롤에 적용합니다.


설정한 항목들이 정상적으로 적용되었는지 확인합니다.


Step 3. 사용자 정의 항목 추가하기

“사용자 정의 항목” 기능을 이용하여 분석 항목을 추가할 수 있습니다.


  1. [제품대분류명] 필드에서 마우스 우 클릭 후 [사용자 정의 항목]을 클릭하여 사용자 정의 항목 설정 창을 실행합니다.


  2.  버튼을 클릭하여 신규 항목을 추가합니다.

  3. 추가된 항목의 캡션을 설정합니다.
    • 캡션 : 대형가전 + 계절가전

  4. 필터 수식의 [수정] 버튼을 클릭하여 수식 편집기 창을 실행합니다.


  5. 수식 입력 창에 수식을 작성합니다.


    패널


    펼치기
    title사용한 수식 펼치기

    AND([사업부명] = "서울사업부", InList([제품대분류명], "대형가전", "계절가전"))



    참고사항
    iconfalse
    titleDiscription

    (전구)사용한 함수 설명

    목록에 있는 함수를 클릭하면 설명을 볼 수 있습니다.


    -AND

    넘겨진 파라미터 n개의 논리곱을 반환합니다.

    * bool AND(bool condition1, bool condition2, ...)


    -InList

    대상 필드의 값이 비교 값 목록내에 존재하는지 여부를 반환합니다.

    * bool InList([FIELD_NAME], "value1","value2", ...)



  6. [확인] 버튼을 클릭하여 추가한 항목을 그리드에 적용합니다.


"사업부명"이 [서울사업부]인 "제품대분류명"에 [계절가전+대형가전] 항목이 정상적으로 추가되었는지 확인합니다.


Step 4. 조건부 서식 설정하기

"조건부 서식” 기능을 이용하여 조건에 따라 서식을 지정할 수 있습니다.


※  조건 기준

   - 달성율 100% 미만, 95% 이상이면, “Olap_달성율1” Style로 표현

   - 달성율 95% 미만이면, “Olap_달성율2” Style로 표현

   - 나머지는 기본 스타일로 표현


  1. 아래와 같이 그리드를 우 클릭 후 디자인 > 스타일에서 조건부 서식을 적용합니다.


  2. [스타일] 탭에서 조건부 서식의  버튼을 눌러 수식 편집기 창을 실행합니다.


  3. 조건에 맞도록 수식을 작성한 후 [적용] 버튼을 눌러 조건부 서식을 적용합니다.


    패널


    펼치기
    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_클릭해서_수정",
    "")



    참고사항
    iconfalse
    titleDiscription

    (전구) 사용한 함수 설명

    목록에 있는 함수를 클릭하면 설명을 볼 수 있습니다.


    -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, ...)


    참고사항
    iconfalse

    (전구) 스타일의 코드값은 해당 스타일명을 검색하여 입력합니다.


  4. 수식을 적용할 필드의 필드 명을 수식에 작성한 RATE로 변경합니다.
    • 필드 - 달성율(%) - 필드 명 : RATE


  5. 조건부 서식이 정상적으로 적용되었는지 확인합니다.


Step 5. Drill To Detail 동작 설정하기

변수편집기와 프로세스 봇을 설정하여 Olap-Grid의 데이터 셀을 더블 클릭하면, 클릭한 셀의 세부 데이터를 조회할 수 있는 팝업을 띄우도록 설정합니다.


5.1 변수 편집기

보고서에서 사용할 변수들을 변수 편집기에서 관리할 수 있습니다.

(템플릿 보고서에는 변수가 이미 등록되어 있는 상태입니다.)


편집 그룹 > Variables(변수 편집기)


5.2 Process Bot 활용 저장 동작 설정

  프로세스 봇을 활용하여  OlapGrid  셀 더블 클릭시  POPUP폼이 상세보기창으로 보여지도록 설정합니다.

  1. Process Bot 아이콘()을 클릭하여 프로세스 봇 창을 실행하고, OlapGrid 컨트롤 더블 클릭합니다.


  2. Activities 탭에서 '상세보기' 로 검색하여 'OlapGrid 클릭셀의 행,열 값 변수 편집기 입력 후 상세보기창 나타내기' 모듈을 더블 클릭합니다.


  3. 모듈 파라미터 설정 아이콘()을 클릭하여, 'OlapGrid 클릭셀의 행,열 값 변수 편집기 입력 후 상세보기창 나타내기' 동작을 설정합니다.
    • Olap 그리드의 클릭한 셀의 사업부코드, 제품대분류명, 년월이 변수 편집기에 입력되도록 아래와 같이 옵션 설정 값을 입력 
      - VS_POP_DIV_CD
      - VS_POP_PROD_L_LMNM
      - VS_POP_YM


  4. OlapGrid > OnDataCellDoubleClick 이벤트와 모듈을 연결 후 저장합니다.

         

5.3 popup 화면 설정

  • Olap-Grid의 데이터 셀을 더블 클릭하면, 실행되는 Chart & DataGrid 팝업 창의 화면을 설정합니다.


      


  1.  [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으로 이동하여 보고서가 정상적으로 작동하는지 확인합니다.