인라인 SQL 을 사용한 판매 현황 분석 보고서 작성

본 장은 인라인 SQL 뷰를 활용하여 세일즈 데이터를 분석하는 리포트 및 챠트를 개발하는 방법을 서술한다.

작업 폴더 생성하기

네비게이터에서 신규 워크스페이스 Tutorial 을 생성한다

After logging in, go to the navigation tab.

1

로그인 한 후 탐색탭으로 이동한다.

2

루트 트리의 workspace를 마우스 오른버튼으로 클릭한다.

3

팝업 메뉴에서 신규 항목을 선택한후 workspace를 클릭한다.

 

작업영역 이름을 Tutorial 이라고 입력한 후 확인 버튼을 클릭한다.

 

네비게이터 타이틀바의 리프레시 버튼을 클릭한다.

 

코드 맵핑 설정

코드맵핑을 통해 성별 남, 여 에 대한 코드값 M, F 로의 맵핑 테이블을 생성하고 저장한다.

시스템 관리 – 시스템 코드 관리 메뉴를 클릭한다.

1

시스템 관리 메뉴를 클릭한다.

2

분석 - 시스템 코드 관리 항목을 메뉴에서 선택한다.

 

코드맵핑 항목 생성

1

코드 맵핑을 생성할 폴더 항목을 클릭한 후 신규 항목 버튼을 클릭한다.

2

신규항목 드랍다운 목록에서 신규 폴더를 클릭한다.

 

폴더 이름을 General을 입력하고 확인 버튼을 클릭한다.

 

생성된 General 폴더를 클릭한 후 신규 항목 버튼을 클릭하여 드랍다운 메뉴의 코드맵핑을 클릭한다.

 

항목명에 Gender라고 입력한 후 확인 버튼을 클릭한다.

 

그리드 목록에서 Gender를 클릭하여 설정 팝업창을 연다.

 

Gender 코드 맵핑 수정

1

맵핑 유형에서 static value를 선택한다.

2

행 추가 버튼을 클릭한 후 추가된 그리드 열을 더블 클릭하여 코드 / 값을 추가한다.

3

다음과 같이 코드값을 추가한다.
M Male
F Female

 

확인버튼을 클릭하여 저장한다.

 

SQL 쿼리 정의 하기

예제로 사용할 SQL 쿼리는 아래와 같다.

SELECT
  fm_store.store_country,
  fm_store.store_city,
  fm_customer.gender,
  fm_sales_fact.sales_year,
  fm_sales_fact.product_id,
  fm_customer.fname, fm_customer.lname,
  SUM(fm_sales_fact.store_sales) as sales,
  COUNT(DISTINCT fm_sales_fact.product_id) as procucts
FROM
    fm_sales_fact
   INNER JOIN fm_store on fm_sales_fact.store_id=fm_store.store_id
   INNER JOIN fm_customer on fm_customer.customer_id=fm_sales_fact.customer_id
where
   fm_sales_fact.sales_year IN (1998, 1997)
GROUP BY
  fm_store.store_country, fm_store.store_city, fm_sales_fact.sales_year,
  fm_sales_fact.product_id, fm_customer.gender, fm_customer.fname, fm_customer.lname

 

다이나믹SQL 쿼리 활용 및 프롬프트 기능

 Query Pattern

Description and Example

IF Condition

If store_country is defined on filter, then execute the inside block.
 
@IF ${store_country}
    AND fm_store.store_country in (${store_country})
@END IF

IF ELSE Condition

If store_city is defined then execute the If block. Other condition is executed on ELSE block.
 
@IF ${store_city}
AND fm_store.store_city in (${store_city})
@ELSE
AND 1=1
@END IF

IF Compare Parameter

Execute block with checking parameter values.
 
@IF ${store_city}=*Califonia*
AND fm_store.store_city in (${store_city})
@ELSE
AND 1=1
@END IF

Variables

Replace variables with proper values at runtime.
 
${store_country}

Default variables

${SHEET_NAME} : Sheet name of request items.

 

Query example with dynamic filtering options

SELECT
  fm_store.store_country,
  fm_store.store_city,
  fm_customer.gender,
  fm_sales_fact.sales_year,
  fm_sales_fact.product_id,
  fm_customer.fname, fm_customer.lname,
  SUM(fm_sales_fact.store_sales) as sales,
  COUNT(DISTINCT fm_sales_fact.product_id) as procucts
FROM
    fm_sales_fact
   INNER JOIN fm_store on fm_sales_fact.store_id=fm_store.store_id
   INNER JOIN fm_customer on fm_customer.customer_id=fm_sales_fact.customer_id
where
   fm_sales_fact.sales_year IN (1998, 1997)



@IF ${store_city}
AND fm_store.store_city in (${store_city})
@ELSE
AND 1=1
@END IF
 
GROUP BY
  fm_store.store_country, fm_store.store_city, fm_sales_fact.sales_year,
  fm_sales_fact.product_id, fm_customer.gender, fm_customer.fname, fm_customer.lname

 

SQL 인라인뷰 생성하기

작업 폴더에서 Customer Analysis 폴더를 생성한 후 CustomerCube 비즈니스 오브젝트를 생성한다.

Click the Navigation tab.

1

네비게이션 탭을 클릭한다.

2

폴더 Tutorial를 클릭하여 선택한다.

3

마우스 오른쪽 버튼을 클릭하여 팝업메뉴에서 신규 항목 -> 폴더를 클릭한다.

 

신규 항목 생성 윈도우에서 Customer Analysis라고 입력한 후 확인 버튼을 클릭한다.

 

리프레시 버튼을 클릭하여 목록을 동기화 한다.

 

비즈니스 오브젝트 생성

1

폴더 Customer Analysis 를 클릭하여 선택한다.

 

신규 항목 드랍다운 버튼을 마우스 오버한다.

2

신규항목 목록에서 비즈니스 오브젝트를 선택한다.

3

생성할 비즈니스 오브젝트 명을 입력한후 확인 버튼을 클릭한다.

 

생성된 비즈니스 오브젝트를 네비게이션에서 클릭하여 편집모드로 연다.

 

1

비즈니스 오브젝트 항목을 클릭하여 신규 탭 화면을 연다.

2

비즈니스 오브젝트에서 사용할 데이터 소스를 선택한다.

 

 

인라인 SQL 뷰 등록

1

인라인 SQL 쿼리 등록하기 위해 툴바의 인라인 뷰 버튼을 클릭한다.

2

아래 SQL 쿼리를 입력 또는 붙여넣기 한다.

3

SQL 유효성 체크를 위해 검증 버튼을 클릭한다.

4

확인 버튼을 클릭하여 생성한다.

 

 

복수 메져 등록 및 메져별 정의

  

적용단계

1

메져 항목 등록하려고 하는 디멘젼 항목을 체크 버튼으로 선택한다.

2

툴바의 복수 메져 등록 버튼을 클릭한다.

3

SQL 함수 (SUM / COUNT)를 컬럼의 데이터 유형 및 목적에 맞게 변경한다.

4

확인 버튼을 클릭하여 변경사항을 저장하고 신규 메져 항목이 생성된다.

 

툴바의 리프레시 버튼을 클릭하여 생성된 항목을 확인한다.

  

디멘젼 항목 설정

값 참조에 사용될 디멘젼 항목을 지정한다.

 

적용 단계

1

생성된 Gender 항목을 선택하여 코드값으로 맵핑한다.

2

코드 맵핑 섹션에서 찾기 버튼을 클릭한후 Gender 항목을 선택하여 등록한다.

3

확인 버튼을 클릭하여 변경사항을 저장한다.

 

판매 현황 보고서 생성하기

기 생성된 분석 큐브를 활용하여 판매 현황에 대한 리포트를 작성한다.

리포트 생성하기

리포트 생성

1

네비게이션에서 신규 항목 드랍다운 버튼을 클릭한다.

2

드랍다운 메뉴에서 리포트를 클릭한다.

3

생성할 리포트 명을 입력한다.

4

확인 버튼을 클릭하여 신규 항목을 생성한다.

 

네비게이션 목록에서 생성한 리포트 항목을 클릭하여 편집 화면을 오픈한다.

비즈니스 오브젝트 엔티티 선택

1

분석에 사용할 비즈니스 오브젝트 엔티티를 선택한다. 기존 생성된 Customer 를 활용한다.

2

사용가능한 비즈니스 오브젝트 항목이 표시된다. 확인 버튼을 클릭하여 선택 비즈니스 오브젝트로 리포트를 구성한다.

 

피벗 정보 설정하기

피벗 디자인 모드에서 피벗 설정하기

1

리포트 툴바의 디자인 버튼을 클릭하여 디자인 모드로 전환한다.

2

비즈니스 오브젝트 폴더에서 항목을 행 / 열 /메져 영역에 드래그 드랍한다.

실행 버튼을 클릭하여 리포트를 조회한다.

필터 패널 추가하기

Add a filter panel item.

1

리포트 툴바의 디자인 보기 버튼을 클릭하여 디자인 모드로 전환한다.

2

뷰 추가 버튼을 클릭하여 팝업 메뉴에서 필터 위젯 컨트롤을 선택한다.

3

신규 필터를 클릭하여 선택한다.

 

Modify the layout properties.

1

위젯 툴바의 피벗 편집 버튼을 클릭한다.

2

비즈니스 오브젝트 폴더에서 항목을 필터 위젯 영역에 드랍한다.

3

드래그 드랍으로 필터 항목을 추가한다.

 

레이아웃 속성 변경 - 필터 항목의 레이아웃 항목 변경

1

필터명을 클릭하여 필터 항목 상세 설정 창을 연다.

2

설정 화면에서 필터 항목 속성을 변경한다.

3

레이아웃 속성 변경하기

Switch to Run mode to view the report.

드릴 필터를 이용한 데시보드 개발

드릴 대상 쉬트 추가

1

쉬트 위젯 툴바에서 쉬트 속성 버튼을 클릭한다.

2

필터 옵션으로 탭을 전환한다.

3

드릴 대상은 리포트 내에서 다른 쉬트에 필터로 인터렉티브한 레이아웃 쉬트를 구성하는데 사용된다.

4

외부 드릴 타겟은 다른 리포트를 탭 혹은 팝업화면으로 호출 하며 션택된 값이 필터로 적용된다.

 

필터 대상 리포트 및 쉬트 설정

1

필터 위젯의 필터 설정 버튼을 클릭한다. 드릴 대상 쉬트를 지정함으로써 필터가 적용되는 쉬트의 범위를 한정할 수 있다.

2

Drag items from the business analysis folder and drop them into the row / column / measure area respectively.

3

Target row area to be retrieved, column area, measure area

 

선택된 영역에서의 상세 드릴 리프트 추가

 

1

쉬트 결과값을 선택한 후 마우스 오른쪽 버튼을 클릭하여 팝업 메뉴를 연다.

2

상세 보기를 할 리포트 명을 클릭하여 현재 선택값에 대한 상세 보고서를 연다.