Condividi tramite


Associare set di dati in modo dinamico a un report impaginato

I report di Power BI e i report impaginati vengono compilati in base a un set di dati esistente. Tale set di dati definisce lo schema dei dati usato dagli oggetti visivi del report. Usando l'associazione dinamica, è possibile selezionare un set di dati in tempo reale quando si incorpora un oggetto visivo del report impaginato.

I set di dati selezionati devono usare lo stesso schema di dati. Se sono presenti più set di dati con lo stesso schema di dati, il report può connettersi o associarlo in modo dinamico a ognuno di questi set di dati. È quindi possibile visualizzare informazioni dettagliate diverse, a seconda delle esigenze.

Il binding dinamico offre anche altri vantaggi. Non è necessario creare una copia dello stesso report con un set di dati diverso per ogni utente. Un report può servire più utenti. Questa funzionalità riduce quindi il numero di elementi gestiti e migliora la gestione del ciclo di vita dell'applicazione. Di conseguenza, l'associazione dinamica semplifica l'onboarding per i nuovi clienti.

Come connettere un report a più set di dati in modo dinamico

I report e i set di dati possono trovarsi in aree di lavoro separate, tuttavia entrambe le aree di lavoro devono avere una capacità.

Quando si incorpora per i clienti, il token di incorporamento deve includere le autorizzazioni sia per il report che per il set di dati associato dinamicamente. Usare la nuova API per generare un token di incorporamento che supporta gli elementi di Power BI, ad esempio report e dashboard.

Quando si incorpora per l'organizzazione, il token di Azure Active Directory (AD) dell'utente usato deve disporre delle autorizzazioni appropriate per tutti gli elementi di Power BI.

Esempio 1: Incorporare un report impaginato con associazione dinamica

Per implementare un report impaginato incorporato usando l'associazione dinamica, aggiungere la proprietà datasetBindings all'oggetto di configurazione di incorporamento, come illustrato nell'esempio seguente.

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);

Esempio 2: Incorporare un oggetto visivo del report impaginato con associazione dinamica

Un oggetto visivo report impaginato è un report impaginato incorporato in un report di Power BI. Per implementare un oggetto visivo del report impaginato incorporato usando l'associazione dinamica, aggiungere la proprietà datasetBinding all'oggetto di configurazione di incorporamento, come illustrato nell'esempio seguente.

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);

Considerazioni e limitazioni

  • Il set di dati selezionato dinamicamente deve usare lo stesso schema di dati nel report.
  • Durante l'incorporamento per i clienti, generare un token di incorporamento usando la nuova API.
  • Quando si incorpora per l'organizzazione, assicurarsi che l'utente disponga delle autorizzazioni per il report e il set di dati.
  • La proprietà datasetBinding non può essere vuota. Deve contenere, datasetId, paginatedReportBindingso entrambi.
  • I valori per datasetId e targetDatasetId non devono essere uguali. L'associazione funziona in modo indipendente per con estensione pbix e report impaginati.
  • La proprietà datasetBinding può contenere più oggetti.