페이지를 매긴 보고서에 동적으로 데이터 세트 바인딩

Power BI 보고서 및 페이지를 매긴 보고서는 기존 데이터 세트를 기반으로 빌드됩니다. 해당 데이터 세트는 보고서 시각적 개체에서 사용하는 데이터 스키마를 정의합니다. 동적 바인딩을 사용하면 페이지를 매긴 보고서 시각적 개체를 포함할 때 즉시 데이터 세트를 선택할 수 있습니다.

선택한 데이터 세트는 동일한 데이터 스키마를 사용해야 합니다. 동일한 데이터 스키마가 있는 여러 데이터 세트가 있는 경우 보고서는 이러한 각 데이터 세트에 동적으로 연결하거나 바인딩할 수 있습니다. 그런 다음 필요에 따라 다른 인사이트를 표시할 수 있습니다.

동적 바인딩은 다른 이점도 제공합니다. 각 사용자에 대해 다른 데이터 세트를 사용하여 동일한 보고서의 복사본을 만들 필요가 없습니다. 하나의 보고서는 여러 사용자에게 서비스를 제공할 수 있습니다. 그런 다음 이 기능은 유지 관리되는 항목 수를 줄이고 애플리케이션 수명 주기 처리를 개선합니다. 따라서 동적 바인딩은 새 고객을 위한 온보딩을 간소화합니다.

보고서를 여러 데이터 세트에 동적으로 연결하는 방법

보고서 및 데이터 세트는 별도의 작업 영역에 있을 수 있지만 두 작업 영역에는 용량이 있어야 합니다.

고객을 위해 포함하는 경우 포함 토큰에는 보고서와 동적으로 바인딩된 데이터 세트 모두에 대한 권한이 포함되어야 합니다. 새 API를 사용하여 보고서 및 대시보드와 같은 Power BI 항목을 지원하는 포함 토큰 을 생성합니다.

organization 포함할 때 사용하는 사용자의 AD(Azure Active Directory) 토큰에는 모든 Power BI 항목에 대한 적절한 권한이 있어야 합니다.

예제 1: 동적 바인딩을 사용하여 페이지를 매긴 보고서 포함

동적 바인딩을 사용하여 페이지를 매긴 포함된 보고서를 구현하려면 다음 예제와 같이 포함 구성 개체에 속성을 추가 datasetBindings 합니다.

let config = {
    type: 'report',
    tokenType: models.TokenType.Embed,
    accessToken: accessToken,
    embedUrl: embedUrl,
    id: "reportId",
    permissions: permissions,
    datasetBindings: [{
            sourceDatasetId: "originalDatasetId",
            targetDatasetId: "notOriginalDatasetId"
        }]
};

// Get a reference to the embedded report HTML element.
let embedContainer = $('#embedContainer')[0];

// Embed the report and display it within the div container.
let report = powerbi.embed(embedContainer, config);

예제 2: 동적 바인딩을 사용하여 페이지를 매긴 보고서 시각적 개체 포함

페이지를 매긴 보고서 시각적 개체는 Power BI 보고서에 포함된 페이지를 매긴 보고서입니다. 동적 바인딩을 사용하여 페이지를 매긴 포함된 보고서 시각적 개체를 구현하려면 다음 예제와 같이 embed 구성 개체에 속성을 추가 datasetBinding 합니다.

let config = {
    type: 'report',
    tokenType: models.TokenType.Embed,
    accessToken: accessToken,
    embedUrl: embedUrl,
    id: "reportId",
    permissions: permissions,
    datasetBinding: {
        datasetId: "notOriginalDatasetId",
        paginatedReportBindings: [{
            sourceDatasetId: "originalDatasetId",
            targetDatasetId: "notOriginalDatasetId"
        }]
    }
};

// Get a reference to the embedded report HTML element.
let embedContainer = $('#embedContainer')[0];

// Embed the report and display it within the div container.
let report = powerbi.embed(embedContainer, config);

고려 사항 및 제한 사항

  • 동적으로 선택한 데이터 세트는 보고서에서 동일한 데이터 스키마를 사용해야 합니다.
  • 고객을 위해 포함하는 경우 새 API를 사용하여 포함 토큰 을 생성합니다.
  • organization 포함할 때 사용자에게 보고서 및 데이터 세트 모두에 대한 권한이 있는지 확인합니다.
  • 속성은 datasetBinding 비워 둘 수 없습니다. 여기에는 , datasetId또는 paginatedReportBindings둘 다 포함되어야 합니다.
  • targetDatasetIddatasetId 값은 같을 필요가 없습니다. 바인딩은 .pbix 및 페이지를 매긴 보고서에 대해 독립적으로 작동합니다.
  • 속성에는 datasetBinding 여러 개체가 포함될 수 있습니다.

다음 단계