Strategie per evitare DirectQuery

A volte l’elaborazione di report in power Bi può scontrarsi con le possibilità di memoria dei pc… Vediamo come si può bypassare tale problema e la possibile utilità di una DirectQuery nonché le eventuali possibili alternative.

strategie directqueryNel precedente articolo (“L’architettura di Power BI, il report in cloud e la modalità DirectQuery”), Luca ha compreso i vantaggi e gli svantaggi della modalità di connessione DirectQuery, concludendo che l’Import sia sempre da preferire (anche nel caso di richieste di “real time”, concetto che poco si sposa con la BI, grazie alla possibilità di effettuare 8 refresh al giorno con la licenza Pro e 48 con la licenza Premium).

Resta, però, un problema da risolvere, pensa Luca…

 

Attenzione alla memoria del PC

Come fare se la dimensione dei dati da usare nel report supera le capacità di memoria del pc del designer che importa i dati in Power Bi Desktop per poi pubblicare?

Qui sembrerebbe che DirectQuery sia l’unica opzione. O forse no?

Ecco l’architettura che Luca ha implementato in cui, nel caso di connessione Import, il gateway permetterà il refresh dei dati sul cloud ad intervalli schedulati, permettendo a Power BI Cloud di comunicare con il server dello studio di Luca e soci.

La stessa architettura funziona in DirectQuery, dove il gateway è usato sempre, ad ogni interazione con il report sul cloud e non esiste il refresh.

Immagine 1

strategie directquery

 

I vantaggi di DirectQuery rispetto all’Import

Ricordiamo i vantaggi di DirectQuery rispetto all’Import:

  • i dati sono sempre aggiornati, perché si prelevano sempre dalla sorgente;
     
  • non esiste, dunque, il concetto stesso di refresh;
     
  • il report è un file .pbix piccolissimo, perché è vuoto: ha solo la grafica. Così è un file snello e gestibile;
     
  • i dati restano sui server aziendali e non vengono copiati né su Power BI Desktop né sul cloud di Microsoft, dunque nessun problema di sicurezza né di dimensione dei dati

 

…e gli svantaggi

Qui di seguito gli svantaggi di DirectQuery rispetto all’Import:

  • l’interazione con il report sul cloud è più lenta;
     
  • Power Query è molto limitato;
     
  • soltanto pochissime sorgenti supportano DirectQuery, mentre sono centinaia in Import.

 

Quali strategie usare per importare dati molto estesi

Tornando al punto, Luca vuole capire che strategie usare per essere in Import anche quando i dati sono molto estesi e non è possibile importarli tutti per mancanza di sufficiente RAM. Capiterà di rado, ma Luca vuole essere pronto.

Luca si documenta su Internet e trova due spunti interessanti:

  1. è possibile, tramite Power Query, limitare la quantità di dati importata mantenendo il massimo livello di dettaglio dei dati stessi, per esempio importando soltanto i dati degli ultimi 3 anni e non tutta la storia aziendale;
     
  2. è altresì possibile, sempre tramite Power Query, limitare la quantità di dati importata riducendo il livello di dettaglio dei dati stessi, per esempio importando soltanto i dati mensili (previa aggregazione automatica) e non giornalieri, in modo da importare tutta la storia aziendale ma con un dettaglio minore

 

Cerchiamo di capire…

Supponiamo che la Coop sia il cliente di Luca un giorno. Quanti dati ha la coop nei suoi server? Luca non ne ha idea ma intuisce che la quantità sia enorme e non certo importabile sul suo PC. Dunque, in quel caso, le opzioni sarebbero:

  • in questo modo tutti i dati al massimo livello di dettaglio e di estensione temporale sarebbero trattati. Tuttavia, le prestazioni sarebbero non ottimali come sopra evidenziato;
     
  • ridurre la granularità (cioè il livello di dettaglio) dei dati, in modo da importare tutto ma in modo meno dettagliato, ad esempio rinunciando ad avere il dettaglio di ogni scontrino e andando al livello giornaliero o mensile.
    Poi bisognerà decidere cosa mostrare per ogni mese: le vendite totali mensili senza alcuna informazione dei prodotti o per ogni mese dettagliare i prodotti e le relative vendite? O le famiglie di prodotti e le relative vendite?
     
  • mantenere la granularità ma ridurre l’estensione temporale dei dati (ultimi tre anni? Ultimi cinque?)
     
  • un mix tra 2) e 3).

 

La soluzione nella DirectQuery, ma come migliorarne le prestazioni?

Ovviamente, la possibilità che venga chiesto di avere un livello di dettaglio e un’estensione temporale che comunque comportano una dimensione dei dati troppo grande per l’Import esiste, pensa Luca.

In quel caso, l’unica opzione è la 1): DirectQuery.

Dunque, pensa Luca, se DirectQuery è l’unica opzione, posso migliorarne le prestazioni?

Luca cerca in Internet e trova un’opzione molto interessante: le aggregazioni in Power BI! In un video, scopre che un progettista Power BI si è connesso in DirectQuery ad un database con 1.000 miliardi di righe in una tabella e la prestazioni sembrano fantastiche..

Nel prossimo articolo, sveleremo di cosa si tratta!

 

A cura Francesco Bergamaschi

Giovedì 16 marzo 2023

 

POWER B.I.

Controllo di gestione con la business intelligence per le aziende

PERCORSO ONLINE ON DEMAND
OLTRE 14 ORE DI LEZIONE DIVISE IN 5 MODULI TEMATICI
Introduzione al corso

power biUn percorso alla scoperta di POWER BI, l’ecosistema di Microsoft per la Business Intelligence.

Una guida pratica e operativa per apprendere come gestire e diventare autonomi in tutto il flusso di lavoro.

Passo dopo passo, partendo da zero, si esplorerà dettagliatamente sia la parte Desktop (per la connessione ai dati, la modellazione e la creazione dell’analisi) che la parte del Cloud (pubblicazione, condivisione, gestione delle aree di lavoro, implementazione della sicurezza e dei ruoli).

Il Corso prevede oltre 14 ore formative suddivise in 5 moduli tematici e può essere fruito on demand, dove e quando vuoi.

SCOPRI DI PIU’ >