Recuperare i dati dalle origini dati relazionali

Completato

Se l'organizzazione usa un database relazionale per le vendite, è possibile usare Power BI Desktop per connettersi direttamente al database anziché usare file flat esportati.

La connessione di Power BI al database consente di monitorare l'andamento dell'azienda e identificare le tendenze, così da poter prevedere i dati delle vendite, pianificare i budget e impostare indicatori di prestazioni e obiettivi.   Power BI Desktop può connettersi a molti database relazionali, nel cloud o in locale.

Scenario

Il team sales di Tailwind Traders ha richiesto di connettersi al database locale SQL Server dell'organizzazione e ottenere i dati di vendita in Power BI Desktop in modo da poter creare report di vendita.

Screenshot del flusso di dati dal database SQL a Power BI.

Connettersi ai dati in un database relazionale

È possibile usare la funzionalità Recupera dati in Power BI Desktop e selezionare l'opzione applicabile per il database relazionale. In questo esempio si seleziona l'opzione SQL Server, come illustrato nello screenshot seguente.

Suggerimento

Accanto al pulsante Recupera dati sono disponibili opzioni per l'accesso rapido a origini dati come SQL Server.

Screenshot del menu Recupera dati espanso in modo da visualizzare SQL Server.

Il passaggio successivo consiste nell'immettere il nome del server di database e il nome del database nella finestra Database SQL Server.  Le due opzioni nella sezione Modalità Connettività dati sono: Importa (selezionata per impostazione predefinita e consigliata) e DirectQuery. Per lo più, si seleziona Importa. Altre opzioni avanzate sono disponibili anche nella finestra del database SQL Server, ma è possibile ignorarle per il momento.

Screenshot dei dettagli del database SQL Server.

Dopo aver aggiunto i nomi del server e del database, verrà richiesto di accedere con un nome utente e una password. Sono disponibili tre opzioni di accesso:

  • Windows : usare l'account Windows (credenziali di Azure Active Directory).

  • Database : usare le credenziali del database.   SQL Server, ad esempio, ha un proprio sistema di accesso e di autenticazione che a volte viene usato.   Se l'amministratore del database ha fornito un accesso univoco al database, può essere necessario immettere tali credenziali nella scheda Database.

  • Account Microsoft : usare le credenziali dell'account Microsoft.  Questa opzione viene spesso usata per i servizi di Azure.

Selezionare un'opzione di accesso, immettere il nome utente e la password e quindi selezionare Connetti.

Screenshot dei dettagli dell'autorizzazione di accesso al database.

Selezionare i dati da importare

Dopo che il database è stato connesso a Power BI Desktop, la finestra Navigazione visualizza i dati disponibili nell'origine dati (il database SQL in questo esempio). È possibile selezionare una tabella o un'entità per visualizzare un'anteprima del relativo contenuto e assicurarsi che nel modello di Power BI vengano caricati i dati corretti.

Selezionare la casella di controllo (es) delle tabelle da inserire in Power BI Desktop e quindi selezionare l'opzione Carica o Trasforma dati.

  • Caricamento : caricare automaticamente i dati in un modello di Power BI nello stato corrente.

  • Trasforma dati: aprire i dati in Microsoft Power Query, dove è possibile eseguire azioni, ad esempio l'eliminazione di righe o colonne non necessarie, il raggruppamento dei dati, la rimozione di errori e molte altre attività di qualità dei dati.

    Screenshot della finestra Strumento di navigazione con le tabelle disponibili.

Importare i dati scrivendo una query SQL

Un altro modo per importare i dati consiste nel scrivere una query SQL per specificare solo le tabelle e le colonne necessarie.

Per scrivere la query SQL, nella finestra del database SQL Server immettere i nomi del server e del database e quindi selezionare la freccia accanto a Opzioni avanzate per espandere questa sezione e visualizzare le opzioni. Nella casella di istruzione SQL scrivere l'istruzione query e quindi selezionare OK. In questo esempio si userà l'istruzione Select SQL per caricare le colonne ID, NAME e SALESAMOUNT dalla tabella SALES.

Screenshot dei dettagli del database SQL Server con una query SQL.

Modificare le impostazioni dell'origine dati

Dopo avere creato una connessione all'origine dati e avere caricato i dati in Power BI Desktop, è possibile modificare le impostazioni di connessione in qualsiasi momento.  Questa azione è spesso necessaria per soddisfare i criteri di sicurezza all'interno dell'organizzazione, ad esempio quando è necessario aggiornare la password ogni 90 giorni.  È possibile modificare l'origine dati, modificare le autorizzazioni o cancellare le autorizzazioni.

Nella scheda Home selezionare Trasforma i dati e quindi selezionare l'opzione Impostazioni origine dati .

Screenshot del menu Trasforma dati espanso con l'opzione Impostazioni origine dati evidenziata.

Nell'elenco di origini dati visualizzato selezionare l'origine dati da aggiornare.  È quindi possibile fare clic con il pulsante destro del mouse sull'origine dati per visualizzare le opzioni di aggiornamento disponibili oppure usare i pulsanti relativi alle opzioni di aggiornamento nella parte inferiore sinistra della finestra.  Selezionare l'opzione di aggiornamento necessaria, modificare le impostazioni e quindi applicare le modifiche.

Screenshot delle opzioni di Impostazioni origine dati.

È anche possibile modificare le impostazioni dell'origine dati da Power Query. Selezionare la tabella e quindi selezionare l'opzione Impostazioni origine dati nella barra multifunzione Home . In alternativa, è possibile passare al pannello Impostazioni query sul lato destro della schermata e selezionare l'icona delle impostazioni accanto a Source (o double Select Source). Nella finestra visualizzata aggiornare i dettagli del server e del database e quindi selezionare OK.

Screenshot del pulsante Impostazioni origine dati.

Dopo aver apportato le modifiche, selezionare Chiudi e Applica per applicare tali modifiche alle impostazioni dell'origine dati.

Scrivere un'istruzione SQL

Come illustrato in precedenza, è possibile importare dati nel modello di Power BI usando una query SQL.  SQL è l'acronimo di Structured Query Language ed è un linguaggio di programmazione standardizzato che consente di gestire i database relazionali ed eseguire diverse operazioni di gestione dei dati.

Si consideri lo scenario in cui il database dispone di una tabella di grandi dimensioni che include i dati di vendita di diversi anni. I dati sulle vendite del 2009 non sono rilevanti per il report creato. Questa situazione è utile per SQL perché consente di caricare solo il set di dati richiesto specificando colonne e righe esatte nell'istruzione SQL e quindi importandole nel modello semantico.  È anche possibile unire tabelle diverse, eseguire calcoli specifici, creare istruzioni logiche e filtrare i dati nella query SQL.

L'esempio seguente mostra una query semplice in cui vengono selezionate le colonne ID, NAME e SALESAMOUNT della tabella SALES.

La query SQL inizia con un'istruzione Select , che consente di scegliere i campi specifici che si desidera eseguire il pull dal database.  In questo esempio le colonne da caricare sono ID, NAME e SALESAMOUNT.

SELECT
ID
, NAME
, SALESAMOUNT
FROM

FROM specifica il nome della tabella da cui eseguire il pull dei dati. In questo caso si tratta della tabella SALES. L'esempio seguente illustra la query SQL completa:

SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES

Quando si usa una query SQL per importare i dati, provare a evitare di usare il carattere jolly (*) nella query. Se si usa il carattere jolly (*) nell'istruzione SELECT, importare tutte le colonne non necessarie dalla tabella specificata.

L'esempio seguente mostra la query con il carattere jolly.

SELECT *
FROM
SALES

Il carattere jolly (*) importa tutte le colonne all'interno della tabella Sales . Questo metodo non è consigliato perché porterà ai dati ridondanti nel modello semantico, che causeranno problemi di prestazioni e richiederanno passaggi aggiuntivi per normalizzare i dati per la creazione di report.

Tutte le query devono avere anche una clausola WHERE. Questa clausola consente di filtrare le righe in modo da selezionare solo i record filtrati desiderati. In questo esempio, se si desidera ottenere i dati di vendita recenti dopo il 1° gennaio 2020, aggiungere una clausola WHERE . La nuova query sarà simile all'esempio seguente.

SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES
WHERE
OrderDate >= ‘1/1/2020’

È consigliabile evitare di farlo direttamente in Power BI. È invece consigliabile scrivere una query di questo tipo in una vista. Una vista è un oggetto in un database relazionale, simile a una tabella. Le viste hanno righe e colonne e possono contenere quasi tutti gli operatori del linguaggio SQL. Se Power BI usa una vista, quando recupera i dati partecipa alla riduzione della query, una funzionalità di Power Query. La riduzione della query verrà illustrata più avanti, ma in breve Power Query ottimizza il recupero dei dati in base alla modalità di utilizzo dei dati prevista.