Guida introduttiva: Informazioni sulle nozioni fondamentali di DAX in 30 minuti

Questa Guida introduttiva è per gli utenti che non hanno Power Pivot in Excel progetti di modelli tabulari creati in SQL Server Data Tools. È pensato per offrire un'introduzione rapida e semplice su come usare Data Analysis Expressions (DAX) per risolvere una serie di problemi analitici e di modellazione dei dati di base. Questo argomento include informazioni concettuali, una serie di attività che è possibile completare e alcuni test per testare ciò che si è appreso. Dopo aver completato questo argomento, è consigliabile 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 in un'espressione per calcolare e restituire uno o più valori. Più semplicemente, DAX consente di creare nuove informazioni dai dati già presenti nel modello.

Perché DAX è così importante?

È facile creare una cartella di lavoro e importare alcuni dati in essa. È 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? Oppure, è necessario combinare dati di inventario importanti da diverse tabelle in origini dati diverse? Le formule DAX forniscono questa funzionalità e molte altre funzionalità importanti. Imparare a creare formule DAX efficaci ti aiuterà a ottenere il massimo dei tuoi dati. Quando si ottengono le informazioni necessarie, è possibile iniziare a risolvere problemi aziendali reali che influiscono sui propri utili. Questa è business intelligence e DAX ti aiuterà a arrivarci.

Prerequisiti

È possibile che si abbia 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 di seguito consentono di iniziare subito a creare formule DAX e a risolvere i problemi di business intelligence nel mondo reale.

Ci concentreremo specificamente sulla comprensione delle formule DAX usate nei calcoli. È consigliabile avere già familiarità con i concetti fondamentali relativi alle colonne e alle misure calcolate (noti anche come campi calcolati), entrambi descritti nella Guida Power Pivot. È inoltre consigliabile avere familiarità con le Power Pivot in Excel di creazione e strumenti.

Cartella di lavoro di esempio

Il modo migliore per imparare DAX è creare alcune formule di base, usarle con alcuni dati effettivi e visualizzare i risultati manualmente. Gli esempi e le attività usano la cartella di lavoro Contoso Sample DAX Formulas.xlsx. È 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 Power Pivot cartella di lavoro.

Iniziamo!

DaX verrà incorniciato in base 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 proprie competenze DAX.

Sintassi

Prima di creare formule personalizzate, diamo un'occhiata alla sintassi della formula DAX. La sintassi include i vari elementi che costituiscono una formula o, più semplicemente, la modalità di scrittura della formula. Si consideri ad esempio una semplice formula DAX usata per creare nuovi dati (valori) per ogni riga di una colonna calcolata, denominata Margine, in una tabella FactSales: (i colori del testo delle formule sono solo a scopo illustrativo)

Formula della colonna calcolata

La sintassi di questa formula include gli elementi seguenti:

  1. L'operatore di segno di uguale (=) indica l'inizio della formula e quando questa formula viene calcolata restituirà 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 vuole sottrarre. Un riferimento di colonna in una formula è sempre racchiuso tra parentesi quadre []. A Excel formule 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, per ogni riga della colonna calcolata Margin, calcolare (=) un valore sottraendo (-)i valori nella colonna [TotalCost] dai valori della colonna[SalesAmount].

Diamo un'occhiata a un altro tipo di formula, usata in una misura:

Formula della colonna calcolata

Questa formula include gli elementi della sintassi seguenti:

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

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

  3. La funzione SOMMA somma tutti i numeri nella colonna [SalesAmount]. Altre informazioni sulle funzioni verranno più avanti.

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

  5. Tabella FactSales a cui si fa riferimento.

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

Questa formula può essere letta come:

Per la misura denominata Somma dell'importo delle vendite, calcolare (=)la somma dei valori nella colonna [SalesAmount] della tabella FactSales.

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

Si noti che questa formula è diversa 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, ore, testo e altro ancora. Altre informazioni sulle funzioni verranno più avanti.

A differenza della colonna calcolata Margin in precedenza, la colonna [SalesAmount] è stata preceduta dalla tabella FactSales a cui appartiene la colonna. Questo nome è noto come nome di colonna completo, in quanto include il nome della colonna preceduto dal nome della tabella. Le colonne a cui viene fatto riferimento nella stessa tabella non richiedono che il nome della tabella sia incluso nella formula. In questo modo le formule lunghe che fanno riferimento a molte colonne sono più brevi e più facili da leggere. È tuttavia consigliabile includere sempre il nome della tabella nelle formule di misura, anche se 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. È anche 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 la sintassi delle formule sia 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.

Creiamo una formula semplice. Questa attività consente di comprendere meglio la sintassi della formula e IntelliSense funzionalità di ricerca nella barra della formula.

Attività: Creare una formula semplice per una colonna calcolata

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

  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 sulla barra della formula nella parte superiore della finestra di Progettazione modelli.

    Barra della formula di PowerPivot

    Il cursore ora viene visualizzato nella barra della formula. La barra della formula è la posizione in cui è possibile 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 vengono ora ricompariti. Questo significa che si è pronti per iniziare a immettere una formula.

    Il pulsante segno di spunta è il pulsante verifica formula. L'immissione di una formula non richiede molto tempo. Ci tornerà tra un po'.

    Fare clic sul pulsante Fx. Verrà 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. Verrà aggiunta una funzione a una formula quando si creerà una misura in un secondo momento, ma per il momento non è necessario aggiungere una funzione alla formula della colonna calcolata. Continuare 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. Questo è IntelliSense in azione.

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

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

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

  7. Digitare ora un'altra parentesi quadra di apertura [. Questa volta, selezionare la colonna [ReturnQuantity] e quindi premere INVIO.

    Se viene visualizzato un messaggio di errore, esaminare attentamente la sintassi. Se necessario, confrontarla con la formula nella colonna calcolata Margin descritta in precedenza.

    Dopo aver premuto INVIO per completare la formula, la parola Calcolo viene visualizzata nella barra di stato nella parte inferiore della finestra Power Pivot testo. Si tratta di un'applicazione rapida, anche se sono stati 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 nella colonna [ReturnQuantity] dal valore nella colonna [SalesQuantity]. Si noti come si è appena detto "Per ogni riga". Questo è uno scorcio di un altro concetto molto importante in DAX; contesto di riga. Altre informazioni sul contesto di riga verranno più avanti.

Qualcosa di molto importante da comprendere quando si digita un operatore in una formula DAX è il tipo di dati negli argomenti in uso. Ad esempio, se si digita la formula seguente, = 1 & 2, il valore restituito sarà un valore di testo "12". Questo perché l'operatore e commerciale (&) è per la concatenazione del testo. DAX interpreta la formula da leggere: calcolare un risultato prendendo il valore 1 come testo e sommando 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 è naturalmente "3", un valore numerico. DAX calcola i valori risultanti a seconda dell'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 all'esterno dell'ambito di questa Guida introduttiva. Per altre informazioni sui tipi di dati e gli operatori nelle formule DAX, vedere la guida di riferimento a DAX (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) nella documentazione online.

Proviamo con un'altra. Questa volta si creerà una misura digitando la formula e usando IntelliSense. Non preoccuparti troppo se non comprendi completamente la formula. L'importante è 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 dell'area di calcolo. Questa è l'area delle celle vuote appena sotto una tabella nella finestra Power Pivot tabella.

Area calcoli di PowerPivot

  1. Nella barra della formula digitare il nome Vendite trimestrali precedenti:.

  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.

    Dopo aver digitato la parentesi di apertura, IntelliSense gli argomenti necessari per la funzione CALCOLA. In un po' di tempo si impareranno a conoscere gli argomenti.

  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 PREVIOUSQUARTER.

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

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

  8. Chiudere sia l'argomento passato alla funzione PREVIOUSQUARTER che la funzione CALCULATE digitando due parentesi di chiusura ).).

    La formula dovrebbe ora avere l'aspetto seguente:

    Vendite trimestrali precedenti:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

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

Ce l'hai fatta! È stata appena creata una misura con DAX e non è facile. Questa formula calcola le vendite totali per il trimestre precedente, a seconda dei filtri applicati in una tabella pivot o in una grafico pivot.

Sono stati introdotti diversi aspetti importanti delle formule DAX. Prima di tutto, questa formula includeva due funzioni. Si noti che la funzione PREVIOUSQUARTER è annidata come argomento passato alla funzione CALCULATE. 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 molto veloce.

In questa formula sono stati usati anche i filtri. I filtri restringeno gli elementi che verranno calcolati. In questo caso è stato selezionato un filtro come argomento, che in realtà è un'altra funzione. Ulteriori informazioni sui filtri verranno più avanti.

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

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

Credito aggiuntivo

Potrebbe essere chiesto: "Qual è la formula DAX più semplice che posso creare?". La risposta a questa domanda è "la formula che non è necessario". Questo è esattamente ciò che è possibile fare usando una funzione di aggregazione standard in una misura. Quasi tutti i modelli di dati devono filtrare e calcolare in base ai dati aggregati. Ad esempio, la funzione SOMMA nella misura Somma dell'importo delle vendite visualizzata in precedenza viene usata per sommare tutti i numeri in una colonna specifica. DAX include anche diverse altre funzioni che aggregano i valori. È possibile creare automaticamente formule usando aggregazioni standard usando la caratteristica Somma automatica.

Attività 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 automaticae quindi su Media (si notino anche le altre funzioni di aggregazione standard che è possibile usare).

Immediatamente, viene creata una nuova misura con il nome Media di ReturnQuantity: seguito dalla formula =MEDIA([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 i calcoli di aggregazione standard.

Questo dovrebbe fornire una buona comprensione della sintassi usata nelle formule DAX. Sono state inoltre introdotte alcune funzionalità interessanti come IntelliSense e Somma automatica per creare formule rapide, semplici e accurate. Naturalmente sono disponibili molte altre informazioni sulla sintassi. Un buon posto per saperne di più è la documentazione online di riferimento o SQL DAX.

Sintassi QuickQuiz

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

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

  3. Come si scrive una formula per la tabella
    DimProduct,per ogni riga della colonna calcolata UnitMargin,calcolare un valore sottraendo i valori della colonna UnitCost dai valori della colonna PrezzoUnitario?

Le risposte vengono fornite alla fine di questo argomento.

Funzioni

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

DAX include le categorie di funzioni seguenti: Data e ora, Informazioni, Logica, Matematica, Statistiche, Testo e Funzioni di Business Intelligence per le gerarchie temporali. Se si ha familiarità con le funzioni nelle formule Excel, molte delle funzioni in DAX appariranno simili all'utente. Tuttavia, le funzioni DAX sono univoche nei modi seguenti:

  • Una funzione DAX fa sempre riferimento a una colonna completa o a una tabella. 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, DAX fornisce funzioni che consentono di usare il valore di riga corrente o un valore correlato come tipo di argomento per eseguire calcoli che variano in base al contesto. Altre informazioni sul contesto verranno più avanti.

  • 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 in tabelle o colonne filtrate.

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

A volte è difficile sapere quali funzioni è necessario usare in una formula. Power Pivot e Progettazione modelli tabulari in SQL Server Data Tools includono la caratteristica Inserisci funzione, una finestra di dialogo che consente di selezionare le funzioni per categoria e fornisce brevi descrizioni per ogni funzione.

Inserisci funzione

Creare una nuova formula che include una funzione che verrà 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 un segno di uguale, =.

  3. Fare clic sul pulsante Inserisci funzione. Inserisci funzione si apre 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, è selezionato Tutto e tutte le funzioni della categoria Tutte sono elencate di seguito. Si tratta di molte funzioni, quindi è possibile filtrare le funzioni per semplificare l'individuazione del tipo di funzione che si sta cercando.

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

  6. Usare IntelliSense per trovare e selezionare la colonna DimChannel[ChannelName].

  7. Chiudere la formula e quindi premere INVIO.

  8. Dopo aver premuto INVIO per completare la formula, la parola Calcolo viene visualizzata nella barra di stato nella parte inferiore della finestra Power Pivot testo. Ora si può vedere 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 CORRELATA. La funzione RELATED restituisce i valori di un'altra tabella. È possibile usare RELATED purché sia presente una relazione tra la tabella attualmente in uso e la tabella che contiene i valori da ottenere. Naturalmente, la funzione RELATED offre moltissime 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, facilitando l'esplorazione e la visualizzazione solo delle informazioni più importanti necessarie. Analogamente alla funzione CALCOLA descritta in precedenza, la funzione CORRELATA è molto importante e probabilmente verrà utilizzata molte volte.

Come si può vedere, le funzioni in DAX consentono di creare formule molto potenti. Abbiamo davvero solo toccato le nozioni di base delle funzioni. Man a migliorare le competenze DAX, si creeranno formule usando molte funzioni diverse. Una delle posizioni migliori per ottenere informazioni dettagliate su tutte le funzioni DAX è in Riferimento a Data Analysis Expressions (DAX).

Funzioni QuickQuiz

  1. A cosa fa sempre riferimento una funzione?

  2. Una formula può contenere più funzioni?

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

Le risposte vengono fornite alla fine di questo argomento.

Contesto

Il contesto è uno dei concetti DAX più importanti da comprendere. In DAX sono disponibili due tipi di contesto. contesto di riga e contesto di filtro. Verrà prima di tutto visualizzato il contesto delle righe.

Contesto riga

Il contesto di riga è più facilmente pensato come la riga corrente. Ad esempio, tenere presente la colonna calcolata Margin che è stata vista in precedenza quando si è a conoscenza della sintassi? La formula =[SalesAmount] - [TotalCost] calcola un valore nella colonna Margin 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 di ogni riga nella colonna Margin perché ha il contesto: per ogni riga accetta i valori nella colonna [TotalCost] e li sottrae dai valori nella colonna [SalesAmount].

Nella cella selezionata illustrata 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 ogni volta che una formula ha una funzione che applica filtri per identificare una singola riga in una tabella. La funzione applica intrinsecamente 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

Il contesto del filtro è un po' più difficile da comprendere rispetto al contesto di riga. È più facile pensare al contesto del filtro come a uno o più filtri applicati in un calcolo che determina un risultato o un valore.

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

Il contesto del filtro è facilmente visibile nelle tabelle pivot. Ad esempio, quando si aggiunge TotalCost all'area Valori e quindi si aggiungono Anno e Area geografica 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 di 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, in base alle relazioni e da altre misure e colonne. Ad esempio, esamini la formula seguente in una misura denominata StoreSales:

Formula

Chiaramente questa formula è più complessa di alcune delle altre formule che hai visto. Tuttavia, per comprendere meglio questa formula, è possibile suddividerla, come è stato fatto con altre formule.

Questa formula include gli elementi della sintassi seguenti:

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

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

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

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

  5. Misura [Vendite] nella stessa tabella di un'espressione. La misura Vendite contiene la formula: =SOMMA(FactSales[ImportoVendite]).

  6. Una virgola (,) separa ogni filtro.

  7. La colonna a cui si fa riferimento e un valore specifico, DimChannel[ChannelName] ="Store", come filtro.

Questa formula garantirà che solo i valori di vendita, definiti dalla misura Vendite, come filtro, siano calcolati solo per le righe della colonna DimChannel[ChannelName] con il valore "Store", come filtro.

Come si può immaginare, la possibilità di definire il contesto di filtro all'interno di una formula ha una capacità immensa e potente. La possibilità di fare riferimento solo a un valore specifico 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.

Contesto QuickQuiz

  1. Quali sono i due tipi di contesto?

  2. Che cos'è il contesto del filtro?

  3. Che cos'è il contesto di riga?

Le risposte vengono fornite alla fine di questo argomento.

Riepilogo

Ora che si hanno informazioni di base sui concetti più importanti in DAX, è possibile iniziare a creare formule DAX per le colonne calcolate e le misure in modo personalizzato. DAX può essere un po' difficile da imparare, ma sono disponibili molte risorse. Dopo aver letto questo argomento alcune volte 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 professionisti di business intelligence leader. Il Wiki del Centro risorse DAX (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) è un ottimo punto di partenza. Il riferimento a Data Analysis Expressions (DAX) è anche un'ottima risorsa. Assicurarsi di salvarlo nei Preferiti.

Il whitepaper DAX nel modello tabulare bi, disponibile per il download (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) fornisce un'occhiata più dettagliata ai concetti introdotti qui e a molti altri concetti e formule avanzati. Questo white paper usa anche la stessa cartella di lavoro di esempio Contoso DAX Formulas.xlsx già esistente.

Risposte quickQuiz

Sintassi:

  1. Apre la caratteristica Inserisci funzione.

  2. Parentesi quadre [].

  3. =[PrezzoUnitario] - [CostoUnitario]

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?

Amplia le tue competenze su Office
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

×