SAC에서 CDS 쿼리 뷰와 BEx 쿼리: 스토리 모델 생성 비교

9 hours ago 3

*쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.

1. CDS 쿼리 뷰로 SAC 모델 생성하기

CDS 쿼리 뷰란?

CDS(Core Data Services) 뷰는 SAP S/4HANA와 SAP HANA 환경에서 데이터를 모델링하는 현대적인 도구입니다. 특히 @Analytics.query: true@VDM.viewType: #CONSUMPTION으로 정의된 CDS 쿼리 뷰는 SAC와 같은 분석 도구에서 최종 사용자가 데이터를 조회하고 시각화할 수 있도록 설계됩니다. 쿼리 뷰는 사용자 친화적인 레이블, 필터, 축 설정을 제공해 SAC에서 직관적인 모델 생성을 지원합니다.

예제: 매출 데이터 분석

가정해 봅시다. 한 소매업체가 SAP S/4HANA 시스템에서 매출 데이터를 분석하려고 합니다. 이를 위해 다음과 같은 CDS 뷰를 생성했다고 가정합니다:

  • CUBE 뷰: ZSAC_SALES_CUBE
    • @Analytics.dataCategory: #CUBE로 정의.
    • VBAK(판매 오더 헤더)와 VBAP(판매 오더 아이템) 테이블을 조인해 매출액, 제품 카테고리, 고객 정보를 집계.
    • @DefaultAggregation: #SUM을 사용해 매출액(netwr)을 합계로 계산.
    • 권한 검사(@AccessControl.authorizationCheck: #CHECK) 포함.
  • 쿼리 뷰: ZSAC_SALES_QUERY
    • @Analytics.query: true로 정의.
    • 필드: 회사 코드(bukrs), 제품 카테고리(matkl), 매출액(netwr), 판매일자(erdat).
    • 어노테이션: @EndUserText.label: '제품 카테고리', @Consumption.filterbukrserdat에 필수 필터 설정.
    • 축 설정: @AnalyticsDetails.query.axis: #ROWSbukrs, matkl, erdat를 행으로, #COLUMNSnetwr을 열로 배치.

SAC에서 모델 생성

SAC에서 ZSAC_SALES_QUERY를 데이터 소스로 선택해 모델을 생성하는 과정은 다음과 같습니다:

  1. SAC의 모델(Model) 메뉴에서 새 모델을 생성.
  2. SAP S/4HANA 시스템에 연결하고 ZSAC_SALES_QUERY를 선택.
  3. 차원(Dimensions: bukrs, matkl, erdat)과 측정값(Measures: netwr)을 정의.
  4. 모델을 저장한 후 스토리에서 차트(예: 제품 카테고리별 매출액 막대그래프)와 필터를 추가해 보고서를 작성.

장점

  • 현대적 아키텍처: SAP HANA의 고성능 데이터 처리와 CDS 뷰의 유연성을 활용.
  • 사용자 친화성: @EndUserText.label로 직관적인 필드명 제공(예: matkl → “제품 카테고리”).
  • 통합성: S/4HANA 환경에서 데이터 모델링과 SAC 모델 생성이 원활히 통합.
  • 유지보수성: CDS 뷰는 SQL 기반으로, 개발자가 쉽게 수정 가능.

2. BEx 쿼리로 SAC 모델 생성하기

BEx 쿼리란?

BEx 쿼리는 SAP BW(Business Warehouse)에서 데이터를 조회하고 분석하기 위한 전통적인 도구입니다. BW의 InfoProvider(InfoCube, DSO 등)를 기반으로 쿼리를 설계하며, 계층 구조, 변수, 계산 KPI 등을 지원합니다. SAC는 BEx 쿼리를 데이터 소스로 사용해 분석 모델을 생성할 수 있습니다.

예제: 고객 세그먼트 분석

동일한 소매업체가 SAP BW 시스템에서 고객 세그먼트별 매출 데이터를 분석한다고 가정합니다. 이를 위해 BEx 쿼리를 다음과 같이 설계했습니다:

  • InfoProvider: ZINFOCUBE_SALES (매출 데이터 포함).
  • BEx 쿼리: ZBW_SALES_SEGMENT
    • 차원: 고객 세그먼트(ZSEGMENT), 지역(ZREGION), 연도(0CALYEAR).
    • 측정값: 매출액(ZNETWR)에 합계 집계.
    • 변수: 연도(0CALYEAR)와 지역(ZREGION)에 사용자 입력 변수 적용.
    • 계층: 고객 세그먼트를 계층 구조로 정의(예: VIP → 일반 고객).
    • 계산 KPI: 매출 성장률(전년 대비 매출 증가율).

SAC에서 모델 생성

SAC에서 ZBW_SALES_SEGMENT를 데이터 소스로 선택해 모델을 생성하는 과정은 다음과 같습니다:

  1. SAC의 모델(Model) 메뉴에서 새 모델을 생성.
  2. SAP BW 시스템에 연결하고 ZBW_SALES_SEGMENT를 선택.
  3. 차원(ZSEGMENT, ZREGION, 0CALYEAR)과 측정값(ZNETWR, 매출 성장률)을 정의.
  4. BEx 쿼리의 변수(0CALYEAR, ZREGION)를 SAC 필터로 변환.
  5. 모델을 저장한 후 스토리에서 계층 기반 드릴다운 차트(예: 고객 세그먼트별 매출액 트리맵)를 작성.

장점

  • 고급 분석 기능: 계층, 변수, 예외 집계 등 복잡한 OLAP 분석 지원.
  • 레거시 호환성: 기존 SAP BW 환경과 BEx 쿼리를 활용해 추가 개발 최소화.
  • 사용자 친화성: BEx 쿼리 디자이너는 비즈니스 사용자가 쿼리를 쉽게 수정 가능.
  • BW 최적화: BW의 OLAP 엔진으로 대규모 데이터 처리에 적합.

3. CDS 쿼리 뷰와 BEx 쿼리: 왜 둘 다 사용될까?

CDS 쿼리 뷰로 모델 생성이 가능한데 왜 BEx 쿼리를 사용할까?

CDS 쿼리 뷰로 SAC 모델을 생성할 수 있음에도 BEx 쿼리가 사용되는 이유는 다음과 같습니다:

  1. SAP BW 환경:
    • 많은 기업이 SAP BW를 데이터 웨어하우스로 사용하며, 데이터가 InfoProvider에 저장되어 있습니다. BEx 쿼리는 BW 데이터를 바로 활용할 수 있어 추가 데이터 동기화가 필요 없습니다.
    • 반면, CDS 뷰는 S/4HANA 환경에 최적화되어 있으며, BW 데이터를 사용하려면 BW/4HANA로 마이그레이션하거나 데이터를 복제해야 할 수 있습니다.
  2. 레거시 시스템 활용:
    • 기존에 구축된 BEx 쿼리와 BW 데이터 모델을 재사용하면 개발 시간과 비용을 절감할 수 있습니다.
    • 예를 들어, 위의 ZBW_SALES_SEGMENT는 이미 BW에서 검증된 쿼리로, SAC에서 즉시 모델로 변환 가능합니다.
  3. 복잡한 분석 요구사항:
    • BEx 쿼리는 계층 구조, 동적 변수, 계산 KPI, 예외 집계 등 고급 기능을 제공합니다. 예를 들어, 고객 세그먼트 계층을 드릴다운하거나 전년 대비 성장률을 동적으로 계산하는 데 유리합니다.
    • CDS 쿼리 뷰도 분석 기능을 제공하지만, 복잡한 OLAP 시나리오에서는 BEx 쿼리가 더 적합할 수 있습니다.
  4. 사용자 친화적 설계:
    • BEx 쿼리 디자이너는 비즈니스 사용자가 GUI를 통해 쿼리를 수정할 수 있어, 개발자 의존도를 줄입니다.
    • CDS 쿼리 뷰는 주로 ABAP 개발자가 작성하며, SAC에서 추가 조정이 필요할 수 있습니다.

CDS 쿼리 뷰로 모델을 만들 수 없는가?

아닙니다. CDS 쿼리 뷰로 SAC 모델을 충분히 생성 가능합니다. 예를 들어, ZSAC_SALES_QUERY는 매출 데이터를 기반으로 SAC에서 모델을 만들기에 적합합니다. 하지만 다음과 같은 제한이 있을 수 있습니다:

  • 시스템 환경: 데이터가 SAP BW에만 존재하면 BEx 쿼리가 더 적합.
  • 분석 복잡성: 고급 계층이나 동적 변수가 필요한 경우 BEx 쿼리가 유리.
  • 사용자 경험: BEx 쿼리는 비즈니스 사용자가 익숙한 환경 제공.

4. 언제 무엇을 선택해야 할까?

  • CDS 쿼리 뷰 추천 시나리오:
    • SAP S/4HANA를 사용하며 데이터가 HANA 데이터베이스에 저장된 경우.
    • 현대적이고 통합된 데이터 모델링을 목표로 하는 경우.
    • 간단하거나 중간 수준의 분석(예: 매출액 집계, 필터링) 요구사항.
    • 예: ZSAC_SALES_QUERY로 제품 카테고리별 매출 분석.
  • BEx 쿼리 추천 시나리오:
    • SAP BW를 사용하며 데이터가 InfoProvider에 저장된 경우.
    • 복잡한 OLAP 분석(계층, 변수, 계산 KPI) 필요.
    • 기존 BEx 쿼리와 사용자 기반 활용.
    • 예: ZBW_SALES_SEGMENT로 고객 세그먼트 계층 분석.

5. 결론

SAC에서 스토리용 모델을 생성할 때 CDS 쿼리 뷰와 BEx 쿼리는 모두 유효한 선택지입니다. CDS 쿼리 뷰는 S/4HANA 환경에서 현대적이고 유연한 모델링을 제공하며, BEx 쿼리는 BW 환경에서 고급 분석과 레거시 호환성을 보장합니다. 조직의 시스템 환경, 분석 요구사항, 사용자 경험을 고려해 적합한 방법을 선택하세요. 예를 들어, S/4HANA 기반 매출 분석에는 CDS 쿼리 뷰를, BW 기반 고객 세그먼트 분석에는 BEx 쿼리를 추천합니다. 궁극적으로 BW/4HANA나 하이브리드 접근으로 전환하면 두 접근의 장점을 통합할 수 있을 것입니다.

*쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.

Read Entire Article