EPM Integration Agent로 쓰기 되돌림 실전 기법

이 항목에서는 EPM Integration Agent를 사용하여 Oracle Enterprise Performance Management Cloud 애플리케이션에서 온-프레미스 데이터 웨어하우스로 데이터를 로드하는 데 필요한 단계에 대해 설명합니다. 데이터를 로드하는 데 다음 두 가지 방법을 사용할 수 있습니다.

  1. 애플리케이션 옵션의 테이블 이름 및 애플리케이션 차원의 테이블 열별로 데이터를 로드합니다. (Insert 쿼리는 EPM Integration Agent에서 자동으로 생성됩니다.)

  2. 사용자정의 SQL Insert 쿼리를 사용하여 테이블 이름 및 열별로 데이터를 로드합니다.

EPM Integration Agent를 사용하여 EPM Cloud 애플리케이션에서 온-프레미스 데이터 웨어하우스로 데이터를 로드하려면 다음을 수행합니다.

  1. 데이터를 익스포트할 RDBMS 테이블을 생성합니다.

    이 예에서는 VISION_DATA라는 테이블에 Vision 애플리케이션의 모든 차원과 BATCH_ID 및 DATA_AMOUNT라는 두 개의 추가 열이 있습니다. BATCH_ID 열은 EPM Cloud에서 Data Integration 프로세스 ID를 채우는 데 사용됩니다. DATA_AMOUNT 열은 금액 열을 채우는 데 사용됩니다.

    RDBMS 테이블이 표시된 이미지

  2. 열 이름에 대한 머리글 레코드를 포함하여 애플리케이션 등록에 대한 테이블 콘텐츠를 CSV 파일로 익스포트합니다.

    익스포트 마법사가 표시된 이미지

    CSV 출력 파일은 다음과 같습니다.

    CSV 출력 파일이 표시된 이미지

    이러한 열이 타겟 테이블 열을 정확하게 나타낸다고 가정합니다. SQL insert 문은 열 이름을 기반으로 생성됩니다.

  3. 데이터 교환, 데이터 통합 탭, 작업 메뉴 순으로 이동하여 애플리케이션을 선택합니다.

    작업 메뉴의 애플리케이션 옵션이 표시된 이미지

  4. 애플리케이션 페이지에서 다음을 완료하여 쓰기 되돌림 프로세스를 위한 데이터 익스포트 애플리케이션을 등록합니다.

    1. 범주에서 데이터 익스포트를 선택합니다.

    2. 유형에서 온-프레미스 데이터베이스로 데이터 익스포트를 선택합니다.

    3. 2단계에서 생성된 파일을 업로드하고 선택합니다.

    애플리케이션 생성 페이지 이미지

    "데이터 익스포트" 애플리케이션이 생성되며 애플리케이션 이름은 애플리케이션 등록에 사용된 파일 이름과 일치합니다.

    애플리케이션 페이지 표시 이미지

  5. 애플리케이션 페이지에서 애플리케이션 오른쪽에 있는 선택 아이콘 이미지을 누르고 애플리케이션 세부정보를 선택합니다.

  6. 차원 탭을 선택합니다.

    애플리케이션 등록 프로세스에서는 자동으로 CSV 파일에 있는 모든 열의 차원 분류로 "일반"을 지정하며 이에 따라 "데이터 테이블 열 이름"도 지정합니다.

    애플리케이션 세부정보 차원 탭이 표시된 이미지

  7. 계정, 금액, 기간, 연도 열을 적절하게 분류합니다.

    • 열이 임포트 형식의 소스 열에 매핑되어 있으며 소스 필드에 항상 값이 있는 경우 해당 열을 계정으로 분류합니다. 다음 예에서 "ACCOUNT" 열이 "계정"으로 분류되었습니다. 이 차원의 데이터 테이블 열 이름은 "ACCOUNT"로 분류되었습니다.

    • DATA_AMOUNT는 "금액"으로 분류하고 데이터 테이블 열 이름은 비워 둡니다.

    • YEAR는 "연도"로 분류하고 데이터 테이블 열 이름은 비워 둡니다.

    • PERIOD는 "기간"으로 분류하고 데이터 테이블 열 이름은 비워 둡니다.

      애플리케이션 세부정보에 차원 탭이 표시된 이미지

  8. 애플리케이션 페이지에서 애플리케이션 오른쪽에 있는 선택 아이콘 이미지을 누르고 애플리케이션 세부정보를 선택합니다.

  9. 옵션 탭을 선택합니다.

  10. 테이블 이름, JDBC URL 및 데이터베이스 인증서를 지정합니다.

    Insert 쿼리 필드는 비워 둡니다. "Insert 쿼리"를 지정하지 않으면 애플리케이션 차원을 타겟 데이터베이스 열과 정확히 동일한 이름으로 나타낸다고 가정합니다. 쓰기 되돌림 프로세스에서 채워야 하는 타겟 테이블의 각 열이 애플리케이션 차원에 포함되어야 합니다. 그러지 않으면 통합이 실패합니다.

    애플리케이션 세부정보의 옵션 탭 이미지

  11. 소스 애플리케이션과 타겟 EPM Cloud 애플리케이션 간 통합을 생성합니다.

    다음 예에서는 소스 "Vision Planning" 애플리케이션과 "ORACLE_DWH"라는 타겟 데이터 익스포트 애플리케이션을 보여 줍니다.

    통합 생성 페이지 표시 이미지

  12. 모든 열을 매핑하고 "copysource()"를 "금액" 및 "BATCH_ID"를 제외한 모든 차원의 타겟 표현식으로 사용합니다.

    표현식이 멤버 매핑의 "BATCH_ID"에 적용됩니다. "금액" 차원에는 타겟 표현식이 없습니다.

    통합 생성 페이지의 매핑 차원이 표시된 이미지

  13. 멤버 매핑에서 TDATASEG_T 테이블의 LOADID 열을 사용하여 BATCH_ID에 대한 #SQL 매핑을 생성합니다.

    LOADID 열을 사용하는 BATCH_ID에 대한 #SQL 매핑이 표시된 이미지

    매핑된 BATCH_ID 차원이 표시된 이미지

  14. 옵션, 필터 순으로 이동하여 필요에 따라 소스 계획 애플리케이션 필터를 지정합니다.

    다음 예에서는 Vision 애플리케이션의 모든 데이터가(시작/종료 기간 범위 동안) 타겟 애플리케이션으로 임포트 및 익스포트되어 필터가 선택되지 않았습니다.

    옵션 페이지의 필터 탭이 표시된 이미지

  15. 옵션, 소스 큐브 순으로 이동하여 소스 큐브(계획 유형)를 지정합니다. 그런 다음, 기간 매핑 유형에서 기본값을 지정합니다. 아래 표시된 대로 저장을 누릅니다.

    옵션 페이지의 옵션 탭이 표시된 이미지

  16. 타겟 데이터베이스에 액세스할 수 있는 온-프레미스 호스트에서 EPM Integration Agent를 시작합니다.

    Agent가 온-프레미스 호스트에서 시작됩니다.

  17. Data Integration에서 지정된 기간 범위에 대해 통합을 실행합니다.

    다음 예에서는 1월 16일 ~ 12월 16일 기간이 선택되었습니다.

    통합 실행 페이지 표시 이미지

  18. 온-프레미스 에이전트가 EPM Cloud에서 작업 세부정보를 가져오는 것을 관찰하고 프로세스가 완료될 때까지 기다립니다.

    에이전트의 작업 세부정보가 표시된 이미지

    Data Inegration에서 작업이 실행되는 경우 작업 세부정보가 표시된 이미지

  19. 프로세스 세부정보에서 로그 파일을 열고 익스포트된 총 데이터 레코드 수와 Insert 쿼리 명령문을 확인합니다.

    프로세스 세부정보의 로그 파일이 표시된 이미지

  20. 타겟 데이터베이스에서 레코드가 성공적으로 익스포트되었는지 확인합니다.

    클라우드 프로세스 ID가 데이터베이스의 BATCH_ID 열에 성공적으로 매핑되었는지 확인합니다.

    타겟 데이터베이스가 표시된 이미지

  21. EPM Cloud에서 Insert 쿼리를 사용하여 VISION_DATA_2 이름으로 동일한 데이터를 다른 케이블로 익스포트합니다.

    INSERT 쿼리를 통해 데이터베이스 열을 매핑하는 데 복합 SQL 표현식을 사용할 수 있습니다. SQL 표현식은 클라우드 데이터베이스(Oracle)가 아닌 타겟 데이터베이스에서 실행됩니다. 이를 통해 MS SQL Server, MYSQ 등과 같은 데이터베이스 유형에 맞게 유연하게 SQL 표현식을 사용할 수 있습니다. 다른 테이블의 하위 쿼리를 사용하여 열 값을 파생할 수도 있습니다.

    다음 예를 참조하십시오.

    • BATCH_ID는 BATCH_NUMBER로 이름이 바뀌었습니다.

    • ENTITY는 ORGANIZATION으로 이름이 바뀌었습니다.

    • YEAR 및 PERIOD 열은 제거되었으며 PERIOD_NAME 열이 생성되어 동일한 열의 연도 및 기간을 둘 다 채웠습니다.

    • DATA_AMOUNT의 스케일은 소수점 아래 2자리까지만 저장하도록 감소되었습니다.

    다른 열 이름 세트로 등록된 애플리케이션이 이미 있으므로 애플리케이션을 등록하는 데 CSV 파일이 필요하지 않습니다. SQL Insert 쿼리를 사용하면 등록된 애플리케이션의 열 이름으로 SQL Insert 쿼리를 사용하는 실제 열 이름을 매핑할 수 있다는 장점이 있습니다. 따라서 애플리케이션에 타겟 데이터베이스의 실제 열 이름과 완전히 다른 차원을 포함할 수 있습니다. 애플리케이션 차원이 타겟 데이터베이스 테이블에 채워진 실제 열의 서브세트만 나타낼 수도 있습니다.

    자세한 내용은 다음을 참조하십시오.사용자정의 INSERT 쿼리를 사용한 쓰기 되돌림.

    INSERT 쿼리의 값은 타겟 차원 이름을 ~~(물결표)로 묶어 나타냅니다. 예를 들어 데이터 익스포트 애플리케이션에서 이름이 ABC인 차원을 데이터베이스에서 DEF 열에 매핑해야 하는 경우 DEF 열의 값을 ~ABC~로 지정합니다.

  22. 다음 값을 사용하여 새 쿼리를 생성합니다.

    1. BATCH_ID를 BATCH_NUMBER로 리매핑합니다.

    2. Acc 접두어를 사용합니다(예: ACCOUNT).

    3. Org 접두어를 사용합니다(예: ORGANISATION).

    4. 기간 및 연도를 PERIOD_NAME으로 연결합니다.

    5. Prd 접두어를 사용합니다(예: PRODUCT).

    6. DATA_AMOUNT를 소수점 이하 2자리로 반올림합니다.

    쿼리 생성 페이지 표시 이미지

  23. 애플리케이션 세부정보에서 등록된 데이터 익스포트 애플리케이션의 쿼리 이름을 지정하고 테이블 이름은 비워 둡니다.

    애플리케이션 세부정보 페이지 표시 이미지

  24. 기간 범위에 대한 통합 프로세스를 다시 실행하고 프로세스가 성공할 때까지 기다립니다.

    통합 실행 페이지 표시 이미지

  25. 대상 테이블이 제대로 채워졌는지 검증합니다.

    채워진 타겟 데이터베이스가 표시된 이미지