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

Nota: Riteniamo importante fornire il contenuto della Guida più recente non appena possibile, nella lingua dell'utente. Questa pagina è stata tradotta automaticamente e potrebbe contenere errori di grammatica o imprecisioni. L'intento è quello di rendere fruibile il contenuto. Nella parte inferiore della pagina è possibile indicare se le informazioni sono risultate utili. Questo è l'articolo in lingua inglese per riferimento.

La presente Guida introduttiva è destinata agli utenti che non hanno familiarità con PowerPivot in Excel o con progetti di modelli tabulari creati in SQL Server Data Tools. È progettata per fornire un'introduzione rapida e semplice all'uso delle espressioni DAX (Data Analysis Expression) al fine di risolvere diversi problemi analitici e di modellazione dei dati di base. In questo argomento sono incluse informazioni concettuali, una serie di attività che è possibile completare e alcune domande per verificare quanto appreso. Al completamento di questo argomento, si avrà una buona conoscenza della maggior parte dei concetti fondamentali di base di DAX.

Informazioni su DAX

DAX è una raccolta di funzioni, operatori e costanti utilizzabili in una formula, o espressione, per il calcolo o la restituzione di uno o più valori. Più semplicemente, DAX consente di creare nuove informazioni da dati già disponibili nel modello in uso.

Importanza di DAX

In DAX è facile creare una cartella di lavoro e importare alcuni dati. Inoltre, è possibile creare tabelle o grafici pivot in cui vengono visualizzate informazioni importanti senza l'utilizzo di formule DAX. Tuttavia, nel caso in cui sia necessario analizzare dati di vendita critici in diverse categorie di prodotto e in base a intervalli di date differenti oppure sia necessario combinare dati di inventario importanti da più tabelle in origini dati diverse, tramite le formule DAX è possibile effettuare queste operazioni e molte altre ancora. Una volta appreso come creare formule DAX efficaci, si potranno sfruttare al meglio i dati. Una volta acquisite le informazioni necessarie, è possibile iniziare a risolvere problemi aziendali reali che influiscono sul reddito netto. Si tratta di un'operazione di Business Intelligence e DAX offre un supporto in questo senso.

Prerequisiti

È possibile che si abbia già familiarità con la creazione di formule in Microsoft Excel. Questa conoscenza sarà utile per comprendere DAX, tuttavia, anche se non si ha alcuna esperienza con le formule di Excel, i concetti illustrati in questo articolo consentiranno di iniziare a creare formule DAX e a risolvere immediatamente problemi reali di Business Intelligence.

Concentriamoci in modo specifico sulla comprensione delle formule DAX usate nei calcoli. Dovresti avere già familiarità con i concetti fondamentali delle colonne e delle misure calcolate (noti anche come campi calcolati), entrambi descritti nella Guida di PowerPivot. Dovresti anche avere familiarità con l' PowerPivot nell'ambiente e gli strumenti di creazione di Excel.

Cartella di lavoro di esempio

Il modo migliore per acquisire informazioni su DAX consiste nel creare alcune formule di base, usarle con dati effettivi e visualizzare i risultati. Negli esempi e nelle attività illustrati in questo articolo viene usata la cartella di lavoro Formulas.xlsx di DAX di esempio di Contoso, che può essere scaricata da http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x410. Dopo avere scaricato la cartella di lavoro nel computer in uso, aprirla, quindi aprire la finestra di PowerPivot.

Per iniziare

Verranno illustrati tre concetti fondamentali molti importanti riguardanti DAX, vale a dire sintassi, funzioni e contesto. Naturalmente non si tratta degli unici concetti importanti, ma la comprensione di questi tre fornirà la base migliore su cui costruire le proprie competenze su DAX.

Sintassi

Prima di creare le formule personalizzate, esaminare la sintassi della formula DAX. Nella sintassi sono inclusi vari elementi che compongono una formula, o più semplicemente, come essa viene scritta. Esaminare, ad esempio, una formula DAX semplice utilizzata per creare nuovi dati (valori) per ogni riga di una colonna calcolata, denominata Margin, in una tabella FactSales (i colori del testo della formula sono solo a scopo illustrativo):

Formula della colonna calcolata

Nella sintassi di questa formula sono inclusi gli elementi seguenti:

  1. L'operatore di segno di uguale (=) indica l'inizio della formula e, una volta calcolata quest'ultima, restituirà un risultato o valore. Tutte le formule mediante le quali viene calcolato un valore inizieranno con un segno di uguale.

  2. La colonna a cui si fa riferimento [SalesAmount], contenente i valori da cui si desidera effettuare la sottrazione. Un riferimento alla 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. L'operatore matematico di sottrazione (-).

  4. La colonna a cui si fa riferimento [TotalCost], contenente i valori che si desidera sottrarre dai valori della colonna [SalesAmount].

Quando si tenta di comprendere come leggere una formula DAX, è spesso utile suddividere ogni elemento in un linguaggio di uso comune. Ad esempio, questa formula può essere letta nel modo seguente:

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

Esaminiamo un altro tipo di formula, uno usato in una misura:

Formula della colonna calcolata

In questa formula sono inclusi gli elementi di sintassi seguenti:

  1. Somma nome misura 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. Una volta eseguito il calcolo, verrà restituito un risultato.

  3. La funzione SUM consente di aggiungere tutti i numeri della colonna [SalesAmount]. Ulteriori informazioni sulle funzioni verranno fornite in un secondo momento.

  4. Uno o più argomenti sono racchiusi tra parentesi tonde (). Per tutte le funzioni è richiesto almeno un argomento. Tramite un argomento viene passato un valore a una funzione.

  5. La tabella a cui si fa riferimento FactSales.

  6. La colonna a cui si fa riferimento [SalesAmount] nella tabella FactSales. Tramite questo argomento viene indicato alla funzione SUM in quale colonna effettuare un'aggregazione SUM.

Questa formula può essere letta nel modo seguente:

Per l' misura denominata somma di Sales Amount, Calculate (=) la somma dei valori nella colonna [ SalesAmount ] della FactSalestabella.

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

Si noti che vi sono poche differenze tra questa formula e quella utilizzata per la colonna calcolata Margin. In particolare, è stata introdotta una funzione, SUM. Le funzioni sono formule scritte in precedenza tramite cui è possibile semplificare l'esecuzione di calcoli e modifiche complesse con numeri, date, orari, testi e così via. Ulteriori informazioni sulle funzioni verranno fornite in un secondo momento.

Diversamente dalla colonna calcolata Margin in precedenza, viene visualizzata la colonna [SalesAmount] preceduta dalla tabella FactSales in cui appartiene la colonna. Si tratta di un nome di colonna completo che include il nome della colonna preceduto dal nome della tabella. Le colonne a cui si fa riferimento nella stessa tabella non richiedono che il nome della tabella venga incluso nella formula. In questo modo è possibile creare formule lunghe che fanno riferimento a molte colonne più breve e più facile da leggere. Tuttavia, è buona norma includere sempre il nome della tabella nelle formule di misura, anche quando si trova nella stessa tabella.

Nota: Se nel nome di una tabella sono presenti spazi, parole chiave riservate o caratteri non consentiti, è necessario racchiuderlo tra virgolette singole. I nomi delle tabelle devono essere racchiusi tra virgolette anche se nel nome sono presenti caratteri che non fanno parte dell'intervallo di caratteri alfanumerico ANSI, indipendentemente dal fatto che le impostazioni locali supportino il set di caratteri.

È molto importante che la sintassi delle formule sia corretta. Nella maggior parte dei casi, se la sintassi non è corretta, viene restituito un errore di sintassi. In altri casi, la sintassi può essere corretta, ma i valori restituiti potrebbero non essere quelli previsti. In PowerPivot e SQL Server Data Tools è disponibile IntelliSense, una funzionalità utilizzata per creare formule sintatticamente corrette che consentono di selezionare gli elementi appropriati.

È ora possibile procedere con la creazione di una formula semplice. Questa attività consente di comprendere ulteriormente la sintassi della formula e il modo in cui la funzionalità IntelliSense nella barra della formula può essere un valido supporto.

Attività: Creare una formula semplice per una colonna calcolata

  1. Se ancora non è stata aperta la finestra di PowerPivot, nella barra multifunzione PowerPivot fare clic sula finestra di PowerPivot.

  2. Nella finestra di PowerPivot fare clic sulla tabella (scheda) FactSales.

  3. Scorrere fino alla colonna all'estrema destra, quindi nell'intestazione di colonna fare clic su Aggiungi colonna.

  4. Fare clic nella barra della formula lungo la parte superiore della finestra di progettazione del modello.

    Barra della formula di PowerPivot

    Il cursore viene ora visualizzato nella barra della formula. La barra della formula è il punto in cui è possibile digitare una formula per una colonna calcolata o un campo calcolato.

    Esaminare i tre pulsanti a sinistra della barra della formula.

    Formula bar

    Se il cursore è attivo nella barra della formula, questi tre pulsanti diventano attivi. Il pulsante più a sinistra, X, è semplicemente un pulsante Annulla. Continuare e fare clic su di esso. Il cursore non viene più visualizzato nella barra della formula. Anche il pulsante Annulla e quello del segno di spunta non vengono più visualizzati. Continuare e fare di nuovo clic nella barra della formula. Il pulsante Annulla e quello del segno di spunta vengono ora visualizzati di nuovo, pertanto è possibile iniziare l'immissione di una formula.

    Il pulsante del segno di spunta è il pulsante Controllo formula, utilizzabile solo una volta immessa una formula. Ulteriori informazioni su questo pulsante verranno fornite più avanti.

    Fare clic sul pulsante FX . Vedrai che verrà visualizzata una nuova finestra di dialogo; finestra di dialogo Inserisci funzione. La finestra di dialogo Inserisci funzione rappresenta il modo più semplice per iniziare a immettere una formula DAX. Aggiungiamo una funzione a una formula quando creiamo una misura poco dopo, 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 un segno di uguale =, quindi digitare una parentesi quadra di apertura [. Verrà visualizzata una piccola finestra con tutte le colonne della tabella FactSales. Questa azione viene effettuata tramite IntelliSense.

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

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

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

  7. A questo punto, digitare un'altra parentesi di apertura [. Questa volta selezionare la colonna [ReturnQuantity] e quindi premere INVIO.

    Se si riceve un 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, viene visualizzata la parola Calcolo in corso nella barra di stato lungo la parte inferiore della finestra di PowerPivot. L'operazione viene eseguita rapidamente, 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.

È 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]. Si noti che è stata appena usata l'espressione "Per ogni riga", cioè un altro importante concetto di DAX: contesto di riga. Ulteriori informazioni sul contesto di riga verranno fornite in un secondo momento.

Qualcosa di veramente importante da capire 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 aggiungere il valore 2 come testo. A questo punto, se si digita = 1 + 2, DAX legge la 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 risultante in base all'operatore della 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 il riferimento DAX (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) nella documentazione online.

Proviamo un altro. Questa volta si creerà una misura digitando la formula e usando IntelliSense. Non preoccuparti troppo se non capisci completamente la formula. L'importante è scoprire come creare una formula usando più elementi insieme nella sintassi corretta.

Attività: creare una formula di misura

  1. Nella tabella FactSales fare clic in una qualsiasi cella vuota dell'area dei calcoli. Si tratta dell'area con celle vuote che si trova sotto una tabella nella finestra di PowerPivot.

Area calcoli di PowerPivot

  1. Nella barra della formula digitare il nome Previous Quarter Sales:.

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

  3. Digitare le prime lettere CAL, quindi fare doppio clic sulla funzione che si desidera utilizzare. In questa formula viene utilizzata la funzione CALCULATE.

  4. Digitare una parentesi tonda di apertura ( per iniziare gli argomenti da passare alla funzione CALCULATE.

    Si noti che dopo aver digitato la parentesi di apertura, tramite IntelliSense vengono visualizzati gli argomenti obbligatori per la funzione CALCULATE. Ulteriori informazioni sugli argomenti verranno fornite più avanti.

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

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

    Dopo aver selezionato la funzione PREVIOUSQUARTER, verrà visualizzata un'altra parentesi di apertura per indicare che è necessario un altro argomento (in questo caso 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 sia la funzione CALCULATE digitando due parentesi di chiusura )).

    L'aspetto della formula dovrebbe essere simile al seguente:

    Previous Quarter Sales:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Fare clic sul pulsante Controllo formula nella barra della formula per convalidare la formula. Se viene visualizzato un errore, verificare tutti gli elementi della sintassi.

L'hai fatto! Hai appena creato una misura usando DAX e non è facile. Scopo della formula è calcolare le vendite totali per il trimestre precedente, a seconda dei filtri applicati in una tabella pivot o in un grafico pivot.

Sono stati appena introdotti diversi aspetti importanti delle formule DAX. Prima di tutto, questa formula include due funzioni. Nota 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 sempre così tante funzioni annidate. In realtà, una formula di questo tipo sarebbe molto difficile da creare e eseguire il debug e probabilmente non sarebbe neanche molto veloce.

In questa formula sono stati utilizzati anche i filtri. I filtri consentono di limitare le operazioni di calcolo In questo caso, è stato selezionato un filtro come argomento, cioè in realtà un'altra funzione. Ulteriori informazioni sui filtri verranno fornite in un secondo momento.

Infine, è stata utilizzata la funzione CALCULATE. Si tratta di una delle funzioni più potenti di DAX. Quando si creano modelli di dati e formule più complesse, è probabile che questa funzione venga utilizzata molte volte. La descrizione della funzione CALCULATE non rientra nell'ambito della presente Guida introduttiva, tuttavia, quando aumenteranno le informazioni acquisite su DAX, prestare particolare attenzione alla funzione in questione.

Nota: In genere, per utilizzare le funzionalità di Business Intelligence per le gerarchie temporali nelle formule DAX, è necessario specificare una colonna di date univoca utilizzando la finestra di dialogo Contrassegna come tabella data. Nella cartella di lavoro Samples.xlsx della formula DAX di Contoso la colonna DateKey della tabella DimDate è selezionata come colonna di date univoca.

Credito aggiuntivo

Potrebbe essere richiesto: "Qual è la formula DAX più semplice che posso creare?" Beh, la risposta è "la formula che non devi fare". E questo è esattamente quello che puoi fare usando una funzione di aggregazione standard in una misura. Quasi tutti i modelli di dati devono filtrare e calcolare i dati aggregati. Ad esempio, la funzione somma nella misura somma della quantità di vendite che hai visto in precedenza viene usata per sommare tutti i numeri in una particolare colonna. DAX include diverse altre funzioni che aggregano anche i valori. Puoi creare automaticamente formule usando le aggregazioni standard usando la funzionalità Somma automatica.

Attività di credito extra: creare una formula di misura usando la caratteristica somma automatica

  1. Nella tabella FactSales scorrere fino alla colonna ReturnQuantity, 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 sulla barra multifunzione.

Somma automatica in PowerPivot

Fare clic sulla freccia in giù accanto a Somma automatica e quindi fare clic su media (si notino anche le altre funzioni di aggregazione standard che è possibile usare).

Immediatamente viene creata una nuova misura con la media dei nomi di ReturnQuantity: seguita dalla formula = media ([ReturnQuantity]).

L'operazione è stata facile, anche se, ovviamente, non tutte le formule che è possibile creare saranno così semplici. Tuttavia, utilizzando la funzionalità Somma automatica, è possibile creare formule rapide e semplici mediante calcoli di aggregazione standard.

Quanto illustrato dovrebbe garantire una comprensione piuttosto buona della sintassi utilizzata nelle formule DAX. Sono state inoltre presentate alcune funzionalità effettivamente interessanti come IntelliSense e Somma automatica per consentire la creazione di formule rapide, semplici e precise. Naturalmente sono ancora tante le informazioni che si possono acquisire sulla sintassi. Per ulteriori informazioni vedere Riferimento a Data Analysis Expressions (DAX) o la documentazione online di SQL.

Domande rapidi sulla sintassi

  1. Qual è la funzione di 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 la seguente:
    nella tabella DimProduct, per ogni riga della colonna calcolata UnitMargin , calcolare un valore sottraendo i valori nella colonna CostoUnitario da valori nella colonnaPrezzoUnitario?

Le risposte vengono fornite alla fine di questo argomento.

Funzioni

Le funzioni sono formule predefinite che consentono di eseguire calcoli utilizzando valori specifici, denominati argomenti, in una struttura o un ordine stabilito. Gli argomenti possono essere altre funzioni, un'altra formula, riferimenti di colonna, numeri, testo, valori logici come TRUE o FALSE, oppure costanti.

In DAX sono disponibili le seguenti categorie di funzioni: data e ora, informazioni, funzioni logiche, matematiche, statistiche, di testo, nonché funzioni di Business Intelligence per le gerarchie temporali. Se si ha familiarità con le funzioni delle formule di Excel, molte delle funzioni in DAX appariranno simili; tuttavia, le funzioni DAX sono univoche nelle modalità seguenti:

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

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

  • In DAX sono incluse molte funzioni mediante le quali viene restituita una tabella, anziché un valore. La tabella non viene visualizzata, ma viene utilizzata per fornire input ad altre funzioni. Ad esempio, è possibile recuperare una tabella e contare i valori distinti in essa contenuti o calcolare somme dinamiche nelle tabelle o colonne filtrate.

  • In DAX sono incluse numerose funzioni di Business Intelligence per le gerarchie temporali. Queste funzioni consentono di definire o selezionare intervalli di date e di eseguire calcoli dinamici in base a essi. Ad esempio, è possibile confrontare somme in periodi paralleli.

Talvolta risulta difficile sapere quali funzioni potrebbe essere necessario usare in una formula. In PowerPivot e nella progettazione di modelli tabulari in SQL Server Data Tools è disponibile la funzionalità Inserisci funzione, una finestra di dialogo in cui è possibile selezionare le funzioni per categoria e in cui sono contenute brevi descrizioni per ogni funzione.

Inserisci funzione

Creare una nuova formula contenente una funzione che verrà selezionata utilizzando la funzionalità Inserisci funzione:

Attività: Aggiungere una funzione a una formula utilizzando 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 Verrà 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, tutto è selezionato e tutte le funzioni della categoria tutte sono elencate di seguito. Si tratta di un gran numero di funzioni, quindi è consigliabile 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. Per questo, userai 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 correlata. Fare clic su OK per chiudere la finestra di dialogo Inserisci funzione.

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

  7. Chiudere la formula, quindi premere INVIO.

  8. Dopo aver premuto INVIO per completare la formula, viene visualizzata la parola Calcolo in corso nella barra di stato lungo la parte inferiore della finestra di PowerPivot. A questo punto si noterà che è stata appena creata una nuova colonna nella tabella FactSales con le informazioni di canale dalla tabella DimChannel.

  9. Rinominare la colonna Channel.

    L'aspetto della formula sarà il seguente: =RELATED(DimChannel[ChannelName])

È stata appena introdotta un'altra funzione molto importante in DAX, la funzione correlata. La funzione CORRELAta restituisce i valori di un'altra tabella. È possibile usare le CORRELAzioni fornite esiste una relazione tra la tabella in uso e la tabella che contiene i valori che si desidera ottenere. Naturalmente, la funzione CORRELAta ha possibilità immense. In questo caso, ora puoi 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 la navigazione e visualizzando solo le informazioni più importanti che si hanno realmente bisogno. Molto simile alla funzione CALCULATE descritta in precedenza, la funzione CORRELAta è molto importante e sarà probabile che la usi molte volte.

Come si può vedere, le funzioni in DAX consentono di creare formule molto potenti. In realtà abbiamo toccato solo le nozioni fondamentali sulle funzioni. Man mano che le tue abilità DAX migliorano, creerai formule usando molte funzioni diverse. Una delle posizioni migliori per informazioni dettagliate su tutte le funzioni DAX è il riferimento a Data Analysis Expressions (DAX).

Domande rapide sulle funzioni

  1. A cosa fa sempre riferimento una funzione?

  2. In una formula possono essere incluse più funzioni?

  3. Quale categoria di funzioni è necessario utilizzare 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 capire. Esistono due tipi di contesto in DAX: contesto di riga e contesto di filtro. Verrà esaminato per prima il contesto di riga.

Contesto di riga

È più semplice pensare al contesto di riga come alla riga corrente. Ad esempio, tenendo presente la colonna calcolata Margin illustrata in precedenza per apprendere le informazioni sulla sintassi, tramite la formula =[SalesAmount] - [TotalCost] viene calcolato un valore della 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. Tramite DAX è possibile calcolare i valori per ogni riga della colonna Margin grazie al contesto in essa contenuto: Per ogni riga, vengono accettati i valori della colonna [TotalCost] che vengono sottratti dai valori della colonna [SalesAmount].

Nella cella selezionata mostrata di seguito, il valore $49.54 della riga corrente è stato calcolato sottraendo il valore $51.54 della colonna [TotalCost] dal valore $101.08 della colonna [SalesAmount].

Contesto di riga in PowerPivot

Il contesto di riga 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 in modo intrinseco un contesto di riga per ogni riga della tabella in cui viene filtrato. Questo tipo di contesto di riga si applica più spesso alle misure.

Contesto di filtro

Il contesto di filtro è leggermente più difficile da capire rispetto al contesto di riga. È possibile pensare più facilmente al contesto di filtro come all'applicazione di uno o più filtri in un calcolo mediante il quale si determina un risultato o valore.

Il contesto di filtro non sostituisce il contesto di riga, anzi, si applica in aggiunta a quest'ultimo. Ad esempio, per limitare ulteriormente i valori da includere in un calcolo, è possibile applicare un contesto di filtro che consente non solo di specificare il contesto di riga, ma anche solo un determinato valore (filtro) nel contesto di riga in questione.

L'applicazione del contesto di filtro si può vedere facilmente nelle tabelle pivot. Ad esempio, quando si aggiunge TotalCost all'area dei valori e successivamente si aggiungono l'anno e l'area alla riga o alle colonne, si definisce un contesto di filtro mediante il quale viene selezionato un subset di dati in base a un anno e a un'area specificati.

Perché il contesto del filtro è così importante per DAX? Poiché il contesto di filtro può essere più facilmente applicato 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 tutte, correlate, filtra, calcola, per relazioni e da altre misure e colonne. Ad esempio, esaminiamo la formula seguente in una misura denominata StoreSales:

Formula

Questa formula è chiaramente più complessa di alcune altre formule già illustrate. Tuttavia, per comprenderla meglio, è possibile suddividerla, in modo molto simile a quanto effettuato con altre formule.

In questa formula sono inclusi gli elementi di sintassi seguenti:

  1. Il nome della misura StoreSales, seguito da due punti:.

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

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

  4. Uno o più argomenti sono racchiusi tra parentesi tonde ().

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

  6. La virgola (,) separa ciascun filtro.

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

Questa formula assicura che solo i valori di vendita, definiti dalla misura Sales, come filtro, vengano calcolati solo per le righe nella 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 offre funzionalità immense e potenti. La possibilità di fare riferimento soltanto a un determinato valore in una tabella correlata è solo uno degli esempi. Non preoccuparsi se non si riesce a comprendere il contesto immediatamente. Quando si creano formule per conto proprio, si comprenderà meglio il contesto e perché è così importante in DAX.

Domande rapide sul contesto

  1. Quali sono i due tipi di contesto?

  2. Cos'è il contesto di filtro?

  3. Cos'è il contesto di riga?

Le risposte vengono fornite alla fine di questo argomento.

Riepilogo

Ora che si ha una conoscenza di base dei concetti più importanti in DAX, è possibile iniziare a creare formule DAX per le colonne e le misure calcolate. DAX può effettivamente essere un po' complicato da imparare, ma sono disponibili molte risorse. Dopo aver letto più volte questo argomento e aver sperimentato alcune delle proprie formule, è possibile ottenere ulteriori informazioni su altri concetti e formule DAX che consentono di risolvere i problemi aziendali. Sono disponibili molte risorse DAX nella Guida di PowerPivot, in SQL Server Books Online, white paper e Blog sia da Microsoft che da professionisti della Bi leader. 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) è un'ottima risorsa. Assicurati di salvarlo nei Preferiti.

Il linguaggio DAX nel white paper relativo al modello tabulare di Business Intelligence, disponibile per il download (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x410) offre un esame più dettagliato dei concetti presentati, nonché molti altri concetti e formule avanzati. Anche in questo white paper viene utilizzata la stessa cartella di lavoro Formulas.xlsx di esempio di DAX di Contoso di cui già si dispone.

Risposte alle domande rapide

Sintassi:

  1. Consente di aprire la funzionalità Inserisci funzione.

  2. Le parentesi quadre [].

  3. =[UnitPrice] - [UnitCost]

Funzioni:

  1. Una tabella e una colonna.

  2. Sì. In una formula possono essere contenute 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 mediante il quale viene determinato un singolo valore.

  3. La riga corrente.

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?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×