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 intero, 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 di 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 intero 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, gli 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

  1. Nella tabella pivot, fare clic sulla freccia in giù nell'intestazione Etichette di riga.

  2. Nel menu di scelta rapida, selezionare Filtri per valori, quindi selezionare Primi 10.

  3. Nella finestra di dialogo Filtro primi 10 <nome della colonna> scegliere la colonna da classificare e il numero di valori, come segue:

    1. Selezionare Superiore per visualizzare le celle con i valori più elevati oppure Inferiore per visualizzare le celle con i valori più bassi

    2. Digitare il numero di valori superiori o inferiori che si desidera visualizzare. Il valore predefinito è 10.

    3. Selezionare come si desidera visualizzare i valori:

Nome

Descrizione

Elementi

Selezionare questa opzione per filtrare la tabella pivot e visualizzare solo l'elenco degli elementi superiori o inferiori in base ai valori.

Percentuale

Selezionare questa opzione per visualizzare solo gli elementi della tabella pivot che consentono di raggiungere la percentuale specificata.

Somma

Selezionare questa opzione per visualizzare la somma dei valori per gli elementi superiori o inferiori.

  1. Selezionare la colonna che contiene i valori che si desidera ordinare.

  2. Fare clic su OK.

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

Vedere anche

Concetti

Panoramica di Data Analysis Expressions (DAX)

Aggiungere calcoli ai report, ai grafici e alle tabelle pivot