메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

SPSS와 InfoSphere Warehouse를 사용하여 SAP에서 예측 분석하기

첨단 분석 기술을 사용하여 고객에 관해 자세히 알아보기

Dr. Stefanie Scherzinger, Software Engineer, IBM
Stefanie Scherzinger photo
Stefanie Scherzinger obtained a Ph.D. for her work on main-memory based XML stream processing at Saarland University, Germany. In 2007, she left academia to take a position as a Software Engineer in IBM's Information Management division.
Dr. Thomas Schwarz, Software Engineer, EMC
Thomas Schwarz is the development lead for a solution offering targeted at SAP applications. He is an expert on data migration and consolidation using the IBM InfoSphere Information Server, especially for SAP systems. Prior to that, Thomas consulted with customers on MDM architecture and integration issues, while being a member of the Center of Excellence for Master Data Management based in the IBM Boeblingen lab in Germany. Before joining IBM, Thomas was a research assistant at the University of Stuttgart working on the integration and federation of location-based data in loosely-coupled data services. He received his Ph.D. from the University of Stuttgart, Germany in 2007.
Dr. Michael J. Wurst, Software Engineer, IBM
Author Photo: Michael Wurst
Michael Wurst, Ph.D. is a senior software engineer at the IBM Research & Development Lab in Boeblingen, Germany. He holds a Ph.D. in computer science and is responsible for data mining algorithms and tooling in InfoSphere Warehouse. Prior to joining IBM, Michael worked as a co-developer, architect, and consultant for the RapidMiner data mining software.

요약:  예측 분석 소프트웨어는 대용량 데이터 세트에 있는 불분명하고 숨겨진 패턴을 찾을 수 있게 도움을 줍니다. SPSS(IBM® 회사) 및 IBM InfoSphere™ Warehouse와 같은 현재의 예측 분석 도구를 사용하려면 실제로 분석을 하기 전에 적절한 방법으로 데이터를 표현해야 합니다. 그러나 분석할 데이터를 이러한 도구에서 인식할 수 있는 형식으로 즉시 사용할 수 없는 경우가 있습니다. 예를 들면, SAP 시스템은 다양한 업계의 여러 회사에서 널리 사용되고 있지만 이러한 도구를 사용하여 SAP 시스템의 데이터를 직접 액세스할 수는 없습니다. 이 기사에서는 IBM InfoSphere Information Server를 통해 SAP 시스템에서 데이터를 추출하여 InfoSphere Warehouse 및 SPSS PASW Modeler에서 분석하는 방법을 살펴봅니다.

원문 게재일:  2010 년 7 월 08 일 번역 게재일:   2010 년 9 월 27 일
난이도:  중급 영어로:  보기 PDF:  A4 and Letter (438KB | 20 pages)Get Adobe® Reader®
페이지뷰:  2026 회
의견:  


개요

예측 분석 소프트웨어는 데이터에서 알 수 없고 숨겨진 패턴을 찾기 위해 다양한 애플리케이션에서 사용된다. 비즈니스 인텔리전스 분야에서는 고객을 세그먼트화하는 작업을 일반적인 사례로 들 수 있다. 고객이 적지 않은 모든 기업은 고객 기반에 대한 전체적인 윤곽을 파악해야 하는 문제를 안고 있다. 고객 수가 증가하면서 각 고객을 개별적으로 신속하게 분석하는 작업이 불가능하게 되었다. 그 대신 서로 비슷한 속성이 있는 클러스터로 먼저 고객을 그룹화하여 이러한 문제를 다룰 수 있다. 고객 기반을 이해하기 위해서는 각각의 개별 고객을 분석하는 대신 몇 개의 일반적인 클러스터를 분석하기만 하면 된다.

고객 세그먼트화는 SPSS나 IBM InfoSphere Warehouse와 같은 최첨단 소프트웨어를 사용하여 수행할 수 있다. 이러한 두 도구를 사용하기 위해서는 입력 데이터를 구조화된 형식(예: 데이터베이스 테이블이나 쉼표로 구분된 파일)으로 표현해야 한다. 그러나 모든 애플리케이션 시나리오에서 이러한 형식의 데이터를 언제나 즉시 사용할 수 있는 것은 아니다. 이러한 애플리케이션 시나리오의 대표적인 예로는 테이블의 내부 구조에 데이터를 저장하는 SAP 시스템을 들 수 있다. SAP 시스템은 널리 사용되며 다양한 예측 분석 작업에 필요한 중요한 정보를 포함하고 있다. 그러나 SAP 테이블에 포함된 데이터의 형식은 SPSS와 InfoSphere Warehouse에서 수행되는 분석에 직접 사용하지는 못한다.

이 기사에서는 SAP R/3 시스템에서 가져온 관련 정보를 SPSS나 InfoSphere Warehouse를 사용하여 분석할 수 있는 DB2® 데이터베이스로 추출하는 방법을 실제적인 예제를 통해 살펴본다. 이 예제에서는 고객 세그먼트화 시나리오를 사용하지만 이와 같은 기술의 대부분을 다른 작업이나 기타 SAP 서브시스템에 쉽게 적용할 수 있다.

그림 1에는 일반적인 통합 아키텍처가 표시되어 있다. 첫 번째 단계에서는 SAP 애플리케이션 데이터를 해당 DB2 데이터베이스로 추출한다. 이렇게 하면 스타 스키마로 서로 링크된 테이블 세트가 생긴다. 이 데이터를 분석하기 쉽게 하려면 SQL 문이나 InfoSphere Warehouse의 기능을 사용하여 변환해야 한다. 마지막으로 사전 처리된 데이터에 통계 알고리즘을 적용하여 중요한 패턴을 찾을 수 있다. 이러한 알고리즘은 SPSS PASW Modeler나 InfoSphere Warehouse에서 찾을 수 있다. SPSS PASW의 경우에는 사용자가 데이터베이스에서 데이터를 가져와서 분석할 서버로 보낸다. InfoSphere Warehouse를 사용하는 경우에는 데이터베이스 내부에서 직접 데이터를 분석한다.


그림 1. SAP 데이터를 분석하기 위한 통합 아키텍처
SAP에서 데이터를 추출하여 적당한 형식으로 처리하고 SPSS나 InfoSphere Warehouse로 분석하는 과정을 설명하는 다이어그램

소프트웨어 요구사항

이 기사에 있는 예제에서는 정보 관리 및 비즈니스 분석 제품으로 구성된 IBM 포트폴리오에 속하는 다음과 같은 컴포넌트를 함께 사용한다.

  • DataStage®, IBM InfoSphere Information Server 컴포넌트
  • IBM InfoSphere Information Server Pack for SAP R/3
  • IBM DB2 for Linux®, UNIX®, and Windows®
  • IBM InfoSphere Warehouse Enterprise Edition 또는 IBM SPSS PASW Modeler

또한, 이 예제를 따라 하려면 SAP 시스템에 액세스할 수 있어야 한다. 이 예제에는 SAP 시스템에 고객 비즈니스 오브젝트와 관련된 데이터가 포함되어 있다. 그러나 단지 사소한 수정을 하는 경우에는 다른 SAP 애플리케이션에 적용된 것과 동일하고 설명된 일반적인 기술을 사용해야 한다.


SAP에서 DB2로 데이터 추출하기

SAP 애플리케이션 시스템에 대한 간단한 요약

SAP 애플리케이션 시스템은 다양한 업계에서 널리 사용된다. 많은 기업에서 적어도 비즈니스 프로세스의 일부에 SAP 시스템을 사용하고 있다. SAP 시스템은 비즈니스 데이터를 저장하는 기능을 수행할 뿐만 아니라 이러한 데이터를 처리할 수 있는 프로세스 계층을 제공한다. SAP 시스템은 엔터프라이즈 자원 계획, 공급망 관리, 고객 관계 관리 및 인적 자원 관리와 같은 작업에 사용된다. 그리고 SAP 시스템은 기회 - 주문, 주문 - 결재, 조달 - 지불 등과 같은 다양한 비즈니스 프로세스를 처리한다. 이러한 비즈니스 프로세스를 처리하기 위해 SAP 시스템에는 공통 커널, 특정 비즈니스 프로세스에 적합한 구조(비즈니스 오브젝트) 및 이 구조를 기반으로 하는 처리 로직이 있다. 간단히 말해서 엔진은 모든 SAP 시스템이 동일하지만 각 시스템마다 다른 프로그램을 실행한다.

데이터 구조는 코어 비즈니스 데이터에 대한 구조와 지원 구성 데이터에 대한 구조로 나누어진다. 고객 이름, 주소 및 문의처 정보는 코어 비즈니스 데이터라고 할 수 있으며 반면에 결혼 여부의 목록은 지원하는 구성 데이터의 범주에 속한다고 할 수 있다. 결혼 여부 자체는 코어 비즈니스 데이터에 속하지만 단축 코드 형태로만 저장된다. 지원 구성 데이터는 허용된 값과 이 값에 해당하는 읽을 수 있는 설명을 말한다. 또한, 이러한 이원성은 데이터에 액세스할 수 있는 방법에도 적용된다. IDoc 및 BAPI와 같은 사전 정의된 인터페이스를 통해 코어 비즈니스 데이터에 액세스할 수 있다. 일반적으로 동일한 비즈니스 오브젝트에 속하는 모든 데이터 구조를 간단하게 액세스할 수 있다. 지원 구성 데이터 대부분은 사전 정의된 인터페이스에 의해 노출되지 않으며 해당 SAP 시스템에서 실행 중인 ABAP 프로그램에 의해서만 액세스할 수 있다. 이 기사에서는 IBM InfoSphere Information Server Pack for SAP R/3를 사용하여 이러한 두 가지 데이터 유형에 액세스하는 방법을 살펴본다. 특히, IDoc Extract 스테이지를 사용하여 코어 비즈니스 데이터에 액세스하는 방법과 ABAP Extract 스테이지를 사용하여 지원 구성 데이터에 액세스하는 방법을 확인한다.

대안으로서 ABAP Extract 스테이지를 사용하여 코어 비즈니스 데이터를 추출할 수도 있다. 이렇게 하면 관심 있는 열에 있는 데이터만 정확하게 제한하여 추출할 수 있다는 장점이 있다. 반면에 IDoc 인터페이스를 사용하면 레코드가 변경될 때마다 IDoc가 전송되도록 구성할 수 있는 SAP 변경 포인터를 활용할 수 있다. 이것은 본질적으로 내장 델타 처리 기능을 제공한다.

예제에서는 다음과 같은 고객 정보를 추출한다. SAP에서 이러한 정보를 저장하는 테이블과 필드는 소괄호로 표시되어 있다.

  • 고객 ID(KNA1.KUNNR)
  • 고객 국가(KNA1.LAND1)
  • 고객 유형(KNA1.KTOKD)
  • 사용된 영업 채널(KNVV.VTWEG)

해당 코어 비즈니스 데이터는 SAP R/3의 KNA1과 KNVV 테이블에 저장된다. 고객 유형과 영업 채널 필드에는 단축 코드가 저장된다. 이러한 코드의 의미를 이해하려면 읽을 수 있게 표시된 각 코드의 해당 설명을 가져와야 한다. 이 설명은 JLT_T077D와 JLT_TVTW에 저장되어 있다. IDoc 메커니즘을 사용하여 코어 비즈니스 데이터를 추출하는 경우에는 해당 IDoc 세그먼트 E2KNA1M005와 E2KNVVM007 다음에 테이블 이름이 지정된다. 그림 2에는 실행 중인 샘플에서 추출한 결과가 ER(Entity Relationship) 다이어그램으로 표시되어 있다.


그림 2. 지원하는 구성 데이터와 코어 비즈니스 데이터를 위한 고객 테이블
고객 세그먼트화 예제를 위한 테이블 설명과 관계가 표시된 ER 다이어그램

IDoc Extract 스테이지를 사용하여 코어 비즈니스 데이터 추출하기

이 섹션에서는 SAP 기반 테이블인 KNA1과 KNVV에서 데이터를 추출하여 DB2 데이터베이스에 상주하는 관계형 테이블인 EKNA1M005와 E2KNVVM007에 삽입하는 방법을 살펴본다. 이 작업은 DataStage ETL 작업 내에서 IDoc Extract Pack for SAP R/3 스테이지를 사용하여 수행한다. 편의상, 이 기사에서는 SAP 팩IDoc Extract 스테이지로 각각 IBM InfoSphere Information Server Pack for SAP R/3와 IDoc Exact Pack for SAP R/3를 참조한다.

이러한 지시사항에서는 기본적으로 사용자가 DataStage나 기타 ETL 처리 도구에 익숙하며 이미 다음과 같은 작업을 수행했다고 가정한다.

  • DataStage 패키지 SAP 팩을 설치하고 구성
  • SAP 팩과 함께 제공되는 SAP용 DataStage 관리자를 사용하여 DataStage Connection to SAP 작성
  • IDoc Extract 스테이지와 SAP 간에 통신을 하는 데 필요한 SAP 구성 수행 이러한 구성은 SAP 팩 제품 문서에 기술되어 있으며 이 구성에는 SAP 트랜잭션 BD64를 사용한 분배 모델에 대한 수정사항이 포함되어 있다.
  • IDoc 리스너 애플리케이션이 SAP에서 IDoc 메시지를 수신할 준비가 되도록 SAP용 DataStage 관리자에서 IDoc Listner Settings를 설정

위에 기술된 모든 전제 조건이 제대로 갖추어졌는지 확인한 후, 다음 단계를 수행하여 데이터를 추출한다.

  1. DataStage와 Quality Stage Designer를 시작하고 프로젝트를 열어서 새로운 병렬 DataStage 작업을 작성한다.
  2. DataStage 팔레트에서 IDoc Extract 스테이지를 선택하여 캔버스 위에 끌어 놓는다.
  3. Transformer 스테이지 두 개와 ODBC Connector 스테이지 두 개를 캔버스에 끌어 놓는다. SAP 기반 테이블 KNA1과 KNVV의 데이터 플로우를 구별하기 위해 스테이지의 이름을 각각 Transformer_KNA1, Transformer_KNVV, ODBC_Connector_KNA1ODBC_Connector_KNVV로 바꾼다.
  4. 그림 3에 표시된 바와 같이 링크를 사용하여 스테이지를 연결한다. IDoc Extract 스테이지를 사용하여 SAP에서 데이터를 추출하고 간단한 맵핑을 구현하는 Transformer 스테이지를 통해 추출된 데이터를 ODBC 스테이지로 전달한다. 그다음에는 ODBC 스테이지를 통해 데이터를 DB2 데이터베이스에 있는 관계형 테이블에 삽입한다.

    그림 3. IDoc Extract 스테이지를 사용하는 DataStage 작업
    IDoc Extract 스테이지를 사용하는 DataStage 작업의 기본 형태

  5. IDoc Extract 스테이지를 두 번 클릭하여 다음과 같이 설정값을 구성한다.
    • Stage로 레이블이 지정된 기본 탭에서 다음을 수행한다.
      • General 탭에서 올바른 DataStage Connection to SAP을 선택하고 적절한 SAP 로그온 세부사항을 입력한다.
      • IDoc Type 탭에서 고객 데이터에 적합한 IDoc 유형을 선택한다. 이 예제에서는 DEBMAS06를 선택한다.
      • Options 탭에서 다시 올바른 DataStage Connection to SAP을 선택한다. 작업이 실행될 때마다 SAP 시스템에서 IDoc 데이터를 가져오지 않아도 되도록 오프라인 IDoc 데이터 처리를 활성화한다. 이 메커니즘에 관한 자세한 정보는 SAP 팩 문서를 참조한다.
      • NLS Map 탭에서 적절한 맵핑을 선택한다. 예들 들어, SAP 시스템이 유니코드 시스템인 경우에는 UTF-8을 선택한다.
    • Output으로 레이블이 지정된 기본 탭을 사용하여 기본 테이블 KNA1의 데이터를 처리하는 Transformer 스테이지로 향하는 DSLink3 링크와 기본 테이블 KNVV의 데이터를 처리하는 DSLink10 링크를 구분한다.
      • General 탭에서 추출할 IDoc 컴포넌트를 선택한다(KNA1 데이터 처리용 EKNA1M 또는 KNVV 데이터 처리용 E1KNAVVM).
      • 이제는 Columns 탭에서 이 스테이지에서 생성되는 출력 데이터의 열을 확인할 수 있다.
    그림 4에는 이러한 구성이 완료된 후의 DataStage 작업의 형태가 표시되어 있다. 이제 IDoc Extract 스테이지에서 시작하는 링크에 테이블 아이콘이 생겼다는 점에 주목하자. 이 아이콘은 이 링크에서 전달되는 레코드의 구조가 이제는 알려졌다는 것을 나타낸다.

    그림 4. IDoc Extract 스테이지가 구성된 후의 DataStage 작업
    IDoc Extract 스테이지가 구성된 후에는 DSLink3와 DSLink10 링크에 테이블 기호가 생김

  6. 다음 단계에서는 Transformer 스테이지를 구성한다.

    데이터가 통과하기만 하면 되므로 모든 입력 열이 포함된 입력 링크 DSLink3를 선택하고 이 링크를 끌어서 출력 링크 DSLink4 위에 놓는다. 그림 5에는 입력 열에서 출력 열로 완전히 맵핑된 결과가 표시되어 있다. 예제를 따라 하면서 링크 이름을 다르게 지정할 수 있다고 하더라도 원리는 동일하다. 또한, 이 시점에서 맵핑을 편집하고 데이터에 필요한 모든 변환을 적용할 수 있다(예: 문자열을 대문자로 변환).



    그림 5. KNA1 테이블을 대상으로 Transformer 스테이지에서 입력 열을 출력 열로 맵핑한 결과
    DSLink3 입력 열의 이름을 DSLink4 출력 열로 맵핑한 결과가 표시된 화면

    비슷한 방법으로 SAP 테이블 KNVV의 데이터를 처리하는 링크(DSLink10과 DSLink11)를 구성한다.

    두 가지 Transfomer 스테이지의 구성이 완료되면 이 스테이지에서 시작하는 링크에 테이블 기호가 표시된다.

  7. 다음 단계에서는 ODBC 스테이지를 구성한다. 한 번에 하나씩, 각 스테이지를 두 번 클릭하여 다음과 같이 설정값을 수정한다.
    • Properties 섹션에서 데이터베이스 이름, 데이터베이스 사용자 및 관련 비밀번호와 같은 데이터베이스 연결 정보를 지정한다. 또한, 이 시점에서 데이터베이스 연결을 테스트할 옵션을 선택해야 한다.
    • Usage 섹션에서는 Write 모드를 Insert 상태로 놓아두고 Generate SQL을 선택한다. 관계형 대상 테이블의 완전한 테이블 이름을 지정한다((KNA1의 경우 EKNA1M005 또는 KNVV의 경우 E2KNVVM007). 런타임 시에 테이블이 작성되도록 Table Action을 삭제로 설정하여 해당 테이블을 다시 작성한다.
    • 이제 Columns 섹션에는 대상 테이블(KNA1 테이블은 EKNA1M005 또는 KNVV 테이블은 E2KNVVM007)의 열이 표시된다.
  8. DataStage 작업을 저장한 후, 컴파일한다. 컴파일 오류를 확인하여 수정한다.

DataStage 작업이 성공적으로 작성되면 다음 단계에 따라 DataStage 작업을 실행한다.

  1. SAP Frontend에 로그온한 후, SAP 트랜잭션 BD12를 시작하여 고객 데이터를 전송한다.
  2. 추출할 고객 데이터에 맞게 IDoc을 준비하고 이 IDoc을 전송한다.
  3. DataStage 작업을 실행한다. 데이터가 처리됨에 따라 해당 링크의 색상이 파란색으로 변하며 생성된 레코드 수와 현재의 데이터 처리량을 모니터할 수 있다. DataStage 작업이 완료되면 해당 링크의 색상이 녹색으로 변하며 그림 6과 같이 생성된 총 레코드 수가 표시된다.

    그림 6. DataStage 작업이 성공적으로 완료된 후의 DataStage 작업의 상태
    DataStage 작업이 완료된 후에 생성된 레코드 수와 초당 처리된 행 수가 표시된 화면

지원하는 구성 데이터를 ABAP Extract 스테이지를 사용하여 추출하기

앞서 설명한 바와 같이 지원하는 구성 데이터는 대부분 SAP 시스템 외부에서 직접 액세스할 수 없다. 이 섹션에서는 IBM InfoSphere Information Server Pack for SAP R/3의 ABAP Extract 스테이지를 사용하여 이러한 제한을 처리할 수 있는 방법을 설명한다. 이 스테이지에서는 내부 SAP 테이블에서 데이터를 읽어서 DataStage 작업의 수신 ABAP Extract 스테이지에 전송하는 ABAP 코드를 작성한다.

예제 시나리오에서는 T077D 검사 테이블의 데이터를 추출한다. 이 검사 테이블에는 KNA1 테이블(고객 마스터 테이블)의 KTOKD(고객 계정 그룹) 필드에 있는 유효한 모든 값이 있다. T077D 테이블에는 각 계정 그룹을 위한 구성 데이터가 있는 키 열 외에 다양한 열이 있다. 지금은 구성 데이터보다는 T077D 테이블에 있는 각 항목의 의미 있는 설명 텍스트를 살펴보기로 한다. 이러한 설명 텍스트는 해당 텍스트 테이블 T077X에 있다. ABAP 함수 모듈 DDUT_TEXTTABLE_GET을 이용하면 각 검사 테이블의 해당 텍스트 테이블을 확인할 수 있다(SAP에서 SE37 트랜잭션 코드를 사용하여 이 함수를 실행함). 구성 열이 아니라 텍스트 테이블에 있는 설명 텍스트 열만 확인하면 되므로 검사 테이블 대신 텍스트 테이블만 추출하면 된다. 논리 레벨에서는 KNA1 테이블에 있는 KTOKD 열이 텍스트 테이블 T077X가 아니라 검사 테이블 T077D에 연결된다는 점을 여전히 기억해야 한다.

다음과 같이 DataStage 작업을 어셈블한다.

  1. 새로운 병렬 작업을 작성한다. 작업 특성에 있는 NLS 설정값이 UTF-8로 설정되었는지 확인한다.
  2. DataStage 팔레트에서 다음 세 가지 스테이지를 캔버스로 끌어 놓는다.
    • ABAP Extract 스테이지(팔레트의 Packs 섹션)
    • Transformer 스테이지(팔레트의 Processing 섹션)
    • ODBC Connector 스테이지(팔레트의 Database 섹션)
    ABAP Extract 스테이지가 DataStage 팔레트의 어디에 있는지 그림 7에서 확인할 수 있다.

    그림 7. ABAP Extract 스테이지가 표시된 DataStage 팔레트
    ABAP Extract 스테이지는 DataStage 팔레트의 Packs 섹션 아래에 있음

  3. ABAP Extract 스테이지를 Transformer 스테이지에 연결하고 Transformer 스테이지를 ODBC Connector 스테이지에 연결한다. 스테이지의 이름을 각각 Extract_T077X, Transformer_TrimStore_JLT_T077D로 바꾼다. 이 시점에서는 캔버스가 그림 8과 유사한 형태가 된다.

    그림 8. ABAP Extract 스테이지를 사용하는 샘플 DataStage 작업
    ABAP Extract 스테이지를 Transform 스테이지로 연결하고 Transform 스테이지는 ODBC Connector 스테이지로 연결함

  4. ABAP Extract 스테이지를 두 번 클릭하여 다음과 같이 구성한다.
    1. Output 탭으로 이동한다.
    2. General 탭에서 해당 DataStage Connection to SAP를 선택한다. IDoc Extract 작업을 위해 설정한 것을 선택한다. 또한, User Name, Password, Client Number 및 Language를 입력한다. 초기 테스트를 위해 이러한 값을 직접 입력한다. 나중에는 이러한 테스트 값을 작업 매개변수나 매개변수 세트로 바꾸게 된다.
    3. Data Transfer Method 탭에서 Data Transfer Method를 RFC로 선택한다. SAP 관리자에게 Gateway Host(일반적으로 SAP 서버의 이름)와 Gateway Service(sapgw00를 사용할 수 있음)에 입력할 적당한 값을 문의한다. Create RFC destination automatically를 선택하고 이름을 자동으로 작성하기를 원하는지 묻는 팝업 창이 표시되면 Yes를 클릭한다. 또한, Delete existing RFC destination if necessary를 선택한다.
    4. ABAP Program 탭에서 고유 ABAP Program ID(예:Z_T077X_YOUR_INITIALS)를 입력한다. Generation Method가 Build SQL query로 설정되었는지 확인하고 Build를 클릭한다.
      • Find in Name 필드에 T077X를 입력하고 Search를 클릭한다.
      • T077X 테이블을 선택하고 > 단추를 클릭한다.
      • Select 탭으로 이동하여 SPRAS 열을 제외한 모든 열에 표시를 하고 > 단추를 클릭한다.
      • Where 탭으로 이동하여 T077X.SPRAS = 'E' 조건을 입력한다. 이렇게 하면 영어로 작성된 설명만 표시된다.
      • OK를 클릭한다.
    5. 다시 ABAP Program 탭으로 돌아가서 Generate Program을 클릭하고 생성된 프로그램을 바로 업로드할 것인지 묻는 팝업 창이 표시되면 Yes를 클릭한다.
    6. General 탭으로 돌아가서 Validate Stage를 클릭한다. 그러면 모두 녹색으로 표시되어야 한다.
  5. 캔버스에서 Transformer 스테이지를 마우스 오른쪽 단추로 클릭하고 Propagate Columns / 1 – DSLink3 / 1 – DSLink4를 선택한다. 이렇게 하면 입력 링크 DSLink3의 모든 열이 출력 링크 DSLink4에 복사되어 동시에 연결된다.
  6. Transformer 스테이지를 두 번 클릭한다. 출력 링크 DSLink4 섹션 맨 위 오른쪽 부분에 있는 모든 열을 표시하고 마우스 오른쪽 단추로 클릭하여 Derivation Substitution을 선택한다. 전체 표현식을 Trim(Trim($1, char(0)))으로 대체한다. 이렇게 하면 $1이 각 열의 실제 열 이름으로 바뀐다. 또한, 이 표현식을 사용하면 모든 널 문자와 초과 공백이 제거된다. 이 섹션 하단 오른쪽 부분에서 널 입력 가능 열에 No를 선택하여 모든 키 열을 널 불가능으로 설정한다.
  7. ODBC 스테이지를 두 번 클릭한다. Data Source, Username 및 Password를 입력한다. Write 모드는 Insert로 놓아 둔다. Generate SQL을 Yes로 설정한다. 검사 테이블 이름에 인식 가능한 접두부를 추가하여 테이블 이름을 입력한다(예: JLT_T077D). 또한, 테이블 이름에 스키마 이름을 접두부로 붙일 수도 있다(예: PLD.JLT_T077D). Table Action을 Replace로 설정하여 테이블을 삭제하고 해당 테이블을 다시 작성한다. 데이터베이스 스테이지의 부수 효과로서가 아니라 InfoSphere Data Architect와 같은 설계 도구를 사용하여 모든 테이블을 작성하는 것이 최상의 방법이지만 이 기사에서는 데이터베이스 스테이지를 이용하는 것이 편리하며 이렇게 작은 샘플에서는 이렇게 하는 것으로도 충분하다.
  8. 작업을 저장한다.
  9. 작업을 컴파일한다.
  10. 작업을 실행한다.

텍스트 테이블 TVTWT가 있는 검사 테이블 TVTW를 대상으로 위에 있는 단계를 반복한다. 작업이 완료되면 해당 테이블이 DB2 데이터베이스에 삽입된다.


데이터에 예측 분석 적용하기

예측 분석을 적용하려면 먼저 SAP 애플리케이션에서 추출한 원시 데이터를 전처리하여 관련된 모든 정보가 포함된 하나의 테이블을 작성해야 한다. 그러면 SPSS PASW Modeler나 InfoSphere Warehouse를 사용하여 이 테이블을 분석할 수 있다. 이 두 가지 도구 중 어느 것을 선택할 것인가는 해당 애플리케이션의 설정과 요구사항에 따라 다르다. PASW Modeler는 해당 데이터베이스에서 데이터를 가져와서 별도의 서버에 저장한다. InfoSphere Warehouse는 데이터를 이동하지 않고 해당 데이터베이스 내에서 분석을 수행한다.

분석하는 데 필요한 추가 전처리 과정

예제를 따라왔으면 이제 SAP 애플리케이션에서 네 개의 테이블을 추출하여 DB2에 저장했을 것이다. 실제로 분석을 시작하려면 네 개의 테이블을 하나의 테이블로 결합해야 한다. 이와 같은 하나의 결합 테이블에는 다음과 같은 열이 포함되어야 한다.

  • Customer ID 열(기본 키)
  • 고객의 국가(문자)를 포함하는 열
  • 고객 유형(문자)을 포함하는 열
  • 각 분배 채널의 경우, 이러한 특정 분배 채널의 고객 항목 수를 나타내는 하나의 열

고객 ID의 경우에는 E2KNA1M005 테이블의 ADM_DOCNUM 열을 사용한다. 또한, 이 테이블에서 직접 사용할 수 있는 LAND1 열에는 국가 정보가 포함되어 있다. 고객 유형의 경우에는 KTOKD를 결합 키로 사용하여 E2KNA1M005 테이블의 KTOKD 열을 JLT_T077D에 있는 해당 지원 데이터와 결합한다.

나머지 정보를 얻으려면 이 테이블을 E2KNVVM007 테이블과 결합한다. E2KNA1M005의 ADM_DOCNUM과 ADM_SEGNUM 열을 사용하여 이러한 결합을 수행하여 E2KNVVM007의 ADM_DOCNUM 및 ADM_PSGNUM 열과 결합한다. 정보는 VTWEG에 포함되며 이 VTWEG를 사용하여 JLT_TVTW에 있는 지원 데이터와 결합하여 키 대신 설명 레이블을 얻는다. 마지막으로 분배 채널에서 언피벗(unpivot)을 수행한다.

이러한 변환 작업은 간단한 SQL 문을 사용하여 수행할 수 있다. 그러나 InfoSphere Warehouse에 내장된 데이터 처리 기능을 사용하는 것이 훨씬 더 편리하다는 점을 발견할 수 있을 것이다. 자세한 정보는 InfoSphere Warehouse 문서를 참조한다.

그림 9에는 전처리를 수행한 후의 최종 테이블의 일부가 표시되어 있다.


그림 9. 전처리를 수행한 후의 테이블 샘플
ADM_DOCNUM, COUNTRY, CUSTOMERTYPE, DC_FINAL_CUS... 및 DC_INTERNET

기능은 행동적 또는 인구통계학적 특성으로 분류할 수 있다. 예를 들면, 분배 채널은 행동적 데이터를 표시하며 국가는 인구통계학적 특성을 나타낸다. 일반적으로 고객 세그먼트화 기능을 모두 사용하지는 않는다. 먼저, 고객의 행동에 따라 고객을 세그먼트화하고 이 정보를 인구통계학적 특성에 연결하는 것이 최상의 방법이다.

SPSS PASW Modeler를 사용한 예측 모델 구축

이제까지 특성을 정의하고 최종 테이블을 작성했으므로 실제 고객 세그먼트화 모델을 구축하기만 하면 된다. SPSS PASW Modeler는 이러한 분석을 수행하는 데 사용할 수 있는 도구이다. 이 섹션에 있는 지시사항에서는 사용자가 SPSS PASW Modeler 13을 설치했고 이것을 ODBC 연결을 사용하여 해당 데이터베이스에 연결했다고 가정한다.

PASW Modeler는 스트림 개념을 사용하여 데이터가 분석 시스템을 통해 어떻게 흘러가는지 정의한다. 고객 세그먼트화 예제에서는 그림 10에 표시된 것과 같이 매우 단순한 스트림만 필요하다.


그림 10. 데이터 세그먼트화를 위한 간단한 SPSS 스트림
DB 노드와 TwoStep 노드가 표시된 SPSS PAWS Modeler 13의 스크린샷

DB 노드는 데이터베이스에서 데이터를 읽는다. TwoStep 노드는 실제 세그먼트화를 수행한다. 다음과 같은 기본적인 단계를 따라 이 스트림을 작성한다.

  1. Source 탭에서 Database 노드를 끌어서 캔버스에 놓는다.
  2. 이 노드를 두 번 클릭하고 데이터 소스와 테이블 이름(이 경우에는 SAP.CUSTOMERS 테이블)을 입력한다.
  3. Types 탭으로 전환하여 Read Values를 클릭한다. 이렇게 하여 팝업 메시지가 표시되면 OK를 클릭한다. 값을 읽는 과정에서 SPSS는 데이터 전체를 빠르게 스캔하여 데이터 유형과 도메인을 분석한다. OK를 클릭하여 노드를 닫는다.
  4. Modeling 탭에서 TwoStep 노드를 끌어서 캔버스에 놓는다. TwoStep 노드는 복잡한 자기 최적화 세그먼트화 알고리즘이다. 일반적으로 이 노드에서는 추가로 매개변수화 또는 사용자 정의를 할 필요가 없다.
  5. 노드를 연결한다.
  6. TwoStep 오퍼레이터를 두 번 클릭하고 Fields 탭으로 이동하여 DC로 시작하는 모든 필드를 추가한다. 이렇게 하면 고객 행동과 고객의 분배 채널 사용과 관련된 필드만 포함되도록 지정된다.
  7. 위 캔버스에서 녹색 실행 단추를 클릭한다. 이 단추를 누르면 세그먼트화 모델이 구축된다.
  8. 프로세스가 완료되면 오른쪽 상단 모서리에 있는 Models 섹션에 새로운 아이콘이 표시된다. 이 아이콘을 마우스 오른쪽 단추로 클릭하고 Browse를 선택한다. 이렇게 하면 세그먼트화 모델이 포함된 새 창이 열린다.

Visualizer를 사용하여 다양한 방식으로 세그먼트화 모델을 분석할 수 있다. 특히, 클러스터 뷰에서 가치있는 정보를 얻을 수 있다. Clusters for the View를 클릭하여 클러스터 뷰를 선택한다.

그림 11에는 세 개의 클러스터가 있는 클러스터 뷰에 대한 사례가 표시되어 있다. 이 뷰를 살펴보면 cluster-3에 있는 고객이 모든 분배 채널을 사용하며 cluster-2에 있는 고객은 스토어 체인을 거의 사용하지 않거나 전혀 사용하지 않으며 cluster-1에 있는 고객은 인터넷 채널을 사용하지 않을 뿐만 아니라 모든 서비스를 거의 사용하지 않는다는 사실을 확인할 수 있다. 또한, SPSS Visualizer를 사용하여 해당 클러스터의 훨씬 더 중요한 특성을 확인하거나 일부 매개변수(예: 클러스터 수)를 직접 변경하여 클러스터링 프로세스를 다시 실행할 수 있다. 매개변수를 변경하는 과정은 데이터베이스 노드에서 수행된 것과 같은 방식으로 처리된다.


그림 11. 고객 세그먼트화를 수행하는 과정에서 결과적으로 세 개의 클러스터가 발견되었다.
SPSS 클러스터 Visualizer의 클러스터 뷰에 각 클러스터의 특성과 설명, 크기가 표시된 화면

InfoSphere Warehouse를 사용하여 예측 모델 구축하기

또한, InfoSphere Warehouse를 사용하여 비슷한 예측 모델을 구축할 수 있다. InfoSphere Warehouse는 데이터베이스에서 데이터를 가져오지 않는 대신 내장 함수와 저장 프로시저를 사용하여 분석을 수행한다.

InfoSphere Warehouse는 앞서 살펴본 SPSS PASW Modeler 스트림과 비슷한 플로우 개념을 사용한다. 그림 12에는 InfoSphere Warehouse 마이닝 플로우에 대한 예가 표시되어 있다. 이 플로우는 세 개의 오퍼레이터로 구성된다. 첫 번째 오퍼레이터는 테이블에 있는 데이터에 액세스하는 데 필요하고 두 번째는 세그먼트화를 수행하기 위해 필요하며 세 번째는 세그먼트화를 시각화하기 위해 사용된다. 이러한 스트림을 작성하는 데 필요한 단계는 다음과 같다.

  1. 마이닝 플로우를 새로 작성한다.
  2. Table Source 오퍼레이터를 끌어서 캔버스에 놓고 SAP.CUSTOMERS 입력 테이블을 선택한다.
  3. Clusterer 오퍼레이터를 끌어서 캔버스에 놓고 이 오퍼레이터의 Input 포트를 Table Source 오퍼레이터의 Output 포트에 연결한다.
  4. 클러스터 특성을 열고 Model Settings로 이동한다. 클러스터의 최대 수와 클러스터링 알고리즘을 각각 3Kohonen으로 선택한다. Column properties로 전환하여 DC로 시작하는 열을 제외한 모든 열의 필드 사용 유형을 supplementary로 설정한다. 이렇게 하면 알고리즘에서 클러스터링에 DC 열만을 사용하며 기타 열에 대해서는 통계만 수집된다.
  5. Visualizer 오퍼레이터를 끌어서 캔버스에 놓고 이 오프레이터의 Model 포트를 Clusterer 오퍼레이터의 Model 포트에 연결한다. 그러면 마이닝 플로우가 그림 12와 같은 형태로 표시된다.

    그림 12. InfoSphere Warehouse에서의 세그먼트화 플로우
    Customers 테이블의 출력은 Cluster_02로 향하고 Cluster_02는 모델을 Visualizer_013로 전송

  6. 위 캔버스에서 녹색 실행 단추를 클릭하여 세그먼트화 모델을 구축하는 작업을 시작한다.

프로세스가 완료되면 예측 모델이 자동으로 표시된다. 그림 13에서 결과 중 일부를 확인할 수 있다. 앞서 SPSS 모델에 대하여 설명했던 것과 비슷한 방식으로 이 결과를 분석할 수 있다. 또한, 각 세그먼트에서의 값 분포를 확인할 수 있다. 대괄호로 둘러싸인 필드는 세그먼트화에 사용되지 않은 필드이다.


그림 13. InfoSphere Warehouse에서의 세그먼트화 모델
세그먼트화에 사용되지 않은 필드가 대괄호로 둘러싸여 있는 각 세그먼트의 그래프가 표시된 화면

결론

SAP 시스템에는 SPSS나 InfoSphere Warehouse와 같은 분석 도구를 사용하여 비즈니스 프로세스를 최적화하는 데 사용할 수 있는 가치있는 데이터가 포함되어 있다. 그러나 분석을 수행하려면 그전에 데이터를 추출하여 전처리해야 한다. 이 기사에서는 고객 세그먼트화 예제를 사용하여 SAP 데이터의 분석과 관련된 작업을 수행하는 방법을 설명했다. 이와 같이 쉽고 간단한 방법을 고객 가치 평가, 고객 이탈 예측 그리고 상향 판매 및 교차 판매 기회와 같은 기타 여러 가지 적절한 애플리케이션에 적용할 수 있다.


참고자료

필자소개

Stefanie Scherzinger photo

Stefanie Scherzinger obtained a Ph.D. for her work on main-memory based XML stream processing at Saarland University, Germany. In 2007, she left academia to take a position as a Software Engineer in IBM's Information Management division.

Thomas Schwarz is the development lead for a solution offering targeted at SAP applications. He is an expert on data migration and consolidation using the IBM InfoSphere Information Server, especially for SAP systems. Prior to that, Thomas consulted with customers on MDM architecture and integration issues, while being a member of the Center of Excellence for Master Data Management based in the IBM Boeblingen lab in Germany. Before joining IBM, Thomas was a research assistant at the University of Stuttgart working on the integration and federation of location-based data in loosely-coupled data services. He received his Ph.D. from the University of Stuttgart, Germany in 2007.

Author Photo: Michael Wurst

Michael Wurst, Ph.D. is a senior software engineer at the IBM Research & Development Lab in Boeblingen, Germany. He holds a Ph.D. in computer science and is responsible for data mining algorithms and tooling in InfoSphere Warehouse. Prior to joining IBM, Michael worked as a co-developer, architect, and consultant for the RapidMiner data mining software.

잘못된 도움말 신고

부정사용 신고

감사합니다. 이 항목은 운영자가 관심을 표시했습니다.


잘못된 도움말 신고

부정사용 신고

제출실패 신고. 나중에 다시 실행해주세요.


디벨로퍼웍스 로그인


IBM ID가 필요하세요?
IBM ID를 잊으셨습니까?


비밀번호를 잊으셨습니까?
비밀번호 변경

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

화면상에 보여지는 닉네임을 정하세요.

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

3개의 &이나 대쉬를 포함해주시고 31글자내로 제한해주세요.


developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


아티클 순위

의견

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=Information Management
ArticleID=548112
ArticleTitle=SPSS와 InfoSphere Warehouse를 사용하여 SAP에서 예측 분석하기
publish-date=07082010
author1-email=SSCHERZ@de.ibm.com
author1-email-cc=
author2-email=schwarzt@de.ibm.com
author2-email-cc=
author3-email=mwurst@de.ibm.com
author3-email-cc=

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.