다음을 통해 공유


OneStream

비고

이 커넥터는 OneStream에서 소유하고 제공합니다.

요약

Item Description
배포 상태 일반 공급
Products Power BI(데이터 세트)
Power BI(데이터 흐름)
Fabric(데이터 플로우 Gen2)
지원되는 인증 유형 조직 계정

필수 조건

OneStream 플랫폼 버전 8.2 이상이 필요합니다. Microsoft Power BI Desktop을 설치하기 전에 확인해야 하는 시스템 요구 사항이 있습니다.

지원되는 기능

OneStream 커넥터를 사용하면 OneStream 애플리케이션에 안전하게 액세스할 수 있습니다. 커넥터를 사용하여 다음을 수행할 수 있습니다.

  • OneStream 애플리케이션에서 Power BI로 직접 큐브 및 관계형 데이터에 액세스합니다.
  • 메타데이터 멤버 및 모든 OneStream 속성에 액세스합니다.
  • Power BI에서 전체 계층 구조를 쉽게 다시 만듭니다.
  • Power BI 서비스에 대한 데이터 로드를 자동화합니다.

Power BI Desktop에서 OneStream에 연결

데이터 가져오기

  1. Power BI Desktop을 열고 다른 원본에서 데이터 가져오기를 선택합니다.

    데이터 가져오기 환경의 스크린샷.

  2. 검색 상자에 OneStream 을 입력하여 사용자 지정 OneStream 커넥터를 찾습니다.

    검색 상자에 OneStream이 입력된 데이터 가져오기 대화 상자의 스크린샷

  3. OneStream을 선택합니다.

  4. 연결을 선택합니다.

커넥터 구성

  1. OneStream 환경 URL을 입력합니다. 환경 URL에 https://를 앞에 붙여 입력해야 합니다 (다음 스크린샷 참조). 그렇지 않으면 연결 시도가 제대로 작동하지 않습니다.

    환경 URL이 입력된 커넥터 구성 대화 상자의 스크린샷

  2. 확인을 선택합니다.

Authenticate

  1. 로그인을 선택하여 인증 프로세스를 시작합니다.

  2. 이 선택 영역은 로그인을 위해 기본 브라우저에서 OneStream ID 서버를 리디렉션하고 엽니다.

  3. OneStream 계정에 로그인합니다.

    OneStream 로그인 대화 상자가 표시된 인증 대화 상자의 스크린샷

  4. 로그인에 성공하면 연결을 선택합니다.

    사용자가 로그인한 인증 대화 상자의 스크린샷

OneStream 탐색기

로그인에 성공한 후 OneStream 커넥터는 4가지 유형의 호출을 사용할 수 있는 탐색기를 표시합니다.

차원 가져오기가 선택된 탐색기 대화 상자의 스크린샷

함수를 구성하는 데 도움이 필요한 경우 모범 사례를 참조하세요.

사용하려는 함수를 선택한 후 다음을 수행하여 데이터를 로드합니다.

데이터 로드

  1. 요구 사항에 따라 지정된 함수에 대한 값을 제공합니다. 매개 변수를 필요한 매개 변수로만 전환하거나 필요한 경우 모두 사용할 수 있습니다. Power BI는 반환될 테이블에 대한 데이터의 미리 보기를 표시합니다.

  2. 매개 변수를 제공한 후 데이터를 로드하거나 변환합니다.

    • 로드를 선택하여 테이블을 내부 Power BI Desktop 데이터 모델에 로드합니다.
    • 내부 Power BI Desktop 데이터 모델에 로드하기 전에 데이터를 변환 하여 테이블을 변경합니다. 데이터 변환은 테이블의 대표 보기를 사용하여 새 창에서 파워 쿼리 편집기를 시작합니다.
  3. 추가 테이블을 로드해야 하는 경우 함수 선택, 값 제공, 테이블 로드 또는 변환의 이전 단계를 반복합니다.

  4. Power BI Desktop 데이터 모델에 로드한 후에는 테이블 간의 관계를 만들고 보고서를 만들 수 있습니다.

OneStream 사용자 지정 커넥터에 대한 세부 정보

OneStream 커넥터는 REST(표현 상태 전송) API를 사용하여 OneStream 인스턴스에서 데이터를 가져옵니다.

OneStream 커넥터는 현재 로그인한 사용자의 권한 경계에서 모든 API 호출을 수행하므로 OneStream에서 사용자에 대해 정의된 보안을 적용합니다.

비고

커넥터는 Power BI 보고서 사용자를 대신하여 READ 범위만 사용하여 모든 작업을 수행합니다. OneStream 커넥터는 업데이트 작업을 수행할 수 없습니다.

OneStream 커넥터에는 호출당 2백만 개의 행이 제한됩니다. 이 제한에 대해 쿼리를 실행하면 오류가 트리거됩니다.

Power BI 서비스에 Power BI 보고서 게시

  1. Power BI Desktop에서 게시 단추를 선택하여 클라우드 기반 Power BI 서비스에 데이터, 보고서 및 데이터 모델을 게시합니다.

  2. 적절한 Power BI 작업 영역을 선택하고 선택을 선택합니다.

    게시 단추, 작업 영역 및 게시 선택 단추가 강조 표시된 Power BI Desktop의 스크린샷

  3. 게시가 성공하면 Power BI 서비스로 이동하는 링크가 있는 "성공" 메시지가 표시됩니다.

    성공 메시지와 강조된 링크가 있는 Power BI에 게시 대화 상자의 스크린샷

  4. Power BI 서비스의 Power BI Desktop에서 모든 보고서를 볼 수 있는 링크를 선택하고 Power BI 서비스에서 대시보드를 만듭니다.

    새로 고침 아이콘이 강조 표시된 서비스의 새로 고침 데이터 모델 스크린샷

모범 사례 및 함수 도움말

일반적인 모범 사례

  • 필요한 세부 데이터만 로드합니다. 즉, 월 수준에서 집계된 데이터만 필요한 경우 일별 수준에서 데이터를 로드하지 마세요. 모델이 작을수록 항상 성능이 향상됩니다.

  • 만드는 변환 수를 제한합니다. 쿼리를 복잡하게 만들수록 쿼리가 실패할 가능성이 높아집니다.

  • OneStream의 재무 논리 및 큐브 뷰/데이터 어댑터를 활용하여 Power BI에 로드되는 테이블을 만듭니다.

    예: 통합에는 부모 엔터티가 자식 엔터티 값 중 하나 중 40%만 사용합니다. 이 논리가 OneStream에서 수행되었는지 확인하고 이미 값이 채워진 Power BI에서 데이터 어댑터를 로드합니다.

    Power BI에서 논리를 복제하려는 시도는 매우 비효율적이며 원본 시스템에서 더 잘 수행됩니다.

사용자 지정 M 쿼리에서 루프를 사용하여 큰 데이터 세트 로드

최대 행 제한으로 인해 실패할 수 있는 많은 양의 데이터를 로드하는 경우 Power BI에서 직접 사용자 지정 쿼리를 만들어 차원을 반복하고, 쿼리를 여러 쿼리로 분할하고, 쿼리 결과에서 데이터를 Power BI로 직접 조인하는 것이 좋습니다.

다음 쿼리 예제에서는 CubeViewMD 데이터 어댑터 검색을 여러 번 실행합니다. 3가지 주요 구성 요소는 다음과 같습니다.

  • GetCubeViewColumns: 로드하려는 지정된 어댑터의 모든 열 목록을 반환합니다. 열을 동적으로 구문 분석할 필요가 없도록 열을 수동으로 설정하므로 비용이 많이 듭니다(쿼리를 한 번 더 실행해야 합니다).

  • GetEntities: Method - Members로 구성된 DataAdapter를 실행하여 차원에 필요한 모든 멤버를 검색합니다(이 경우 엔터티 참고, 다음 이미지를 참조하십시오). 필요한 모든 차원/멤버 스크립트에 대해 반복 처리하도록 변경할 수 있습니다.

    멤버 데이터 어댑터 구성 설정의 스크린샷

  • GetCubeViewData: CubeViewMD 어댑터를 실행합니다. CubeView에는 루프할 때 GetEntities 값을 전달하는 데 사용되는 매개 변수인 라는 pbi_param_entity매개 변수가 포함되어 있습니다.

사용자 지정 쿼리에서 이 코드를 사용하여 차원에 대해 지정된 멤버 스크립트를 반복 실행하면서 선택한 데이터 어댑터를 실행할 수 있습니다.

let
   GetCubeViewColumns = () as list =>
      let 
            Source = {"Cube","Entity","Parent","Cons","Scenario","Time","StartDate","EndDate","View","Account","Flow","Origin","IC","UD1","UD2","UD3","UD4","UD5","UD6","UD7","UD8","CalcScript","Amount"}
      in
            Source,

   GetEmptyTable = () as table =>
      let
            Source = #table(
               GetCubeViewColumns(),
               {
               }
            )
      in 
            Source,

   GetEntities = () as table =>
      let
            Source = OneStream.Navigation("https://your-environment.onestreamcloud.com"),
            YourApp = Source{[Key="YourApp"]}[Data],
            YourCube = YourApp{[Key="YourCube"]}[Data],
            #"Get Custom Adapter" = YourCube{[Key="Get Custom Adapter"]}[Data],
            MemberList = #"Get Custom Adapter"("zzz_PBI_EntityMembers", "Default", null, null),
            MemberListNoDuplicates = Table.Distinct(#"Invoked FunctionGet Custom Adapter1", {"MemberId"}),
            MemberListNamesOnly = Table.RemoveColumns(MemberListNoDuplicates,{"DimTypeId", "DimId", "MemberId", "Description", "SupportsChildren", "IndentLevel"})
      in
            MemberListNamesOnly,


   GetCubeViewData = (EntityName) as table =>
      let
            Source = OneStream.Navigation("https://your-environment.onestreamcloud.com"),
            YourApp = Source{[Key="YourApp"]}[Data],
            YourCube = YourApp{[Key="YourCube"]}[Data],
            #"Get Custom Adapter" = YourCube{[Key="Get Custom Adapter"]}[Data],
            CubeView = try #"Get Custom Adapter"("zzz_PBI_CubeViewAdapter", "Default", null, "pbi_param_entity="& EntityName),
            CubeViewOrDefault = if CubeView[HasError] then GetEmptyTable() else CubeView[Value]
      in
            CubeViewOrDefault,

   List = GetCubeViewColumns(),
   Source = GetEntities(),
   Data = Table.AddColumn(Source, "LoopCubeViewData", each GetCubeViewData([Name])),
   Expand = Table.ExpandTableColumn(Data, "LoopCubeViewData", List),
   Rows = Table.SelectRows(Expand, each [Cube] <> null)
in
   Rows

큐브 가져오기

이 함수는 OneStream 큐브에서 데이터를 검색합니다.

  • 단일 멤버가 필요한 View 및 Currency를 제외하고 OneStream 멤버 스크립트(예: 시간 기준 2023.Base)를 통해 모든 매개 변수를 지정할 수 있습니다.
  • 통화는 OneStream의 통합 차원을 참조하므로 예를 들어 로컬 또는 집계를 사용할 수 있습니다.

큐브 데이터 가져오기 함수가 강조 표시된 탐색기 대화 상자의 스크린샷

사용자 지정 어댑터 가져오기

  • 작업 영역 및 어댑터 이름(필수 매개 변수)을 지정합니다.
  • 테이블 이름 및 매개 변수는 선택 사항입니다.
  • 올바른 값을 삽입하고 있는지 확인하려면 OneStream 내에 구성된 대시보드 어댑터를 참조하세요.

사용자 지정 어댑터 데이터 가져오기 함수가 강조 표시된 탐색기 대화 상자의 스크린샷

차원 가져오기 및 멤버 속성 가져오기

  • 검색할 OneStream 차원 유형을 지정합니다.
  • 시나리오 유형을 지정합니다. 기본 또는 모두를 사용하여 선택한 큐브 기본 차원을 사용하고 기본 속성을 검색합니다.
  • 포함 설명은 True 또는 False로 설정할 수 있습니다.

Get Dimension 함수가 강조 표시된 탐색기 대화 상자의 스크린샷