Scenari DAX
In questa sezione vengono forniti i collegamenti a esempi in cui viene illustrato l'utilizzo di formule DAX negli scenari seguenti.
Esecuzione di calcoli complessi
Utilizzo di testo e date
Valori condizionali e verifica degli errori
Utilizzo della funzionalità di Business Intelligence per le gerarchie temporali
Rango e confronto dei valori
Introduzione
Se non si ha familiarità con le formule DAX, si consiglia di iniziare esaminando gli esempi nella cartella di lavoro di esempio di DAX. Per ulteriori informazioni su come ottenere la cartella di lavoro di esempio, vedere Come ottenere i dati di esempio per PowerPivot.
Risorse aggiuntive
È possibile utilizzare i collegamenti seguenti per trovare video, esempi aggiuntivi e procedure dettagliate per apprendere in che modo utilizzare DAX.
Scenari: Esecuzione di calcoli complessi
Le formule DAX consentono di eseguire calcoli complessi che interessano le aggregazioni personalizzate, l'applicazione di filtri e l'utilizzo di valori condizionali. In questa sezione vengono forniti esempi su come iniziare a utilizzare i calcoli personalizzati.
Creare calcoli personalizzati per una tabella pivot
CALCULATE e CALCULATETABLE sono funzioni efficienti e flessibili, utili per la definizione delle misure. Queste funzioni consentono di modificare il contesto nel quale sarà eseguito il calcolo. Inoltre è possibile personalizzare il tipo di aggregazione o operazione matematica da eseguire. Per gli esempi, vedere gli argomenti seguenti.
Applicare un filtro a una formula
Nella maggior parte delle posizioni in cui una funzione DAX utilizza una tabella come argomento, è invece in genere possibile passare una tabella filtrata utilizzando la funzione FILTER anziché il nome di tabella o specificando un'espressione di filtro come uno degli argomenti della funzione. Negli argomenti seguenti vengono forniti esempi su come creare filtri e su come i filtri influiscono sui risultati delle formule. Per ulteriori informazioni, vedere Filtrare dati nelle formule.
La funzione FILTER consente di specificare i criteri di filtro tramite un'espressione, mentre le altre funzioni sono progettate espressamente per filtrare i valori vuoti.
Rimuovere i filtri in modo selettivo per creare un rapporto dinamico
La creazione di filtri dinamici nelle formule facilita la risposta a domande come le seguenti:
Qual è il contributo delle vendite del prodotto corrente al totale delle vendite dell'anno?
Questa divisione quanto ha contribuito ai profitti totali di tutti gli esercizi in confronto alle altre divisioni?
Le formule che si utilizzano in una tabella pivot possono essere influenzate dal relativo contesto, che può però essere modificato in modo selettivo aggiungendo o rimuovendo filtri. Nell'esempio dell'argomento ALL viene illustrato come eseguire questa operazione. Per calcolare il rapporto tra le vendite di un rivenditore specifico e quelle di tutti i rivenditori, creare una misura che consenta di calcolare il valore del contesto corrente diviso per il valore del contesto ALL.
Nell'argomento ALLEXCEPT viene fornito un esempio su come cancellare filtri in modo selettivo in una formula. In entrambi gli esempi viene illustrato come i risultati cambiano a seconda della progettazione della tabella pivot.
Per altri esempi relativi al calcolo di rapporti e percentuali, vedere gli argomenti seguenti:
Utilizzo di un valore da un ciclo esterno
In DAX, oltre a sfruttare i valori del contesto corrente nei calcoli, è possibile utilizzare un valore di un ciclo precedente per creare un set di calcoli correlati. Nell'argomento seguente viene fornita una procedura dettagliata relativa alla compilazione di una formula che fa riferimento a un valore da un ciclo esterno. La funzione EARLIER supporta fino a due livelli di cicli nidificati.
Per ulteriori informazioni sul contesto di riga e tabelle correlate e sull'utilizzo di questo concetto nelle formule, vedere Contesto nelle formule DAX.
Torna all'inizio
Scenari: Utilizzo di testo e date
In questa sezione vengono forniti i collegamenti ad argomenti di riferimento a DAX in cui sono contenuti esempi di scenari comuni sull'utilizzo di testo, sull'estrazione e sulla creazione di valori relativi alla data e all'ora o sulla creazione di valori basati su una condizione.
Creare una colonna chiave dalla concatenazione
PowerPivot non consente chiavi composte; pertanto, se si dispone di tali chiavi nell'origine dati potrebbe essere necessario combinarle in una colonna chiave singola. Nell'argomento seguente viene fornito un esempio su come creare una colonna calcolata in base a una chiave composta.
Creare una data in base a parti della data estratte da una data di testo
PowerPivot utilizza un tipo di dati data/ora di SQL Server per gestire le date; pertanto, se i dati esterni contengono date formattate in modo diverso, ad esempio se le date sono scritte in un formato di data in base alle impostazioni internazionali che non è riconosciuto dal motore dei dati PowerPivot o se i dati utilizzano chiavi surrogate integer, potrebbe essere necessario utilizzare una formula DAX per estrarre le parti della data e creare quindi le parti in una rappresentazione di data/ora valida.
Ad esempio, se si dispone di una colonna di date rappresentate come un valore integer, successivamente importato come stringa di testo, è possibile convertire la stringa in un valore data/ora tramite la formula seguente:
=DATE(RIGHT([Value1],4),LEFT([Value1],2),MID([Value1],2))
Value1 |
Risultato |
01032009 |
1/3/2009 |
12132008 |
12/13/2008 |
06252007 |
6/25/2007 |
Negli argomenti seguenti vengono fornite ulteriori informazioni sulle funzioni utilizzate per estrarre e creare date.
Definire un formato di data o di numero personalizzato
Se i dati contengono date o numeri che non sono rappresentati in uno dei formati di testo standard di Windows, è possibile definire un formato personalizzato per assicurarsi che i valori vengano gestiti correttamente. Questi formati vengono utilizzati in caso di conversione dei valori in stringhe o da stringhe. Negli argomenti seguenti viene fornito inoltre un elenco dettagliato dei formati predefiniti che sono disponibili per l'utilizzo di date e di numeri.
Modificare i tipi di dati tramite una formula
In PowerPivot, il tipo di dati dell'output è determinato dalle colonne di origine e non si può specificare in modo esplicito il tipo di dati del risultato, perché il tipo di dati ottimale è determinato da PowerPivot. Tuttavia, è possibile utilizzare le conversioni del tipo di dati implicite eseguite da PowerPivot per modificare il tipo di dati di output. Per ulteriori informazioni sulle conversioni dei tipi, vedere Origini dati supportate nelle cartelle di lavoro PowerPivot.
Per convertire una data o una stringa del numero in un numero, moltiplicare per 1,0. Ad esempio, nella formula seguente viene calcolata la data corrente meno 3 giorni, quindi viene restituito il valore integer corrispondente.
=(TODAY()-3)*1.0
Per convertire una data, un numero o un valore della valuta in una stringa, concatenare il valore con una stringa vuota. Nella formula seguente ad esempio viene restituita la data corrente come stringa.
=""& TODAY()
Le funzioni seguenti possono essere utilizzate anche per assicurarsi che venga restituito un particolare tipo di dati:
Convertire i numeri reali in numeri interi
Convertire i numeri reali, i numeri interi o le date in stringhe
Convertire le stringhe in numeri reali o in date
Torna all'inizio
Scenario: Valori condizionali e verifica degli errori
Come Excel, DAX dispone di funzioni che consentono di verificare i valori nei dati e restituire un valore diverso in base a una condizione. Ad esempio, si potrebbe creare una colonna calcolata che identifica i rivenditori come Preferito o Valore in base all'importo delle vendite annuali. Le funzioni che consentono di verificare i valori sono utili anche per controllare l'intervallo o il tipo di valori, per evitare l'interruzione di calcoli dovuta a errori di dati imprevisti.
Creare un valore in base a una condizione
È possibile utilizzare condizioni IF nidificate per verificare i valori e generare nuovi valori in base a condizioni. Negli argomenti seguenti sono contenuti alcuni esempi semplici di elaborazione condizionale e di valori condizionali:
Verificare gli errori all'interno di una formula
A differenza di Excel, non è possibile avere valori validi in una riga di una colonna calcolata e valori non validi in un'altra riga. Ovvero, se è presente un errore in qualsiasi parte di una colonna PowerPivot, l'intera colonna viene contrassegnata con un errore, pertanto è necessario correggere sempre gli errori delle formule che generano valori non validi.
Ad esempio, se si crea una formula che divide per zero, si potrebbe ottenere il risultato infinito o un errore. Alcune formule non riusciranno inoltre se la funzione incontra un valore vuoto quando si prevede invece un valore numerico. Durante lo sviluppo del modello di dati, è consigliabile consentire la visualizzazione degli errori in modo che sia possibile fare clic sul messaggio e risolvere il problema. Tuttavia, quando si pubblicano cartelle di lavoro, è necessario incorporare la gestione degli errori per evitare che valori imprevisti impediscano il completamento dei calcoli.
Per evitare la restituzione di errori in una colonna calcolata, si utilizza una combinazione di funzioni per l'elaborazione di informazioni e di funzioni logiche per verificare gli errori e restituire sempre valori validi. Negli argomenti seguenti vengono forniti alcuni esempi semplici su come eseguire questa operazione in DAX:
Torna all'inizio
Scenari: Utilizzo della funzionalità di Business Intelligence per le gerarchie temporali
Le funzioni di Business Intelligence per le gerarchie temporali di DAX includono funzioni che consentono di recuperare date o intervalli di date dai dati. È possibile utilizzare tali date o intervalli di date per calcolare valori tra periodi simili. Le funzioni di Business Intelligence per le gerarchie temporali includono anche funzioni in cui vengono utilizzati intervalli di date standard, per consentire il confronto di valori in mesi, anni o trimestri. È inoltre possibile creare una formula che consente di confrontare i valori della prima e dell'ultima data di un periodo specificato.
Per un elenco di tutte le funzioni di Business Intelligence per le gerarchie temporali, vedere Funzionalità di Business Intelligence per le gerarchie temporali (DAX). Per suggerimenti sull'utilizzo efficiente di date e ore in un'analisi di PowerPivot, vedere Date in PowerPivot.
Calcolare vendite cumulative
Negli argomenti seguenti sono contenuti esempi relativi al calcolo di saldi di apertura e di chiusura. Gli esempi consentono di creare saldi parziali tra intervalli diversi quali giorni, mesi, trimestri o anni.
Confrontare valori nel tempo
Negli argomenti seguenti sono contenuti esempi su come confrontare somme tra periodi di tempo diversi. I periodi di tempo predefiniti supportati da DAX sono mesi, trimestri e anni.
Calcolare un valore per un intervallo di date personalizzato
Vedere gli argomenti seguenti per esempi relativi a come recuperare intervalli di date personalizzati, ad esempio i primi 15 giorni dopo l'inizio di una promozione delle vendite.
Se si utilizzano funzioni di Business Intelligence per la gerarchia temporale per recuperare un set personalizzato di date, è possibile utilizzare tale set di date come input per una funzione che esegue i calcoli per creare aggregazioni personalizzate tra diversi periodi di tempo. Vedere l'argomento seguente per un esempio relativo a come eseguire questa operazione:
Nota
Se non è necessario specificare un intervallo di date personalizzato, ma si utilizzano unità di contabilità standard quali mesi, trimestri o anni, si consiglia di eseguire i calcoli tramite le funzioni di Business Intelligence per le gerarchie temporali progettate a tale scopo, ad esempio TOTALQTD, TOTALMTD, TOTALQTD, ecc.
Torna all'inizio
Scenari: Rango e confronto dei valori
Per mostrare solo i primi n elementi in una colonna o tabella pivot, si dispone di diverse opzioni:
È possibile utilizzare le caratteristiche di Excel 2010 per creare un filtro Primi. Inoltre è possibile selezionare un numero di valori superiori o inferiori in una tabella pivot. Nella prima parte di questa sezione viene descritto in che modo filtrare i primi 10 elementi in una tabella pivot. Per ulteriori informazioni, vedere la documentazione di Excel.
È possibile creare una formula che consente di classificare i valori dinamicamente, quindi applicare i filtri in base ai valori di rango, oppure si può utilizzare il valore di rango come filtro dei dati. Nella seconda parte di questa sezione viene descritto come creare questa formula e quindi utilizzare tale rango in un filtro dei dati.
Ogni metodo presenta vantaggi e svantaggi.
Il filtro Primi di Excel è facile da utilizzare, ma serve solo per fini di visualizzazione. Se i dati sottostanti la tabella pivot vengono modificati, è necessario aggiornare manualmente tale tabella per visualizzare le modifiche. Se è necessario utilizzare dinamicamente i ranghi, è possibile utilizzare DAX per creare una formula che confronta i valori con gli altri valori all'interno di una colonna.
La formula DAX è più potente; inoltre, aggiungendo il valore di rango a un filtro dei dati, è sufficiente fare clic solo sul filtro dei dati per modificare il numero dei valori superiori visualizzati. Tuttavia, i calcoli sono dispendiosi a livello di calcolo e questo metodo potrebbe non essere indicato per tabelle con molte righe.
Mostrare solo i primi dieci elementi in una tabella pivot
Per mostrare i valori superiori o inferiori in una tabella pivot |
NomeDescrizione
ElementiSelezionare questa opzione per filtrare la tabella pivot e visualizzare solo l'elenco degli elementi superiori o inferiori in base ai valori.
PercentualeSelezionare questa opzione per visualizzare solo gli elementi della tabella pivot che consentono di raggiungere la percentuale specificata.
SommaSelezionare questa opzione per visualizzare la somma dei valori per gli elementi superiori o inferiori.
|
Ordinare elementi dinamicamente tramite una formula
Nell'argomento seguente è contenuto un esempio di come utilizzare DAX per creare un rango archiviato in una colonna calcolata. Poiché le formule DAX vengono calcolate dinamicamente, è possibile essere sempre certi che la classificazione sia corretta anche se sono stati modificati i dati sottostanti. Inoltre, poiché la formula viene utilizzata in una colonna calcolata, è possibile utilizzare il rango in un filtro dei dati e successivamente selezionare i primi 5, 10 o anche 100 valori.
Torna all'inizio