Applies ToExcel per Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Questa Guida introduttiva è destinata ai nuovi utenti che non hanno Power Pivot in Excel o nei progetti modello tabulare modificati in SQL Server Data Tools. Ha lo scopo di offrire una semplice e veloce introduzione su come usare Data Analysis Expressions (DAX) per risolvere una serie di problemi di base relativi alla modellazione dei dati e all'analisi. Questo argomento include informazioni concettuali, una serie di attività che è possibile completare e alcuni test per testare ciò che è stato appreso. Dopo aver completato questo argomento, si dovrebbe avere una buona comprensione dei concetti fondamentali più di base in DAX.

Che cos'è DAX?

DAX è una raccolta di funzioni, operatori e costanti che è possibile usare in una formula, o espressione, per calcolare e restituire uno o più valori. In altre parole, DAX consente di creare nuove informazioni dai dati già presenti nel modello.

Perché DAX è così importante?

È facile creare una cartella di lavoro e importarvi alcuni dati. È anche possibile creare tabelle pivot o grafici pivot che visualizzano informazioni importanti senza usare formule DAX. Ma cosa succede se è necessario analizzare i dati di vendita critici in diverse categorie di prodotti e per intervalli di date diversi? In alternativa, è necessario combinare dati importanti dell'inventario di diverse tabelle in origini dati diverse? Le formule DAX forniscono questa funzionalità e molte altre funzionalità importanti. Imparare a creare formule DAX efficaci consente di ottenere il massimo dai dati. Quando si ricevono le informazioni necessarie, è possibile iniziare a risolvere problemi aziendali reali che influiscono sui bottom line. Si tratta di business intelligence, e DAX ti aiuterà a arrivarci.

Prerequisiti

Si ha già familiarità con la creazione di formule in Microsoft Excel. Queste conoscenze saranno utili per comprendere DAX, ma anche se non si ha esperienza con le formule di Excel, i concetti descritti qui aiuteranno a creare formule DAX e a risolvere immediatamente i problemi bi reali.

Ci concentreremo in particolare sulla comprensione delle formule DAX usate nei calcoli. È necessario avere già familiarità con i concetti fondamentali sia delle misure che delle colonne calcolate, note anche come campi calcolati, entrambi descritti nella Guida di Power Pivot. È anche necessario avere familiarità con i Power Pivot nell'ambiente di creazione e negli strumenti di Excel.

Cartella di lavoro di esempio

Il modo migliore per imparare da DAX consiste nel creare alcune formule di base, usarle con alcuni dati effettivi e visualizzare i risultati autonomamente. Gli esempi e le attività qui usano la cartella di lavoro Formulas.xlsx contoso Sample DAX. È possibile scaricare la cartella di lavoro da http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Dopo aver scaricato la cartella di lavoro nel computer, aprirla e quindi aprire la finestra Power Pivot.

Cominciamo!

Creeremo una cornice per DAX intorno a tre concetti fondamentali molto importanti: Sintassi, Funzioni e Contesto. Naturalmente, ci sono altri concetti importanti in DAX, ma la comprensione di questi tre concetti fornirà le basi migliori su cui costruire le tue competenze DAX.

Sintassi

Prima di creare formule personalizzate, si osservi la sintassi della formula DAX. La sintassi include i vari elementi che compongono una formula o, più semplicemente, il modo in cui viene scritta la formula. Ad esempio, si osservi una semplice formula DAX usata per creare nuovi dati (valori) per ogni riga di una colonna calcolata, denominata Margin, in una tabella FactSales: (i colori del testo delle formule sono solo a scopo esemplificativo)

Formula della colonna calcolata

La sintassi di questa formula include gli elementi seguenti:

  1. L'operatore segno di uguale (=) indica l'inizio della formula e, quando viene calcolata, restituisce un risultato o un valore. Tutte le formule che calcolano un valore inizieranno con un segno di uguale.

  2. La colonna di riferimento [SalesAmount] contiene i valori da cui si desidera sottrarre. Un riferimento di colonna in una formula è sempre racchiuso tra parentesi quadre []. A differenza delle formule di Excel che fanno riferimento a una cella, una formula DAX fa sempre riferimento a una colonna.

  3. Operatore matematico di sottrazione (-).

  4. La colonna di riferimento [TotalCost] contiene i valori da sottrarre dai valori nella colonna [SalesAmount].

Quando si cerca di capire come leggere una formula DAX, spesso è utile suddividere ogni elemento in una lingua che si pensa e si parla ogni giorno. Ad esempio, è possibile leggere questa formula come:

Nella tabella FactSales calcolare (=) un valore per ogni riga della colonna calcolata Margin sottraendo (-) i valori della colonna [TotalCost] dai valori della colonna [SalesAmount].

Diamo un'occhiata a un altro tipo di formula, uno che viene usato in una misura:

Formula della colonna calcolata

Questa formula include gli elementi della sintassi seguenti:

  1. Nome della misura Somma dell'importo vendite. Le formule per le misure possono includere il nome della misura, seguito da due punti, seguito dalla formula di calcolo.

  2. L'operatore segno di uguale (=) indica l'inizio della formula di calcolo. Quando viene calcolata, viene restituito un risultato.

  3. La funzione SOMMA somma tutti i numeri nella colonna [SalesAmount].The function SUM adds up all of the numbers in the [SalesAmount] column. Ulteriori informazioni sulle funzioni verranno fornite in un secondo momento.

  4. Parentesi () racchiudere uno o più argomenti. Tutte le funzioni richiedono almeno un argomento. Un argomento passa un valore a una funzione.

  5. Tabella di riferimento FactSales.

  6. Colonna di riferimento [SalesAmount] nella tabella FactSales. Con questo argomento, la funzione SOMMA riconosce la colonna in cui aggregare una SOMMA.

È possibile leggere questa formula come:

Per la misura denominata Sum of Sales Amount, calcolare (=) la SOMMA dei valori nella colonna [ SalesAmount ] della tabella FactSales.

Quando viene inserita nell'area di rilascio Valori in un elenco campi tabella pivot, questa misura calcola e restituisce i valori definiti da ogni cella della tabella pivot, ad esempio Cellulari negli Stati Uniti.

Si noti che esistono alcune differenze rispetto alla formula usata per la colonna calcolata Margine. In particolare, è stata introdotta una funzione SOMMA. Le funzioni sono formule pre scritte che semplificano l'esecuzione di calcoli e manipolazioni complesse con numeri, date, ora, testo e altro ancora. Ulteriori informazioni sulle funzioni verranno fornite in un secondo momento.

A differenza della colonna calcolata Margin in precedenza, la colonna [SalesAmount] è preceduta dalla tabella FactSales a cui appartiene la colonna. Questo nome è noto come nome di colonna completo in quanto include il nome di colonna preceduto dal nome della tabella. Per le colonne a cui viene fatto riferimento nella stessa tabella non è necessario includere il nome della tabella nella formula. In questo modo le formule lunghe che fanno riferimento a molte colonne sono più brevi e facili da leggere. Tuttavia, è consigliabile includere sempre il nome della tabella nelle formule di misura, anche quando ci si trova nella stessa tabella.

Nota: Se il nome di una tabella contiene spazi, parole chiave riservate o caratteri non consentiti, è necessario racchiudere il nome della tabella tra virgolette singole. È inoltre necessario racchiudere i nomi di tabella tra virgolette se il nome contiene caratteri esterni all'intervallo di caratteri alfanumerici ANSI, indipendentemente dal fatto che le impostazioni locali supportino o meno il set di caratteri.

È molto importante che le formule abbiano la sintassi corretta. Nella maggior parte dei casi, se la sintassi non è corretta, verrà restituito un errore di sintassi. In altri casi, la sintassi potrebbe essere corretta, ma i valori restituiti potrebbero non essere quello previsto. Power Pivot (e SQL Server Data Tools) include IntelliSense; una caratteristica usata per creare formule sintatticamente corrette consentendo di selezionare gli elementi corretti.

Creare una formula semplice. Questa attività consente di comprendere ulteriormente la sintassi della formula e il modo in cui la caratteristica IntelliSense nella barra della formula può risultare utile.

Attività: Creare una formula semplice per una colonna calcolata

  1. Se non si è già nella finestra Power Pivot, nella barra multifunzione Power Pivot di Excel fare clic su Power Pivot finestra.

  2. Nella finestra Power Pivot fare clic sulla tabella FactSales (scheda).

  3. Scorrere fino alla colonna più a destra e quindi nell'intestazione di colonna fare clic su Aggiungi colonna.

  4. Fare clic nella barra della formula nella parte superiore della finestra di Progettazione modelli.

    Barra della formula di PowerPivot

    Il cursore viene visualizzato nella barra della formula. La barra della formula consente di digitare una formula per una colonna calcolata o un campo calcolato.

    Diamo un'occhiata ai tre pulsanti a sinistra della barra della formula.

    Formula bar

    Quando il cursore è attivo nella barra della formula, questi tre pulsanti diventano attivi. Il pulsante all'estrema sinistra, la X, è semplicemente un pulsante Annulla. Vai avanti e fai clic su di esso. Il cursore non viene più visualizzato nella barra della formula e il pulsante Annulla e il pulsante del segno di spunta non vengono più visualizzati. Continuare e fare di nuovo clic sulla barra della formula. Il pulsante Annulla e il pulsante del segno di spunta ora ricompaiono. Questo significa che si è pronti per iniziare a immettere una formula.

    Il pulsante del segno di spunta è il pulsante della formula di controllo. Non serve molto finché non si immette una formula. Ci ritorneremo tra un po'.

    Fare clic sul pulsante Fx . Vedrai che viene visualizzata una nuova finestra di dialogo; finestra di dialogo Inserisci funzione. La finestra di dialogo Inserisci funzione è il modo più semplice per iniziare a immettere una formula DAX. Quando si crea una misura in un secondo momento, una funzione viene aggiunta a una formula, ma per il momento non è necessario aggiungere una funzione alla formula della colonna calcolata. Andare avanti e chiudere la finestra di dialogo Inserisci funzione.

  5. Nella barra della formula digitare il segno di uguale =, quindi digitare una parentesi quadra aperta [. Verrà visualizzata una piccola finestra con tutte le colonne nella tabella FactSales. Questa è IntelliSense in azione.

    Poiché le colonne calcolate vengono sempre create nella tabella attiva in cui ci si trova, non è necessario anteporre al nome della colonna il nome della tabella. Andare avanti e scorrere verso il basso e quindi fare doppio clic su [SalesQuantity]. È anche possibile scorrere fino al nome della colonna desiderato e quindi premere TAB.

    Il cursore è ora attivo a destra di [SalesQuantity].

  6. Digitare uno spazio e quindi un operatore di sottrazione - (segno meno) e quindi digitare un altro spazio.

  7. A questo modo, digitare un'altra parentesi quadra aperta [. Questa volta, selezionare la colonna [ReturnQuantity] e quindi premere INVIO.

    Se viene visualizzato un errore, esaminare attentamente la sintassi. Se necessario, confrontarlo con la formula nella colonna calcolata Margine descritta in precedenza.

    Dopo aver premuto INVIO per completare la formula, nella barra di stato nella parte inferiore della finestra Power Pivot viene visualizzata la parola Calcolo . Questa funzionalità è rapida, anche se sono stati appena calcolati nuovi valori per più di tre milioni di righe.

  8. Fare clic con il pulsante destro del mouse sull'intestazione di colonna e rinominare la colonna NetSales.

Tutto qui! È stata appena creata una formula DAX semplice ma molto potente. Per ogni riga della tabella FactSales, la formula NetSales calcola un valore sottraendo il valore della colonna [ReturnQuantity] dal valore della colonna [SalesQuantity]. Notate come abbiamo appena detto "Per ogni riga". Si tratta di un assaggio di un altro concetto molto importante in DAX; contesto di riga. Altre informazioni sul contesto delle righe verranno fornite in un secondo momento.

Qualcosa di molto importante da capire quando si digita un operatore in una formula DAX è il tipo di dati negli argomenti in uso. Ad esempio, se si digitasse la formula seguente= 1 & 2, il valore restituito sarebbe un valore di testo di "12". Il motivo è che l'operatore e commerciale (&) è per la concatenazione del testo. DAX interpreta questa formula per leggere: Calcolare un risultato prendendo il valore 1 come testo e aggiungendo il valore 2 come testo. Ora, se si digita = 1 + 2, DAX legge questa formula come: Calcolare un risultato prendendo il valore numerico 1 e aggiungendo il valore numerico 2. Il risultato è ovviamente "3", un valore numerico. DAX calcola i valori risultanti in base all'operatore nella formula, non in base al tipo di dati delle colonne usate nell'argomento. I tipi di dati in DAX sono molto importanti, ma al di fuori dell'ambito di questa Guida introduttiva. Per altre informazioni sui tipi di dati e sugli operatori nelle formule DAX, vedere riferimento a DAX (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) nella documentazione online.

Proviamone un'altra. Questa volta verrà creata una misura digitando la formula e usando IntelliSense. Se non si comprende completamente la formula, non c'è da preoccuparsi. La cosa importante in questo caso è imparare a creare una formula usando più elementi insieme nella sintassi corretta.

Attività: Creare una formula di misura

  1. Nella tabella FactSales fare clic in una cella vuota nell'area calcoli. Questa è l'area delle celle vuote immediatamente sotto una tabella nella finestra Power Pivot.

Area calcoli di PowerPivot

  1. Nella barra della formula digitare il nome Vendite trimestre precedente:.

  2. Digitare un segno di uguale = per iniziare la formula di calcolo.

  3. Digitare le prime lettere CAL e quindi fare doppio clic sulla funzione da usare. In questa formula si vuole usare la funzione CALCOLA .

  4. Digitare una parentesi aperta ( per iniziare gli argomenti da passare alla funzione CALCOLA.

    Nota: dopo aver digitato la parentesi di apertura, IntelliSense mostra gli argomenti necessari per la funzione CALCULATE. Si imparerà a conoscere gli argomenti in un po'.

  5. Digitare le prime lettere della tabella FactSales e quindi nell'elenco a discesa fare doppio clic su FactSales[Sales].

  6. Digitare una virgola (,) per specificare il primo filtro, quindi digitare PRE e quindi fare doppio clic sulla funzione TRIMESTRE PRECEDENTE .

    Dopo aver selezionato la funzione TRIMESTRE PRECEDENTE, viene visualizzata un'altra parentesi aperta, che indica che è necessario un altro argomento. questa volta, per la funzione TRIMESTRE PRECEDENTE.

  7. Digitare le prime lettere Dim e quindi fare doppio clic su DimDate[DateKey].

  8. Chiudere sia l'argomento passato alla funzione TRIMESTRE PRECEDENTE che la funzione CALCOLA digitando due parentesi di chiusura )).

    La formula dovrebbe avere un aspetto simile al seguente:

    Vendite trimestre precedente:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Fare clic sul pulsante controlla formula sulla barra della formula per convalidare la formula. Se viene visualizzato un messaggio di errore, verificare ogni elemento della sintassi.

Ce l'hai fatta! Hai appena creato una misura con DAX, e non una semplice a questo. Questa formula calcola il totale delle vendite per il trimestre precedente, a seconda dei filtri applicati in una tabella pivot o in un grafico pivot.

Sono stati appena presentati diversi aspetti importanti delle formule DAX. Prima di tutto, questa formula includeva due funzioni. Si noti che la funzione TRIMESTRE.PRECEDENTE è annidata come argomento passato alla funzione CALCOLA . Le formule DAX possono contenere fino a 64 funzioni annidate. È improbabile che una formula contenga così tante funzioni annidate. In effetti, una formula di questo tipo sarebbe molto difficile da creare ed eseguire il debug e probabilmente non sarebbe neanche molto veloce.

In questa formula sono stati usati anche i filtri. I filtri limitare ciò che verrà calcolato. In questo caso, è stato selezionato un filtro come argomento, che in realtà è un'altra funzione. Scoprirai di più sui filtri in un secondo momento.

Infine, è stata usata la funzione CALCOLA. Questa è una delle funzioni più potenti in DAX. Quando si creano modelli di dati e si creano formule più complesse, questa funzione verrà probabilmente usata molte volte. La discussione della funzione CALCULATE non rientra nell'ambito di questa Guida introduttiva, ma man mano che si conosce DAX prestare particolare attenzione a questa funzione.

Nota: In genere, per usare le funzioni di Business Intelligence per le date nelle formule DAX, è necessario specificare una colonna data univoca usando la finestra di dialogo Segna come tabella data. Nella cartella di lavoro Samples.xlsx Formula DAX Contoso la colonna DateKey nella tabella DimDate è selezionata come colonna data univoca.

Credito aggiuntivo

Ci si potrebbe chiedere: 'Qual è la formula DAX più semplice che posso creare?' Bene, la risposta è 'la formula che non devi fare'. Questo è esattamente ciò che è possibile fare usando una funzione di aggregazione standard in una misura. Quasi tutti i modelli di dati devono essere filtrati e calcolati in base ai dati aggregati. Ad esempio, la funzione SOMMA nella misura Sum of Sales Amount visualizzata in precedenza viene usata per sommare tutti i numeri in una determinata colonna. Dax include diverse altre funzioni che aggregano anche i valori. È possibile creare automaticamente le formule usando aggregazioni standard usando la caratteristica Somma automatica.

Attività di credito aggiuntivo: creare una formula di misura usando la caratteristica Somma automatica

  1. Nella tabella FactSales scorrere fino alla colonna ReturnQuantity e quindi fare clic sull'intestazione di colonna per selezionare l'intera colonna.

  2. Nel gruppo Calcoli della scheda Home fare clic sul pulsante Somma automatica.

Somma automatica in PowerPivot

Fare clic sulla freccia in giù accanto a Somma automatica e quindi fare clic su Media . Notare che è possibile usare anche le altre funzioni di aggregazione standard.

Immediatamente, viene creata una nuova misura con il nome Average of ReturnQuantity: seguito dalla formula =AVERAGE([ReturnQuantity]).

Non è stato facile? Naturalmente, non tutte le formule create saranno così semplici. Tuttavia, usando la caratteristica Somma automatica, è possibile creare formule semplici e rapide usando calcoli di aggregazione standard.

In questo modo si comprende abbastanza bene la sintassi usata nelle formule DAX. Sono state inoltre introdotte alcune funzionalità interessanti, come IntelliSense e Somma automatica, che consentono di creare formule rapide, semplici e accurate. Naturalmente c'è molto altro che si può imparare sulla sintassi. Un buon posto per saperne di più è il riferimento DAX o la documentazione online di SQL.

Sintassi QuickQuiz

  1. Che cosa fa questo pulsante sulla barra della formula?Pulsante funzione

  2. Cosa racchiude sempre un nome di colonna in una formula DAX?

  3. Come si scrive una formula per quanto segue:Nella tabella DimProduct, per ogni riga della colonna calcolata UnitMargin, calcolare un valore sottraendo i valori nella colonna UnitCost dai valori della colonnaUnitPrice?

Le risposte sono disponibili alla fine di questo argomento.

Funzioni

Le funzioni sono formule predefinite che eseguono calcoli usando valori specifici, denominati argomenti, in un particolare ordine o struttura. Gli argomenti possono essere altre funzioni, un'altra formula, riferimenti di colonna, numeri, testo, valori logici come VERO o FALSO o costanti.

In DAX sono incluse le categorie di funzioni seguenti: Data e ora, Informazioni, Logiche, Matematiche, Statistiche, Testo e Funzioni di Business Intelligence per le ore. Se si ha familiarità con le funzioni nelle formule di Excel, molte delle funzioni in DAX saranno simili a quelle dell'utente. Tuttavia, le funzioni DAX sono univoche nei modi seguenti:

  • Una funzione DAX fa sempre riferimento a una colonna o a una tabella completa. Se si vogliono usare solo valori specifici di una tabella o di una colonna, è possibile aggiungere filtri alla formula.

  • Se è necessario personalizzare i calcoli riga per riga, in DAX sono disponibili funzioni che consentono di usare il valore della riga corrente o un valore correlato come tipo di argomento, per eseguire calcoli che variano in base al contesto. Ulteriori informazioni sul contesto verranno fornite in un secondo momento.

  • DAX include molte funzioni che restituiscono una tabella anziché un valore. La tabella non viene visualizzata, ma viene usata per fornire input ad altre funzioni. Ad esempio, è possibile recuperare una tabella e quindi contare i valori distinti al suo interno oppure calcolare somme dinamiche tra tabelle o colonne filtrate.

  • DAX include un'ampia gamma di funzioni di business intelligence per le funzionalità di business intelligence per le tempie. Queste funzioni consentono di definire o selezionare intervalli di date ed eseguire calcoli dinamici basati su di essi. Ad esempio, è possibile confrontare somme in periodi paralleli.

A volte è difficile sapere quali funzioni possono essere necessarie in una formula. Power Pivot e progettazione di modelli tabulari in SQL Server Data Tools includono la funzionalità Inserisci funzione, una finestra di dialogo che consente di selezionare le funzioni in base alla categoria e fornisce brevi descrizioni per ogni funzione.Inserisci funzione

Creare una nuova formula che include una funzione selezionata usando la caratteristica Inserisci funzione:

Attività: Aggiungere una funzione a una formula usando Inserisci funzione

  1. Nella tabella FactSales scorrere fino alla colonna più a destra e quindi nell'intestazione di colonna fare clic su Aggiungi colonna.

  2. Nella barra della formula digitare il segno di uguale =.

  3. Fare clic sul pulsante Inserisci funzione . Inserisci funzione Viene aperta la finestra di dialogo Inserisci funzione .

  4. Nella finestra di dialogo Inserisci funzione fare clic sulla casella di riepilogo Selezionare una categoria . Per impostazione predefinita, viene selezionato Tutto e tutte le funzioni della categoria Tutti sono elencate di seguito. Si tratta di molte funzioni, quindi è consigliabile filtrare le funzioni per individuare più facilmente il tipo di funzione che si sta cercando.

  5. Per questa formula, si vogliono restituire alcuni dati già esistenti in un'altra tabella. A tale scopo, si userà una funzione nella categoria Filtro. Andare avanti e fare clic sulla categoria Filtro , quindi in Selezionare una funzione scorrere verso il basso e fare doppio clic sulla funzione RELATED. Fare clic su OK per chiudere la finestra di dialogo Inserisci funzione .

  6. Usare IntelliSense per trovare e selezionare la colonna DimChannel[ChannelName].Use IntelliSense to help you find and select the DimChannel[ChannelName] column.

  7. Chiudere la formula e quindi premere INVIO.

  8. Dopo aver premuto INVIO per completare la formula, nella barra di stato nella parte inferiore della finestra Power Pivot viene visualizzata la parola Calcolo. Ora si noterà che è stata appena creata una nuova colonna nella tabella FactSales con le informazioni sui canali della tabella DimChannel.

  9. Rinominare la colonna Channel.

    La formula dovrebbe essere simile alla seguente: =RELATED(DimChannel[ChannelName])

È stata appena introdotta un'altra funzione molto importante in DAX, la funzione RELATED . La funzione RELATED restituisce i valori da un'altra tabella. È possibile usare RELATED a condizione che esista una relazione tra la tabella corrente e la tabella che contiene i valori da ottenere. Naturalmente, la funzione RELATED offre immense possibilità. In questo caso, è ora possibile includere il canale di vendita per ogni vendita nella tabella FactSales. Ora è possibile nascondere la tabella DimChannel dall'elenco dei campi della tabella pivot, semplificando lo spostamento e la visualizzazione solo delle informazioni più importanti di cui si ha realmente bisogno. Analogamente alla funzione CALCULATE descritta in precedenza, la funzione RELATED è molto importante e probabilmente verrà usata molte volte.

Come si può vedere, le funzioni in DAX consentono di creare formule molto potenti. In realtà abbiamo toccato solo le nozioni di base delle funzioni. Man mano che le competenze DAX migliorano, verranno create formule usando molte funzioni diverse. Una delle aree migliori in cui è possibile ottenere informazioni dettagliate su tutte le funzioni DAX è il riferimento DAX (Data Analysis Expressions).

Funzioni QuickQuiz

  1. Che cosa fa sempre riferimento una funzione?

  2. Una formula può contenere più funzioni?

  3. Quale categoria di funzioni usare per concatenare due stringhe di testo in un'unica stringa?

Le risposte sono disponibili alla fine di questo argomento.

Contesto

Il contesto è uno dei concetti DAX più importanti da comprendere. Esistono due tipi di contesto in DAX; contesto di riga e di filtro. Verrà prima di tutto esaminato il contesto delle righe.

Contesto di riga

Il contesto di riga è più facilmente considerato come la riga corrente. Ad esempio, ricordare la colonna calcolata Margine visualizzata in precedenza quando si è a conoscenza della sintassi? La formula =[ImportoVendita] - [TotalCost] calcola un valore nella colonna Margine per ogni riga della tabella. I valori per ogni riga vengono calcolati dai valori di altre due colonne, [SalesAmount] e [TotalCost] nella stessa riga. DAX può calcolare i valori per ogni riga della colonna Margin perché ha il contesto: Per ogni riga, accetta i valori nella colonna [TotalCost] e li sottrae dai valori della colonna [SalesAmount].

Nella cella selezionata visualizzata di seguito il valore $ 49,54 nella riga corrente è stato calcolato sottraendo il valore $51,54 nella colonna [TotalCost] dal valore $101,08 nella colonna [SalesAmount].

Contesto di riga in PowerPivot

Il contesto delle righe non si applica solo alle colonne calcolate. Il contesto di riga si applica anche quando una formula ha una funzione che applica filtri per identificare una singola riga in una tabella. La funzione applicherà in modo intrinseco un contesto di riga per ogni riga della tabella su cui filtra. Questo tipo di contesto di riga si applica più spesso alle misure.

Contesto filtro

Filtrare il contesto è un po' più difficile da comprendere rispetto al contesto di riga. Il contesto di filtro può essere facilmente considerato: uno o più filtri applicati a un calcolo che determina un risultato o un valore.

Il contesto di filtro non esiste al posto del contesto di riga; si applica in aggiunta al contesto di riga. Ad esempio, per limitare ulteriormente i valori da includere in un calcolo, è possibile applicare un contesto di filtro che non solo specifica il contesto di riga, ma specifica anche solo un determinato valore (filtro) in tale contesto di riga.

Il contesto di filtro è facilmente visibile nelle tabelle pivot. Ad esempio, quando si aggiunge TotalCost all'area Valori e quindi si aggiunge Anno e Area alla riga o alle colonne, si definisce un contesto di filtro che seleziona un sottoinsieme di dati in base a un determinato anno e area geografica.

Perché il contesto di filtro è così importante per DAX? Poiché, anche se il contesto di filtro può essere applicato più facilmente aggiungendo etichette di colonna e riga e filtri dei dati in una tabella pivot, il contesto di filtro può essere applicato anche in una formula DAX definendo un filtro usando funzioni come ALL, RELATED, FILTER, CALCULATE, by relationships e by other measures and columns. Ad esempio, osserviamo la formula seguente in una misura denominata StoreSales:

Formula

Chiaramente questa formula è più complessa di alcune delle altre formule visualizzate. Tuttavia, per comprendere meglio questa formula, è possibile suddividerla in base alle altre formule.

Questa formula include gli elementi della sintassi seguenti:

  1. Nome della misura StoreSales, seguito da due punti :.

  2. L'operatore segno di uguale (=) indica l'inizio della formula.

  3. La funzione CALCULATE valuta un'espressione, come argomento, in un contesto modificato dai filtri specificati.

  4. Parentesi () racchiudere uno o più argomenti.

  5. Una misura [Sales] nella stessa tabella di un'espressione. La misura Sales contiene la formula: =SUM(FactSales[SalesAmount]).

  6. Ogni filtro è separato da una virgola (,).

  7. La colonna a cui viene fatto riferimento e un determinato valore, DimChannel[ChannelName] ="Store", come filtro.

Questa formula garantisce che solo i valori delle vendite, definiti dalla misura Vendite, come filtro, vengano calcolati solo per le righe nella colonna DimChannel[ChannelName] con il valore "Store", come filtro.

Come si può immaginare, la capacità di definire il contesto di filtro all'interno di una formula ha funzionalità immense e potenti. La possibilità di fare riferimento solo a un determinato valore in una tabella correlata è solo uno di questi esempi. Non preoccuparti se non comprendi immediatamente il contesto. Quando si creano formule personalizzate, si comprenderà meglio il contesto e il motivo per cui è così importante in DAX.

QuickQuiz contesto

  1. Quali sono i due tipi di contesto?

  2. Che cos'è il contesto di filtro?

  3. Che cos'è il contesto di riga?

Le risposte sono disponibili alla fine di questo argomento.

Riepilogo

Dopo aver compreso di base i concetti più importanti in DAX, è possibile iniziare a creare formule DAX per le colonne calcolate e le misure. DaX può infatti essere un po 'difficile da imparare, ma ci sono molte risorse disponibili per voi. Dopo aver letto più volte questo argomento e aver sperimentato alcune formule personalizzate, è possibile ottenere altre informazioni su altri concetti e formule DAX che consentono di risolvere i propri problemi aziendali. Sono disponibili molte risorse DAX nella Guida di Power Pivot, nella documentazione online di SQL Server, nei white paper e nei blog di Microsoft e dei principali professionisti BI. Il wiki del Centro risorse DAX (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) è un ottimo punto di partenza. Anche il riferimento DAX (Data Analysis Expressions) reference è una risorsa molto utile. Assicurati di salvarlo nei Preferiti.

Il white paper DAX nel modello tabulare BI, disponibile per il download (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) fornisce uno sguardo più dettagliato ai concetti introdotti qui e a molti altri concetti e formule avanzati. Questo white paper usa anche lo stesso esempio DAX Contoso Formulas.xlsx cartella di lavoro già installata.

Risposte di QuickQuiz

Sintassi:

  1. Apre la caratteristica Inserisci funzione.

  2. Parentesi quadre [].

  3. =[PrezzoUnitario] - [UnitCost]

Funzioni:

  1. Una tabella e una colonna.

  2. Sì. Una formula può contenere fino a 64 funzioni annidate.

  3. Funzioni di testo.

Contesto:

  1. Contesto di riga e contesto di filtro.

  2. Uno o più filtri in un calcolo che determina un singolo valore.

  3. Riga corrente.

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.