10 Funzioni DAX (Useful Data Analysis Expressions) per principianti di Power BI

Introduzione

Abbiamo lavorato su molti strumenti drag-and-drop nel nostro percorso di business intelligence (BI). Ma nessuno è venuto vicino alla corrispondenza della natura coltellino svizzero di Microsoft Power BI. Semplifica veramente il compito di scricchiolare i numeri, analizzare i dati e visualizzare i modelli.

Si tratta di uno dei migliori strumenti’ drag-and-drop ‘ nel settore. Scegli un campo che vuoi analizzare, inseriscilo nel dashboard di Power BI e voilà! Le intuizioni sono proprio di fronte a te.

Ma cosa succede se vogliamo approfondire la nostra analisi? Cosa dobbiamo fare se vogliamo personalizzare determinate variabili o generarne di nuove? Basta fare un rapido drag and drop non risolverà il nostro problema. Ecco dove entra in gioco il potere delle espressioni di analisi dei dati (DAX) in Power BI.

Power BI DAX

Questo è uno strumento utile per imparare per qualsiasi professionista della scienza dei dati, non solo un aspirante business intelligence. Ci fa risparmiare un sacco di tempo che altrimenti spenderemmo per sfornare il codice.

In questo articolo, per prima cosa capiremo cos’è la BI e il ruolo tipico di un professionista del settore BI. Vi presenteremo quindi il potente strumento di Microsoft Power BI e poi ci immergeremo in dieci funzioni DAX (Data Analysis Expressions) davvero utili che possiamo utilizzare in Power BI.

Sommario

  • Introduzione alla Business Intelligence (BI)
  • Ruolo di un professionista della Business Intelligence
  • Che cos’è Power BI?
  • Espressioni di analisi dei dati (DAX): cosa sono e perché sono necessari?
  • Implementazione delle funzioni DAX in Power BI

Introduzione alla Business Intelligence (BI)

La Business Intelligence ha un ampio ambito, ma possiamo definirla come il processo di monitoraggio e revisione delle metriche aziendali.

Facciamo un esempio per capire questo.

Considera che stiamo gestendo una compagnia di spedizioni che consegna prodotti ai nostri clienti in diverse parti del paese. Come con qualsiasi attività commerciale, vogliamo migliorare la nostra esperienza del cliente. Ci sono diverse metriche che possiamo misurare per misurare la soddisfazione del cliente, tra cui:

  • La velocità con cui il prodotto è stato consegnato a loro
  • Se il prodotto è stato danneggiato o meno
  • È stato consegnato il prodotto corretto? ecc.

Questi dati vengono elaborati e visualizzati sotto forma di report lucidi che rendono più facile portare a casa le intuizioni. Quindi, se il grafico per il tasso di consegna mostra una valutazione inferiore al previsto, possiamo provare a trovare la causa principale e migliorare la velocità di consegna.

Il ruolo di un professionista di Business Intelligence

Ora, cosa fa un professionista di business intelligence? Sono sicuro che questo deve aver attraversato la tua mente mentre attraversavi lo scenario di cui sopra. Qui di seguito sono alcuni compiti comuni una tipica persona BI fa:

  • Scrivere SQL (query) o connettori per recuperare i dati dal relazionali/database NoSQL
  • Write (SQL) query per i dati di processo e di calcolare le metriche di business
  • Design codice per creare grafici interattivi per i widget per visualizzare le metriche di business
  • Creare cruscotti dai grafici e distribuire loro di essere utilizzati dall’utente finale

Le competenze necessarie per diventare un BI professionale varia da progetto a progetto. Ma in generale, è necessario avere una solida conoscenza di uno strumento di BI, come Tableau, PowerBI, Qlik, insieme a una certa esperienza in un linguaggio di programmazione come Python, R o SQL. Anche la conoscenza del dominio e il pensiero strutturato sono ricercati.

Power BI è uno degli strumenti di BI più popolari e potenti là fuori. Questo sarà il nostro obiettivo in questo articolo. Prima di arrivarci, ecco una meravigliosa illustrazione di una tipica architettura di business intelligence:

Esempio di architettura di Business Intelligence

Che cos’è Power BI?

Power BI è uno strumento di business intelligence popolare e incredibilmente potente sviluppato da Microsoft. Ha diversi sapori e offerte. La versione più semplice è gratuita ma ha la capacità di eseguire facilmente esercizi di business intelligence di medie dimensioni.

In termini generali, Power BI è una suite di soluzioni di analisi aziendale basata su cloud che fornisce gli strumenti necessari per trasformare grandi volumi di dati tra i silos in informazioni accessibili. È stato costantemente classificato nel Gartner BI Magic Quadrant.

Power BI è popolare per la sua versatilità, interattività, design estetici, ampia connettività ai database e facilità di creazione di dashboard a basso sforzo. Sfrutta anche il supporto di altri strumenti del suo ecosistema Microsoft: Azure, Cortana, SQL Server, Azure Active Directory, Azure Blob Storage, ecc.

Ecco un paio di cose interessanti Power BI può fare:

  • Avvisi e visualizzazione in tempo reale per monitorare lo stato delle apparecchiature di produzione. Questo viene fatto passando i dati dei sensori IoT attraverso IoT Azure Hub, Azure Data Factory, Cognos DB e quindi analizzati in Power BI
  • Creare e recuperare grafici e report e dashboard di Power BI fornendo istruzioni vocali utilizzando Windows Voice assistant Cortana

Espressioni di analisi dei dati (DAX): cosa sono e perché sono necessari?

Possiamo leggere i dati in Power BI da file CSV o da un database. Possiamo anche unire le tabelle in Power BI. Molto spesso, i dati necessari per la stampa sono prontamente disponibili nelle colonne della tabella (anche se non è sempre così).

Considera una situazione in cui è necessario modificare o modificare i dati per migliorare i nostri dashboard. Supponiamo che quelle modifiche personalizzate di cui abbiamo bisogno non siano prontamente disponibili in Power BI. Cosa facciamo allora? Come possiamo eseguire questo tipo di modifica e analisi dei dati?

La risposta è DAX (abbreviazione di espressioni di analisi dei dati). DAX viene utilizzato per portare alcune informazioni significative nascoste all’interno dei dati grezzi. In parole semplici, DAX viene utilizzato per la manipolazione dei dati.

Ci sono alcune regole che dobbiamo seguire per usare DAX. Capirai rapidamente queste regole se hai familiarità con le funzioni di Excel. DAX è solo una forma avanzata di questo.

Ci sono due posti in cui scriviamo DAX:

  • Colonna calcolata
  • Misura calcolata

Vediamo cosa significano entrambi:

  • Le colonne calcolate sono molto simili alle colonne regolari che vediamo nella maggior parte dei set di dati. La differenza è che le colonne calcolate sono il risultato dei nostri calcoli utilizzando due o più colonne o utilizzando colonne da tabelle diverse. Possono essere utilizzati quando vogliamo eseguire calcoli a righe
  • La misura calcolata, d’altra parte, è simile a una colonna calcolata. Tuttavia, non occupano alcuna memoria fisica e i loro risultati non possono essere visti sotto forma di colonna. Di solito lo usiamo quando vogliamo eseguire calcoli dinamici su un gruppo di righe o raggruppando i dati

Implementazione delle funzioni DAX in Power BI

Lavoreremo su alcuni utili comandi DAX e le loro funzioni in questa sezione. Useremo il set di dati “Sample Super Store”. Puoi scaricare il set di dati qui e iniziare a sperimentare anche da solo!

Il set di dati contiene tre tabelle: “Ordini”, “Resi” e “Utenti”. Andare avanti e caricare il file di esempio Superstore dataset Excel in Power BI.

Apri Power BI e cerca “Ottieni dati” nella scheda “Home”. Selezionare Excel, quindi individuare il file dataset presente nel computer locale. Caricare l’intero file nella finestra BI.

Ora, andiamo avanti!

LOOKUP( )

La funzione di RICERCA è abbastanza simile a Vlookup in Microsoft Excel.

La terza tabella nel nostro set di dati contiene i dettagli di tutti i gestori per regione. Ora qui è dove la RICERCA viene in mano. Possiamo eseguire una ricerca per la colonna ‘Manager’ nella tabella ‘users’ contro la corrispondente colonna ‘Region’ nella tabella ‘orders’.

Quindi, come eseguiamo una ricerca in Power BI? Ci sono due cose che dobbiamo ricordare:

  1. Abbiamo bisogno di una colonna comune per eseguire una ricerca
  2. Abbiamo anche bisogno di valori univoci in almeno una delle colonne corrispondenti scelte da due tabelle diverse. La sintassi di base per la ricerca è:
LOOKUPVALUE(Result Column Name, Search Column Name, Search Column value)

Mettere questa sintassi utilizzando le nostre variabili dataset:

Manager = LOOKUPVALUE(Users,Users,Orders)

FILTER( ) & CALCULATE( )

Il DAX visualizzato di seguito è simile alla funzione group by. Aggrega dinamicamente una colonna in base al filtro. Ciò è utile quando stiamo creando una tabella nei dashboard di Power BI e abbiamo bisogno di filtrare solo una colonna (mentre la colonna rimanente rimane inalterata dal filtro).

Questo DAX è utile dove ogni colonna utilizzata nella tabella può avere il proprio filtro. Facciamo un esempio per capire come funziona.

Vogliamo calcolare la somma delle vendite per regione. Quindi, per prima cosa, la funzione filtro divide la colonna regione in nord, sud, est e ovest. Quindi, calcola la somma delle vendite in base alla segregazione. Stiamo usando una misura qui poiché una particolare regione può avere un numero qualsiasi di righe coinvolte al suo interno.

Qui, stiamo dichiarando una variabile reg che funge da chiave per il filtro. Possiamo dichiarare una variabile usando la parola chiave VAR. La parola chiave RETURN ci dà il risultato del calcolo (somma delle vendite, nel nostro esempio). Il risultato che otteniamo dal DAX calcolato è:

Condizione IF nidificata

Considera la tabella ordini nel nostro set di dati. La colonna ‘Ordine priorità’ ha cinque valori sotto di essa. Supponiamo di aver bisogno di alcuni valori interi invece dei valori originali presenti in quella colonna. La dichiarazione IF annidata è nostra amica qui:

Nested IF = IF(Orders ="Critical", 5, IF(Orders ="High", 4, IF(Orders = "Medium", 3, IF(Orders = "Low", 2, IF(Orders = "Not Specified", 1)))))

Formattazione condizionale

La formattazione condizionale è una delle funzionalità più comunemente utilizzate di Microsoft Excel. E possiamo sfruttare anche questo all’interno di Power BI!

La formattazione condizionale, per coloro che non l’hanno mai utilizzata prima, è la possibilità di modificare il colore del carattere di una colonna in base a una condizione di un’altra colonna. Questo può essere fatto creando una nuova colonna secondo la nostra condizione e quindi usando quella colonna per impostare le regole nella scheda formattazione condizionale.

Proviamo questo con un esempio dal nostro set di dati Superstore di esempio.

Vogliamo cambiare il colore dei valori visualizzati nella colonna ‘Priorità ordine’ della tabella ordini. Ad esempio, tutti i valori “Critici” dovrebbero essere di colore rosso, tutti i valori “Alti” dovrebbero essere di colore verde, ecc.

Possiamo usare la colonna Annidata IF che abbiamo creato sopra poiché le condizioni sono già specificate. Imposta le regole nella scheda formattazione condizionale: se il valore della colonna creata sopra è 1, il colore del carattere dovrebbe essere rosso Se il valore è 2, quindi dovrebbe essere arancione e così via.

Ecco un’immagine per mostrare come si può fare in Power BI:

Dividere una stringa in base ai delimitatori

Un’altra funzione Excel comune che possiamo usare in Power BI:

customer_split_1 = PATHITEM(SUBSTITUTE(Orders," ","|"),1)

La funzione PATHITEM sopra restituisce la stringa risultante. La funzione SUBSTITUTE sostituisce il delimitatore specificato con un carattere particolare e recupera la parola corrispondente in base al valore menzionato.

Ad esempio, eseguiamo una divisione nel campo “Nome cliente”. Qui, lo spazio “”sarà il delimitatore e lo abbiamo sostituito con una pipeline”/”. Abbiamo bisogno solo del nome di un cliente, quindi abbiamo specificato 1. È possibile modificare questo valore e vedere quali risultati si ottiene.

Ora eseguiamo tre split up in questo modo e chiamiamoli rispettivamente come customer_split_1, customer_split_2, customer_split_3.

Recupero di una lettera particolare da una parola

E se volessimo estrarre solo una lettera particolare da una parola? Sembra complicato, ma in realtà è abbastanza facile in Power BI:

customer_initial_1 = LEFT(Orders,1)

L’abbiamo fatto in una sola riga di codice!

Diciamo che il nome di un particolare cliente è “Helen Stein” e la divisione è divisa in due parti. Usiamo il DAX sopra per ottenere la prima lettera dalla prima parola divisa (Helen). La funzione SINISTRA restituisce il numero di caratteri posizionando all’inizio della stringa. Se diamo 2 invece di 1, il DAX sopra restituirà ” He “invece di”H”.

Concatenando le stringhe

Spesso ci troviamo in situazioni in cui abbiamo bisogno di combinare due parole insieme. Per vedere come funziona in Power BI, supponiamo di avere più iniziali nei nostri dati.

È necessario specificare solo le iniziali del cliente nella visualizzazione piuttosto che il loro nome intero. Ciò contribuirà a mantenere il tavolo pulito e compatto:

customer_initials = CONCATENATE(Orders,CONCATENATE(Orders,Orders))

La funzione concatenate unisce le stringhe insieme. Qui, abbiamo eseguito una concatenazione di tre colonne:

GIORNO DELLA SETTIMANA ()

La funzione GIORNO della SETTIMANA restituisce un numero intero che ci dà il giorno corrente. Scopriamo il giorno in cui sono stati spediti alcuni ordini:

weekday = WEEKDAY(Orders,2)

Il numero intero visualizzato sopra specifica il giorno di inizio:

  • 1 – Inizia da domenica = 1 e termina sabato = 7
  • 2 – Inizia da lunedì = 1 e termina domenica = 7
  • 3 – Inizia da lunedì = 0 e termina domenica = 6

DATA Split Up

Ci sono momenti in cui abbiamo bisogno di un-pivot la data per determinati progetti. Ecco la buona notizia-possiamo farlo con l’aiuto di DAX e l’editor di query in Power BI.

Ora, abbiamo due colonne: data dell’ordine e data di spedizione. Vogliamo cancellare le date che si trovano tra i due intervalli. Prendiamo la data dell’ordine come 01-01-2015 e la data di spedizione come 03-01-2015. Poiché c’è una differenza di 3 giorni tra loro, questa riga verrà elencata tre volte.

Possiamo farlo attraverso l’editor di query in Power BI. Seleziona l’opzione ‘Colonna personalizzata’ nella scheda ‘Aggiungi colonna’. La finestra sottostante si apre e possiamo aggiungere un nome di colonna e utilizzare la query DAX:

Quindi, trova la colonna DATA nel nostro set di dati. Fare clic sulla piccola casella all’interno dell’intestazione della colonna DATA e selezionare l’opzione’ Espandi a nuove righe’:

Si noti come i valori appaiono sotto forma di numeri interi? Ora, fare clic destro sulla colonna e modificare il tipo di dati in formato ‘Data’:

Aggregazioni complesse Basate sulla DATA

Lavorare con i dati della data è una sfida piuttosto complicata. C’è molto di più che dividere i diversi giorni, mesi, ecc.

In questa sezione, lavoreremo su un esempio di aggregazione complessa basata sulle date. Ad esempio, qual è il numero totale di ore elencate per le prossime 2 settimane o le ultime 2 settimane?

Cambieremo il nostro set di dati per questa sezione. È possibile scaricare il nuovo set di dati, chiamato ‘Weekcal’, da Forecast. Questo set di dati è modellato su team time-allocation e uno strumento di pianificazione chiamato Float. Float ci aiuta ad assegnare compiti e calcolare le ore stimate per i membri del team.

C’è un avvertimento in Float di cui dovremmo essere consapevoli. Una settimana inizia sempre da lunedì nello strumento Float. Ad esempio, se vuoi calcolare le ore assegnate per la prossima settimana a partire da giovedì, troverai le ore assegnate dal lunedì al venerdì più recente e non da questo giovedì al giovedì successivo.

Ora, il dataset contiene le funzionalità riportate di seguito:

  • Il giorno di inizio – giorno di Inizio dell’attività
  • data di Fine del giorno di chiusura dell’attività
  • Ore/giorno – Numero di ore di attività al giorno
  • Nome dell’Attività Nome dell’attività

supponiamo siamo interessati a trovare il numero di ore assegnato per la prossima settimana. Possiamo farlo utilizzando il seguente logica:

FORECAST_1 WEEK = if (Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(Forecast1,Forecast1,DAY)+1 * Forecast1,IF(Forecast1 > TODAY()-(WEEKDAY(TODAY(),2)-1) ,0,IF(Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)+7 && Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1),DATEDIFF(TODAY()-(WEEKDAY(TODAY(),2)-1),Forecast1,DAY)* Forecast1,IF(Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1 >=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(Forecast1,TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DAY)* Forecast1,IF(Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)&& Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(TODAY()-(WEEKDAY(TODAY(),2)-1),TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DAY) * Forecast1,BLANK())))))
  • OGGI() – (giorno della settimana(OGGI(), 2) – 1 funzione restituisce lo stato corrente del lunedì della settimana
  • funzione DATEDIFF restituisce la differenza tra due date

Controlla la tabella qui sotto per vedere la stima di ore per ogni attività per la settimana seguente:

Fine Note

Alimentazione BI è un potente e facile da usare strumento per creare rapidamente i cruscotti con una varietà di fonti di dati. Le query DAX vengono utilizzate per mappare i dati, creare nuove variabili e metriche aziendali e manipolare i dati. Questo articolo fornisce una breve e rapida guida per iniziare il vostro viaggio DAX.

Dovresti anche controllare i tutorial ufficiali di Microsoft per Power BI – una grande risorsa!

Speriamo che questo articolo sia stato utile. Non vediamo l’ora di sentire i vostri commenti e commenti. Buon Dashboarding, o dovremmo dire Felice DAXing!

Informazioni sugli autori

Kirthi Tej Yendloori

Kirthi Tej è un analista di dati presso Indium software. Ha un anno di esperienza nella visualizzazione dei dati ed è estremamente interessato all’apprendimento automatico. Ama viaggiare.

You might also like

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.