Utilizzo di Microsoft Access con Power BI
Di recente abbiamo avuto un cliente che voleva visualizzare i dati di QuickBooks in Power BI, ma il primo non è riuscito a connettersi con il secondo per ottenere i dati, quindi siamo ricorsi all'esportazione dei dati da Quickbooks, utilizzando Access per ripulirli e infine caricarli a PowerBI.com in modo che altri dipendenti possano vedere l'analisi.
Analisi dei dati di QuickBook
Sebbene PowerBI.com possa leggere direttamente i dati di QuickBooks (vedi https://docs.microsoft.com/en-us/power-bi/service-connect-to-quickbooks-online), il nostro cliente necessitava di report che non fossero inclusi. La soluzione che abbiamo fornito era un database di Access che consentiva loro di importare facilmente i propri dati da QuickBooks utilizzando i report QB esportati in CSV, quindi fare in modo che Access ripulisse i dati e li unisse alle tabelle locali per ottenere i risultati necessari. Abbiamo aggiunto il codice ad Access che carica i dati dal file CSV e li salva nelle tabelle di accesso che erano collegate a PowerBI.com per la creazione di report.
Dopo aver configurato il database con i dati richiesti, abbiamo fornito all'utente l'applicazione desktop Power BI e creato un dashboard con gli oggetti visivi richiesti e l'origine dati proveniente dalle tabelle di Access. In questo caso il client utilizzava l'accesso a 32 bit, quindi abbiamo installato la versione a 32 bit di Power BI Desktop e abbiamo installato Motore di database di Microsoft Access 2010 Redistributable.
Uno dei requisiti dei clienti era tenere traccia delle ore dei dipendenti per assicurarsi che raggiungessero i propri obiettivi, ognuno aveva obiettivi settimanali ma volevano anche vedere la percentuale target in un intervallo di date selezionato, quindi ad esempio se l'obiettivo era 32 a settimana per un dipendente e le date analizzate erano di due settimane, l'obiettivo dovrebbe essere 64.
Passaggio 1:aggiungi una tabella di date
In primo luogo, avevamo bisogno di una tabella di date che includesse tutti i giorni dell'anno in base ai dati ricevuti. Usando il pulsante Nuova tabella nella scheda di modellazione siamo stati in grado di utilizzare un'espressione Dax che avrebbe creato una tabella di date che andava dalla prima all'ultima data nella tabella delle attività. In PowerBI abbiamo utilizzato la seguente formula:
Nel report, nella scheda Modellazione nella parte superiore della finestra di Power BI, seleziona Nuova tabella.
Devi creare la prima colonna della tabella che sarebbe la data. Sostituisci Tabella con il nome della tabella e quindi utilizza la funzione CALENDARIO per impostare l'intervallo di date desiderato. Nel nostro esempio di seguito utilizziamo le date nella tabella tblTimeActivities e Activity Date è il nome del campo della data. Stiamo selezionando la data minima come data di inizio e la data massima come data di fine. Utilizzando questo metodo, le date nella tabella delle date aumenteranno man mano che importiamo più dati in tblTimeActivities.
In alternativa, puoi codificare la data di inizio e di fine utilizzando il seguente script:
Una volta ottenuta la colonna della data, ora puoi aggiungere altre colonne relative alla data necessarie.
Nell'esempio qui stiamo estraendo l'anno della data. Altre opzioni sono:
Mese =MESE((tblDates[Data])))
Settimana =NUMERO SETTIMANA(tblDates[Data])
Inizio settimana =tblDates[Date] + 1 – WEEKDAY(tblDates[Date])
MonthName =FORMAT (tblDates[Date], “mmm”)
Il passaggio successivo consisteva nell'aggiungere una colonna calcolata che fornisse un conteggio dei giorni per ogni data:
Giorni calcolati =DATEDIFF(tblDates[Date],TODAY(),DAY)
Ora dobbiamo creare un paio di misure che calcolino il target totale in base all'intervallo di date selezionato sullo slicer.
- Ottieni il numero di settimane nell'intervallo di date:
WeekCount =((MAX(tblDates[CalculatedDays])-MIN(tblDates[CalculatedDays]))+1)/7
- Calcola target:
BillableTarget =MAX(tblEmployees[TargetBillableHrs])*[WeekCount]
Il passaggio finale di questo progetto è stato quindi condividere il report con il management utilizzando Power BI basato sul Web in Office 365. Per risolvere il problema, abbiamo semplicemente pubblicato il report sul Web e quindi condiviso il report con gli utenti specificati. Poiché i dati non sono basati su cloud, non siamo in grado di creare un aggiornamento pianificato senza creare una connessione gateway. in questo caso, poiché hanno già stabilito un processo giornaliero in 3 fasi per l'utente principale, si trattava semplicemente di aggiungere il passaggio 4:
- Esporta file CSV da Quickbooks.
- Importa dati in Access.
- Aggiorna Power BI Desktop ed esamina i report.
- Pubblica su Power BI Web.
Esempio di dati esportati da Quick Books
Rapporto finale