Planning Analytics 연결에서 데이터 추가하기

Planning Analytics 연결에서 데이터에 액세스하려면 직접 코드를 작성해야 합니다. TM1Py 와 같은 기존 오픈소스 라이브러리를 사용할 수 있습니다. 이 라이브러리는 Python 패키지로, Planning Analytics REST API를 라이브러리 형태로 래핑한 것입니다. 오픈 소스 라이브러리를 설치한 후에는 해당 라이브러리 함수를 사용하여 Planning Analytics 서비스에 연결하고 데이터에 접근할 수 있습니다.

참고: 타사 오픈 소스 라이브러리에 대한 정보는 사용자의 편의를 위해 제공됩니다. 이 코드는 테스트를 거쳤지만, IBM 에서 공식적으로 지원하지는 않습니다.

다음 예제 코드는 TM1Py 오픈 소스 라이브러리를 사용하여 Planning Analytics 연결에서 데이터를 읽어와 노트북의 데이터프레임에 로드하는 방법을 보여줍니다:

  • 사용 가능한 함수에 대한 자세한 내용은 TM1Py 를 참조하십시오.
  • 라이브러리 사용 법을 알아보려면 TM1Py 를 참조하세요.

Planning Analytics 연결에서 데이터를 추가하려면:

  1. 노트북의 코드 셀에서 먼저 TM1Py 라이브러리를 설치하세요:

    # install TM1Py library
    !pip install TM1py
    
  2. 코드 스니펫 아이콘(코드 스니펫 아이콘)을 클릭한 다음, ‘데이터 읽기’를 클릭하고 프로젝트에서 연결을 선택합니다.

  3. 노트북의 빈 코드 셀을 클릭하고, ‘자격 증명 ’ 로드 옵션을 선택한 다음 해당 셀에 자격 증명을 로드하세요. TM1Py 라이브러리 함수에서 반환된 자격 증명을 사용하여 Planning Analytics 서비스에 연결하십시오.

  4. 그런 다음, TM1Py 라이브러리 함수를 사용하여 Planning Analytics 서비스에 연결합니다.

    • Planning Analytics 서비스가 기본 인증을 사용하는 경우, URL, 사용자 이름 및 비밀번호를 지정해야 합니다:

      # Connect to your Planning Analytics service
      # The base URL is the TM1 API endpoint excluding the /api/v1 suffix
      from TM1py.Services import TM1Service
      tm1 = TM1Service(base_url='http://<server.company.com:port>', user='<username>', password='<password>', ssl=False)
      
    • Planning Analytics 가 CAM 인증을 사용하는 경우, URL, 사용자 이름, 비밀번호 및 네임스페이스를 지정해야 합니다:

      # Connect to your Planning Analytics service
      # The base URL is the TM1 API endpoint excluding the /api/v1 suffix
      from TM1py.Services import TM1Service
      tm1 = TM1Service(base_url='http://<server.company.com:port>', user='<username>', password='<password>', namespace='<namespace>', ssl=False)
      

    힌트 : Planning Analytics 서비스와의 연결이 보안 HTTP 연결인 경우 이 ssl 매개변수를 True로 설정하십시오.

  5. Planning Analytics 데이터를 사용하여 TM1Py 라이브러리를 활용하는 방법에는 여러 가지가 있습니다. 다음 예제 코드는 모든 큐브를 읽어 분석하려는 데이터가 포함된 큐브의 이름을 찾아내고, 찾아낸 큐브의 뷰를 사용하여 데이터를 탐색하고 수정하는 방법을 보여줍니다.

    # Read all cubes and print cube names
    tm1.cubes.get_all_names()
    
  6. 특정 큐브의 뷰를 읽어와 뷰 이름을 출력합니다:

    # Read all views for one cube and print the view names
    tm1.cubes.views.get_all_names(cube_name="<cube-name>")
    
  7. 공용 뷰의 데이터를 pandas의 ` DataFrame ` 객체에 불러온 다음, 첫 번째 항목들을 출력합니다. 비공개 뷰에서 데이터를 불러오려면 private 매개변수를 로 설정해야 True 합니다.

    # Read a dataframe from a public view and print the entries:
    df_1 = tm1.cubes.cells.execute_view_dataframe(cube_name="<cube-name>", view_name="<view-name>", private=False)
    df_1.head()