Interagire con i report di Power BI usando l'API JavaScript

L'API JavaScript per Power BI consente di incorporare facilmente i report di Power BI nelle applicazioni. Con l'API, le applicazioni possono interagire a livello di codice con elementi diversi dei report, ad esempio pagine e filtri. Grazie a questa interattività i report di Power BI si integrano ancora meglio nell'applicazione.

Per incorporare un report di Power BI nell'applicazione, usare un iframe ospitato nell'ambito dell'applicazione. L'iframe viene usato come limite tra l'applicazione e il report, come si può osservare nell'immagine seguente.

Iframe di Power BI Embedded senza l'API Javascript

L'iframe facilita considerevolmente il processo di incorporamento, ma senza l'API JavaScript il report e l'applicazione non possono interagire. Questa mancanza di interazione può far credere che il report non faccia effettivamente parte dell'applicazione. Il report e l'applicazione devono effettivamente comunicare in entrambe le direzioni, come nell'immagine seguente.

Iframe di Power BI Embedded con l'API Javascript

L'API JavaScript per Power BI consente di scrivere codice che può passare in modo sicuro attraverso il limite dell'iframe. Ciò consente all'applicazione di eseguire a livello di codice un'azione in un report e di essere in ascolto degli eventi generati dalle azioni eseguite dagli utenti nel report.

Che cosa si può fare con l'API JavaScript per Power BI?

Con l'API JavaScript è possibile gestire i report, accedere alle pagine di un report, filtrare un report e gestire l'incorporamento degli eventi. Il diagramma seguente mostra la struttura dell'API.

Diagramma dell'API JavaScript per Power BI

Gestire i report

L'API Javascript consente di gestire il comportamento a livello di pagina e di report:

Altre informazioni sull'incorporamento di un report

L'API JavaScript consente di trovare tutte le pagine di un report e di impostare la pagina corrente. Provare l' applicazione demo di spostamento.

Altre informazioni sullo spostamento tra le pagine

Filtrare un report

L'API JavaScript fornisce funzionalità di filtro di base e avanzate per le pagine di report e i report incorporati. Provare l' applicazione demo di filtroed esaminare un codice introduttivo qui.

Filtri di base

Un filtro di base viene applicato a livello di colonna o di gerarchia e contiene un elenco di valori da includere o escludere.

const basicFilter: pbi.models.IBasicFilter = {
  $schema: "http://powerbi.com/product/schema#basic",
  target: {
    table: "Store",
    column: "Count"
  },
  operator: "In",
  values: [1,2,3,4]
}

Filtri avanzati

I filtri avanzati usano l'operatore logico AND o OR e accettano una o due condizioni, ognuna con il proprio operatore e valore. Le condizioni supportate sono:

  • None
  • LessThan
  • LessThanOrEqual
  • GreaterThan
  • GreaterThanOrEqual
  • Contiene
  • DoesNotContain
  • StartsWith
  • DoesNotStartWith
  • Is
  • IsNot
  • IsBlank
  • IsNotBlank
const advancedFilter: pbi.models.IAdvancedFilter = {
  $schema: "http://powerbi.com/product/schema#advanced",
  target: {
    table: "Store",
    column: "Name"
  },
  logicalOperator: "Or",
  conditions: [
    {
      operator: "Contains",
      value: "Wash"
    },
    {
      operator: "Contains",
      value: "Park"
    }
  ]
}

Altre informazioni sui filtri

Gestione degli eventi

Oltre a inviare informazioni all'iframe, l'applicazione può anche ricevere informazioni sugli eventi seguenti provenienti dall'iframe:

  • Embed
    • loaded
    • error
  • Report
    • pageChanged
    • dataSelected (presto disponibile)

Altre informazioni sulla gestione degli eventi

Passaggi successivi

Per altre informazioni sull'API JavaScript per Power BI, vedere i collegamenti seguenti: