Determinare quando sviluppare un modello DirectQuery

Completato

Un modello DirectQuery include tabelle che hanno la proprietà della modalità di archiviazione impostata su DirectQuery e appartengono allo stesso gruppo di origine.

Un gruppo di origine è un set di tabelle del modello correlate a un'origine dati. Sono disponibili due tipi:

  • Importare: rappresenta tutte le tabelle della modalità di archiviazione di importazione incluse le tabelle calcolate. Un modello può contenere un solo gruppo di origine di importazione.
  • DirectQuery: rappresenta tutte le tabelle della modalità di archiviazione DirectQuery correlate a un'origine dati specifica.

Nota

Un modello di importazione e un modello DirectQuery contengono un solo gruppo di origine. Quando sono presenti più gruppi di origine, il framework del modello è chiamato modello composito. I modelli compositi sono descritti nell'Unità 5.

Vantaggi del modello DirectQuery

Sono diversi i vantaggi offerti dallo sviluppo di un modello DirectQuery.

Modellare origini dati di grandi dimensioni o che cambiano rapidamente

Un modello DirectQuery è un ottimo framework per dati di origine che presentano caratteristiche di volume e/o velocità. Poiché le tabelle DirectQuery non richiedono l'aggiornamento, sono adatte ad archivi dati di grandi dimensioni, ad esempio un data warehouse. È poco pratico e inefficace, se non impossibile, importare un intero data warehouse in un modello. Quando i dati di origine cambiano rapidamente e gli utenti devono visualizzare i dati correnti, un modello DirectQuery può offrire risultati di query near real-time.

Quando un report esegue query su un modello DirectQuery, Power BI passa le query all'origine dati sottostante.

Diagramma che mostra un modello DirectQuery con schema star. Quando un report di Power BI esegue una query sul modello, Power BI passa tali query all'origine dati sottostante, in questo caso un database SQL di Azure.

Applicare la sicurezza a livello di riga dell'origine

DirectQuery è utile anche quando il database di origine applica la sicurezza a livello di riga (RLS, Row-Level Security). Invece di replicare le regole RLS nel modello di Power BI, il database di origine può applicare le regole. Questo approccio funziona solo per alcuni database relazionali e prevede la configurazione dell'accesso Single Sign-On per l'origine dati del set di dati. Per altre informazioni, vedere Database SQL di Azure con DirectQuery.

Limitazioni di sovranità dei dati

Se l'organizzazione ha criteri di sicurezza che limitano l'uscita dei dati locali, non è possibile importare i dati. Può essere appropriato usare un modello DirectQuery che si connette a un'origine dati locale. È anche possibile prendere in considerazione l'installazione di un server di report di Power BI per la creazione di report locale.

Creare set di dati specializzati

In genere, la modalità DirectQuery supporta origini di database relazionali. Questa è la ragione per cui Power BI deve convertire le query analitiche in query native utilizzabili dall'origine dati.

Tuttavia, esiste un'importante eccezione. È possibile connettersi a un set di dati di Power BI (o modello di Azure Analysis Services) e convertirlo in un modello locale DirectQuery. Modello locale è un termine relativo che descrive la relazione di un modello con un altro modello. In questo caso, il set di dati originale è un modello remoto e il nuovo set di dati è il modello locale. Questi modelli sono concatenati, termine usato per descrivere i modelli correlati. È possibile concatenare fino a tre modelli in questo modo.

Questa capacità di concatenare i modelli supporta la possibilità di personalizzare e/o estendere un modello remoto. La cosa più semplice che è possibile fare è rinominare oggetti, come le tabelle o le colonne, o aggiungere misure al modello locale. È anche possibile estendere il modello con colonne calcolate o tabelle calcolate oppure aggiungere nuove tabelle di importazione o DirectQuery. Tuttavia, queste estensioni comportano la creazione di nuovi gruppi di origine, il che significa che il modello diventa un modello composito. Questo scenario è descritto nell'Unità 5.

Per altre informazioni, vedere Uso di DirectQuery per set di dati di Power BI e Azure Analysis Services.

Limitazioni del modello DirectQuery

Esistono molte limitazioni correlate ai modelli DirectQuery che è necessario tenere presente. Le limitazioni principali sono le seguenti:

  • Non tutte le origini dati sono supportate. In genere, sono supportati solo i principali sistemi di database relazionali. Sono supportati anche i set di dati di Power BI e i modelli di Azure Analysis Services.

  • Tutte le trasformazioni di Power Query (M) non sono possibili poiché queste query devono essere convertite in query native utilizzabili dai sistemi di origine. Ad esempio, non è possibile usare trasformazioni tramite Pivot o Unpivot.

  • Le prestazioni in termini di velocità delle query analitiche possono essere ridotte, soprattutto se i sistemi di origine non sono ottimizzati (con indici o viste materializzate) o non sono presenti risorse sufficienti per il carico di lavoro analitico.

  • Le query analitiche possono influire sulle prestazioni del sistema di origine. Potrebbe verificarsi un'esperienza più lenta per tutti i carichi di lavoro, incluse le operazioni OLTP.

Aumentare le prestazioni del modello DirectQuery

In presenza di un motivo valido per sviluppare un modello DirectQuery, è possibile attenuare alcune limitazioni in due modi.

Ottimizzazioni dell'origine dati

È possibile ottimizzare il database di origine per garantire che il carico di lavoro di query analitiche previsto venga eseguito correttamente. In particolare, è possibile creare indici e visualizzazioni materializzate e assicurarsi che il database abbia risorse sufficienti per tutti i carichi di lavoro.

Suggerimento

È consigliabile lavorare sempre in collaborazione con il proprietario del database. È importante che i proprietari dei database siano a conoscenza del carico di lavoro aggiuntivo che un modello DirectQuery può aggiungere al database.

Tabelle di aggregazione DirectQuery definite dall'utente

È possibile aggiungere tabelle di aggregazione definite dall'utente a un modello DirectQuery. Le tabelle di aggregazione definite dall'utente sono tabelle di modello speciali nascoste (per utenti, calcoli e sicurezza a livello di riga). Funzionano al meglio quando soddisfano query analitiche con maggior granularità su tabelle dei fatti di grandi dimensioni. Quando si imposta la tabella di aggregazione per l'utilizzo della modalità di archiviazione DirectQuery, la tabella può eseguire una query su una visualizzazione materializzata nell'origine dati. È anche possibile impostare una tabella di aggregazione per l'utilizzo della modalità di archiviazione di importazione o abilitare le aggregazioni automatiche. Queste opzioni sono descritte nell'Unità 4.

Per altre informazioni, vedere Linee guida per il modello DirectQuery in Power BI Desktop.