Iniziare con DAX in Power BI



Questo blog di Edureka ti aiuta a iniziare con le nozioni di base di Power BI DAX o le espressioni di analisi dei dati se non conosci Power BI con la sintassi e gli esempi.

Questo blog è essenzialmente progettato per gli utenti nuovi di e ha lo scopo di darti una guida rapida e facile su un linguaggio delle formule chiamato Espressioni di analisi dei dati (DAX) .Se hai familiarità con le funzioni in MS Excel o , molte delle formule in questo Nozioni di base su Power BI DAX l'articolo apparirà simile a te.

Detto questo, ecco i concetti, che fanno parte integrante di tutto , dopo aver appreso che dovresti avere una buona comprensione dei concetti più fondamentali in DAX.





Nozioni di base su Power BI DAX: che cos'è DAX?

Quindi, iniziamo con le basi di Power BI DAX, ok?

È abbastanza facile creare report utilizzando Power BI Desktop, che mostreranno preziose informazioni fin dall'inizio.



Ma cosa succede se è necessario analizzare la percentuale di crescita in tutte le categorie di prodotti, per tutti i diversi intervalli di date? Oppure devi calcolare la crescita annuale della tua azienda rispetto ai colossi del mercato?

L'apprendimento di DAX ti aiuterà a ottenere il massimo dal tuo e risolvere i problemi aziendali reali.

DAX comprende funzioni, operatori e costanti che possono essere inseriti sotto forma di formule per calcolare i valori con l'aiuto dei dati già presenti nel modello.



Power BI DAX include una libreria di oltre 200 funzioni, operatori e costrutti. La sua libreria offre un'immensa flessibilità nella creazione di misure per calcolare i risultati per quasi tutte le esigenze di analisi dei dati.

Nozioni di base su Power BI DAX: come funziona?

Prima di tutto, lascia che ti spieghi come funziona.Per la maggior parte, incorniceremo la nostra comprensione di Power BI DAX attorno a tre concetti fondamentali: Sintassi , Contesto , e Funzioni .

Naturalmente, ci sono altri concetti importanti qui, ma la comprensione di questi tre fornirà le migliori basi su cui costruire le tue abilità.

Sintassi

Il Sintassi comprende vari componenti che compongono una formula e come è scritta. Look a questa semplice formula DAX.

Quando si cerca di comprendere una formula DAX, è spesso utile suddividere ciascuno degli elementi in una lingua che si pensa e si parla ogni giorno. Quindi, questa formula include i seguenti elementi di sintassi:

Sintassi - Power BI DAX - Edureka

IO. Vendite totali è il nome della misura.

II. Il operatore segno uguale (=) indica l'inizio della formula.

III. SOMMA somma tutti i numeri nella colonna, Vendite [SalesAmount] .

IV. Ci sono questi parentesi () che racchiudono un'espressione contenente uno o più argomenti. Tutte le funzioni richiedono almeno un argomento.

V. I saldi è la tabella referenziata.

NOI. Un discussione passa un valore a una funzione. La colonna di riferimento [Ammontare delle vendite] è un argomento con cui la funzione SOMMA conosce la colonna su cui deve aggregare una SOMMA.

In poche parole, puoi leggerlo come, ' Per la misura denominata Total Sales, calcola (=) la SOMMA dei valori nella colonna [SalesAmount] nella tabella Sales. '

&piccheL'editor DAX di Power BI include una funzionalità di suggerimenti, che consente di creare formule sintatticamente corrette suggerendo gli elementi giusti.

Contesto

Contesto è uno dei più importanti dei 3 concetti DAX. Quando si parla di contesto, questo può riferirsi a uno dei due tipi Contesto di riga e Filtra contesto .

Usato prevalentemente parlando di Le misure , il Row-Context è più facilmente pensabile come la riga corrente. Si applica ogni volta che una formula ha una funzione che applica filtri per identificare una singola riga in una tabella.

Filtro-contesto è un po 'più difficile da capire rispetto al contesto di riga. Puoi pensare più facilmente al contesto del filtro come a uno o più filtri applicati in un calcolo. IlIl contesto del filtro non esiste al posto del contesto di riga. Piuttosto, si applica in aggiunta al primo. Guarda la seguente formula DAX.

Questa formula include i seguenti elementi di sintassi:

IO. Il nome della misura Vendite in negozio .

II. Il operatore segno uguale (=) indica l'inizio della formula.

III. Il CALCOLARE la funzione valuta un'espressione, come argomento.

IV. Parentesi () racchiude un'espressione contenente uno o più argomenti.

V. Una misura [Vendite totali] nella stessa tabella di un'espressione.

NOI. PER comma (,) separa il primo argomento dell'espressione dall'argomento del filtro.

STAI ARRIVANDO. La colonna di riferimento completa, Canale [ChannelName] è il nostro contesto di riga. Ogni riga in questa colonna specifica un canale, Store, Online, ecc.

VIII. Il valore particolare, Negozio viene utilizzato come filtro. Questo è il nostro contesto-filtro.

Questa formula garantisce quello la misura delle vendite totali viene calcolata solo per le righe nella colonna Channel [ChannelName] con il valore 'Store', come filtro.

Funzioni

Funzioni sono formule predefinite, strutturate e ordinate. Eseguono calcoli usando argomenti passato a loro. Questi argomenti possono essere numeri, testo, valori logici o altre funzioni.

Nozioni di base su Power BI DAX: Colonne e misure calcolate

In questo blog, ci concentreremo sulle formule DAX di Power BI utilizzate nei calcoli, in Le misure e Colonne calcolate .

Colonne calcolate

Quando si crea un modello di dati in Power BI Desktop, è possibile estendere una tabella creando nuove colonne. Il contenuto delle colonne è definito da un'espressione DAX, valutata riga per riga o nel contesto della riga corrente in quella tabella.

Nei modelli di dati per DAX, tuttavia, tutte le colonne calcolate occupano spazio in memoria e vengono calcolate durante l'elaborazione della tabella.

Questo comportamento è utile per ottenere una migliore esperienza utente, ma utilizza RAM preziosa e quindi è una cattiva abitudine in produzione perché ogni calcolo intermedio viene memorizzato nella RAM e spreca spazio prezioso.

Le misure

Esiste un altro modo per definire i calcoli in un modello DAX, utile se è necessario operare su valori aggregati anziché riga per riga. Questi calcoli sono misure. Uno dei requisiti di DAX è che una misura deve essere definita in una tabella. Tuttavia, la misura non appartiene realmente alla tabella. Quindi, puoi spostare una misura da una tabella a un'altra senza perdere la sua funzionalità.

Colonne calcolate e misure

Sia le misure che le colonne calcolate usano espressioni DAX. La differenza è il contesto di valutazione. Una misura viene valutata nel contesto della cella valutata in un report o in una query DAX, mentre una colonna calcolata viene calcolata a livello di riga all'interno della tabella a cui appartiene.

Anche se sembrano simili, c'è una grande differenza tra le colonne calcolate e le misure. Il valore di una colonna calcolata viene calcolato durante un aggiornamento dei dati e utilizza la riga corrente come contesto che non dipende dall'interazione dell'utente nel report.

Pertanto, è necessario definire una colonna calcolata ogni volta che si desidera eseguire le seguenti operazioni

  • Posiziona i risultati calcolati in un filtro dei dati oppure visualizza i risultati in righe o colonne in una tabella pivot (al contrario dell'area dei valori) o negli assi di un grafico oppure usa il risultato come condizione di filtro in una query DAX.
  • Definisci un'espressione strettamente legata alla riga corrente. Ad esempio, Prezzo * Quantità non può funzionare su una media o su una somma delle due colonne.
  • Classifica testo o numeri. Ad esempio, un intervallo di valori per una misura.

Una misura opera su aggregazioni di dati definite dal contesto corrente, che dipende dal filtro applicato nel rapporto, come la selezione di filtri dei dati, righe e colonne in una tabella pivot o assi e filtri applicati a un grafico.

Pertanto, è necessario definire una misura ogni volta che si desidera visualizzare i valori di calcolo risultanti che riflettono le selezioni dell'utente, ad esempio

  • Quando si calcola la percentuale di profitto su una determinata selezione di dati.
  • Quando si calcolano i rapporti di un prodotto rispetto a tutti i prodotti ma mantenendo il filtro sia per anno che per regione.

Nozioni di base su Power BI DAX: Tipi di funzioni in DAX

1. Funzioni aggregate

MIN

Questa funzione DAX rrestituisce il valore numerico minimo in una colonna o tra due espressioni scalari.

Sintassi

MIN()

Esempio

=MIN([ResellerMargin])

MINA

Questa funzione DAX rrestituisce il valore minimo in una colonna, inclusi eventuali valori logici e numeri rappresentati come testo.

Sintassi

MINA()

Esempio

=MINA(([Codice postale])

MINX

Questa funzione DAX restituisceil valore numerico minimo che risulta dalla valutazione di un'espressione per ogni riga di una tabella.

Sintassi

MINX(

,)

Esempio

=MINX(FILTRO(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Freight] + InternetSales [TaxAmt])

MAX

Questa funzione DAX rrestituisce il valore massimo in una colonna, inclusi eventuali valori logici e numeri rappresentati come testo.

Sintassi

MAX()

Esempio

=MAX([ResellerMargin])

MAX

Questa funzione DAX rrestituisce il valore massimo in una colonna, inclusi eventuali valori logici e numeri rappresentati come testo.

Sintassi

MAX()

Esempio

=MAX(([Codice postale])

MAXX

Questa funzione DAX restituisceil valore numerico massimo che risulta dalla valutazione di un'espressione per ogni riga di una tabella.

Sintassi

MAXX(

,)

Esempio

=MAXX(FILTRO(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Freight] + InternetSales [TaxAmt])

SOMMA

Questa funzione DAX adds tutti i numeri in una colonna.

Sintassi

SOMMA()

Esempio

=SOMMA(Ufficio vendite])

MEDIA

Questa funzione DAX rrestituisce la media aritmetica dei valori in una colonna.

Sintassi

MEDIA()

Esempio

=MEDIA(InternetSales [ExtendedSalesAmount])

sumx

Questa funzione DAX rrestituisce la somma di un'espressione valutata per ogni riga in una tabella.

Sintassi

come aprire aws cli

sumx(

,)

Esempio

=sumx(FILTRO(InternetSales, InternetSales [SalesTerritoryID] =5), [Trasporto])

AVERAGEX

Questa funzione DAX ccalcola la media aritmetica di un insieme di espressioni valutate su una tabella.

Sintassi

AVERAGEX(

,)

Esempio

=AVERAGEX(InternetSales, InternetSales [Freight] + InternetSales [TaxAmt])

2. Funzioni di conteggio

DISTINCTCOUNT

Questa è una funzione DAX usata per restituire il conteggio distinto di elementi in una colonna. Quindi, se ci sono più numeri dello stesso articolo, questa funzione lo conterà come un singolo articolo.

Sintassi

DISTINCTCOUNT()

Esempio

=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])

CONTARE

Questa è una funzione DAX usata per restituire il conteggio degli elementi in una colonna. Quindi, se ci sono più numeri dello stesso articolo, questa funzione lo conterà come articoli separati e non come un singolo articolo.

Sintassi

CONTARE()

Esempi

=CONTARE([Data di spedizione])

COUNTA

Questa è una funzione DAX usata per restituire il conteggio degli elementi, in una colonna, che non è vuota.

Sintassi

COUNTA()

Esempio

=COUNTA('Rivenditore' [telefono])

COUNTROWS

Questa è una funzione DAX checonta il numero di righe nella tabella specificata o in una tabella definita da un'espressione.

Sintassi

COUNTROWS(

)

Esempio

=COUNTROWS('Ordini')

COUNTBLANK

Questa è una funzione DAX checonta il numero di celle vuote in una colonna.

Sintassi

COUNTBLANK()

Esempio

=COUNTBLANK(Rivenditore [BankName])

3. Funzioni data-ora

DATA

Questa funzione DAX rrestituisce la data specificata nel formato data-ora.

Sintassi

DATA(<anno>,<mese>,<giorno>)

Esempio

=DATA(2019,12, 17)

ORA

Questa funzione DAX rtrasforma l'ora specificata come un numero compreso tra 0 e 23 (dalle 12:00 alle 23:00).

Sintassi

ORA()

Esempio

=ORA('Ordini' [TransactionTime])

OGGI

Questa funzione DAX rrestituisce la data corrente.

Sintassi

OGGI()

ADESSO

Questa funzione DAX rtrasforma la data e l'ora correnti nel formato data-ora.

Sintassi

ADESSO()

EOMONTH

Questa funzione DAX rrestituisce la data nel formato data-ora dell'ultimo giorno del mese, prima o dopo un determinato numero di mesi.

Sintassi

EOMONTH(,)

Esempio

=EOMONTH('3 marzo 2008',1.5)

4. Funzioni matematiche

SEZIONE

Questa funzione DAX rrestituisce il valore assoluto del numero dato.

Sintassi

SEZIONE()

Esempio

=ABS ([DealerPrice] - [ListPrice])

EXP

Questa funzione DAX rrestituisce il valore di e elevato alla potenza del numero dato.

Sintassi

EXP()

Esempio

= EXP ([Power])

FATTO

Questa funzione DAX rrestituisce il fattoriale di un numero.

Sintassi

FATTO()

Esempio

= FACT ([Values])

LN

Questa funzione DAX rrestituisce il logaritmo naturale del numero dato.

Sintassi

LN()

Esempio

= LN ([Values])

LOG

Questa funzione DAX rtrasforma il logaritmo con la base del numero dato.

Sintassi

LOG(,)

Esempio

Tutti i seguenti restituiscono lo stesso risultato, 2.

= LOG (100,10)

= LOG (100)

= LOG10 (100)

PI

Questa funzione DAX rrestituisce il valore di Pi.

Sintassi

PI()

ENERGIA

Questa funzione DAX rrestituisce il valore del primo argomento elevato alla potenza del secondo argomento.

Sintassi

ENERGIA(,<energia>)

Esempio

= POTENZA (5,2)

QUOZIENTE

Questa funzione DAX esegue la divisione rrestituisce la parte intera del quoziente.

Sintassi

QUOZIENTE(,)

Esempio

= QUOZIENTE (5,2)

CARTELLO

Questa funzione DAX restituisce il segno di un determinato numero.

Sintassi

CARTELLO()

Esempio

= SIGN (([Sale Price] - [Cost Price]))

SQRT

Questa funzione DAX rrestituisce la radice quadrata del numero dato.

Sintassi

SQRT()

Esempio

= SQRT (25)

5. Funzioni logiche

E

Questa funzione DAX esegue AND logico (congiunzione) su due espressioni. Affinché AND restituisca true, devono essere soddisfatte entrambe le condizioni specificate.

Sintassi

E(,)

Esempio

= SE (E (10>9, -10 <-uno),'Tutto vero','Uno o più falsi'

Poiché entrambe le condizioni, passate come argomenti, alla funzione AND sono vere, la formula restituisce 'Tutto vero'.

O

Questa funzione DAX esegue OR logico (disgiunzione) su due espressioni. Affinché OR restituisca true, deve essere soddisfatta una delle due condizioni specificate.

Sintassi

O(,)

Esempio

= SE (OR (10>9, -10> -uno),'Vero','Falso'

Poiché una delle condizioni, passata come argomenti, alla funzione OR è vera, la formula restituisce 'True'.

NON

Questa funzione DAX esegue NOT logico (negazione) su una determinata espressione.

Sintassi

NON()

Esempio

= NOT ([CalculatedColumn1])

Per ogni riga in Colonna1 calcolata, la funzione NOT restituisce l'opposto logico del valore specificato.

SE

Questa funzione DAX verifica una serie di input per quello che soddisfa la condizione specificata nell'argomento.

Sintassi

SE(test_logico> ,, valore_se_falso)

Esempio

= IF ([Calls]<200,'Basso', SE ([Calls]<300,'medio','alto'))

IN CASO DI ERRORE

Questa funzione DAX evaluta un'espressione e restituisce un valore specificato se l'espressione restituisce un errore.

Sintassi

IN CASO DI ERRORE(valore, value_if_error)

Esempio

= SE.ERRORE (25/0,9999)

6. Funzioni informative

È VUOTO

Questa funzione DAXrestituisce VERO o FALSO dopoccontrollando se un valore è vuoto.

Sintassi

È VUOTO(<valore>)

Esempio

= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [Total Sales] - 'CalculatedMeasures' [PreviousYearTotalSales]) / 'CalculatedMeasures' [PreviousYearTotalSales])

ISNUMBER

Questa funzione DAXrestituisce VERO o FALSO dopoccontrollando se un valore è numerico.

Sintassi

ISNUMBER(<valore>)

Esempio

= SE (ISNUMBER (0),'È il numero','Non è un numero')

ISTEXT

Questa funzione DAXrestituisce VERO o FALSO dopoccontrollando se un valore è un testo.

Sintassi

ISTEXT(<valore>)

Esempio

= SE (ISTEXT ('testo'),'È testo','Non è testo')

ISNONTEXT

Questa funzione DAXrestituisce VERO o FALSO dopoccontrollando se un valore non è testo.

Sintassi

ISNONTEXT(<valore>)

Esempio

= SE (ISNONTEXT ('testo'),'Non è testo','È testo')

ISERRORE

Questa funzione DAXrestituisce VERO o FALSO dopoccontrollando se un valore è un errore.

Sintassi

ISERROE(<valore>)

Esempio

= IF (ISERROR (SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount_USD])), BLANK (), SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount_USD]))

7. Funzioni di testo

CONCATENARE

Questa funzione DAX jriunisce due stringhe di testo in una.

Sintassi

CONCATENARE(,)

Esempio

= CONCATENATE ('Hello', 'World')

CONCATENATEX

Questa funzione DAXil risultato di un'espressione valutata per ogni riga in una tabella.

Sintassi

CONCATENATEX(

,, [delimitatore])

Esempio

= CONCATENATEX (dipendenti, [FirstName] e '' & [LastName], ',')

FISSO

Questa funzione DAX rrestituisce un numero al numero di decimali specificato e restituisce il risultato come testo.

Sintassi

FISSO(,,)

Esempio

= FISSO ([PctCost],3,uno)

SOSTITUIRE

Questa funzione DAXsostituisce parte di una stringa di testo, in base al numero di caratteri specificato, con una stringa di testo diversa.

Sintassi

SOSTITUIRE(,,,)

Esempio

= REPLACE ('Nuovi prodotti' [codice prodotto],uno,2,'OB')

RICERCA

Questa funzione DAX rrestituisce il numero di caratteri in corrispondenza dei quali viene trovata per la prima volta una stringa di testo specifica.

Sintassi

RICERCA(, [, [] [,]])

cos'è la sincronizzazione in java

Esempio

= RICERCA ('n','stampante')

La formula restituisce 4 perché 'n' è il quarto carattere della parola 'stampante'.

SUPERIORE

Questa funzione DAX restituisceuna stringa di testo in tutte le lettere maiuscole.

Sintassi

SUPERIORE()

Esempio

= UPPER (['Nuovi prodotti' [codice prodotto])

Nozioni di base su Power BI DAX: creazione della prima misura

Prerequisito: Dovrai aprire questo dato file di Power BI Desktop .

Dal momento che presumo che questo sarà il tuo primo, scriverò questo pezzo in grande dettaglio affinché tu lo possa seguire.

  1. Nell'elenco dei campi del file Visualizzazione report , fare clic con il pulsante destro del mouse sul file I saldi tabella, seguita dal Nuova misura .

  2. Sostituire Misurare digitando un nuovo nome di misura Vendite del trimestre precedente, nel Barra della formula .

  3. In questa formula, vuoi usare il CALCOLARE funzione. Quindi, dopo il segno di uguale, digita le prime lettere CAL e quindi fare doppio clic sulla funzione che si desidera utilizzare.

  4. La funzione CALCULATE ha almeno due argomenti. La prima è l'espressione da valutare e la seconda è a Filtro .

  5. Dopo l'apertura parentesi ( per il CALCOLARE funzione, tipo SOMMA seguito da un'altra parentesi di apertura ( per passare un argomento a SOMMA funzione.

  6. Inizia a digitare sale e quindi seleziona Vendite [SalesAmount] , seguito da una parentesi di chiusura ) . Questo è il primo argomento di espressione per il nostro CALCOLARE funzione.

  7. Digitare un comma (,) seguito da uno spazio per specificare il primo filtro, quindi digitare PRECEDENTE QUARTIERE . Questo sarà il nostro filtro.

  8. Utilizzerai il PRECEDENTE QUARTIERE funzione di intelligenza temporale per filtrare SOMMA risultati del trimestre precedente.

  9. Dopo la parentesi di apertura ( per la funzione PREVIOUSQUARTER, digitare Calendar [DateKey] .

  10. Il PRECEDENTE QUARTIERE funzione ha un argomento, una colonna contenente un intervallo di date contiguo. Nel nostro caso, questo è il DateKey colonna nella tabella Calendar.

  11. Assicurati che entrambi gli argomenti passati a PREVIOUSQUARTER e la funzione CALCULATE siano chiusi digitando due parentesi chiuse )) .

  12. La tua formula dovrebbe ora essere simile alla seguente
    Vendite trimestre precedente = CALCULATE (SUM (Sales [SalesAmount]), PREVIOUSQUARTER (Calendar [DateKey]))

  13. Fare clic sul segno di spunta nella barra della formula o premere Invio per convalidare la formula.

Dopo averlo aggiunto al tuo modello, voilà! Hai appena creato una misura utilizzando DAX e non è facile.

Quello che fa questa formula è calcolare le vendite totali per il trimestre precedente, a seconda dei filtri applicati in un report.

Quindi, se dovessimo mettere Ammontare delle vendite e il nostro nuovo Vendite del trimestre precedente misurare in un grafico e quindi aggiunto Anno e QuarterOfYear come Affettatrici, avremmo qualcosa di simile a quanto segue

Ora che hai una conoscenza di base dei concetti in Power BI DAX, puoi iniziare a creare formule DAX per le misure da solo. In effetti, può essere un po 'complicato da imparare, maDAX è in circolazione da diversi anni eci sono molte risorse disponibili sul web. Dopo aver letto questo blog e un po 'di sperimentazione, puoi imparare a trovare soluzioni aziendali tramite Power BI DAX.