Scenari DAX in PowerPivot

Si applica a
Excel per Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

In questa sezione vengono forniti collegamenti ad esempi che illustrano l'uso delle formule DAX negli scenari seguenti.

  • Esecuzione di calcoli complessi
  • Lavorare con testo e date
  • Valori condizionali e test per gli errori
  • Uso della funzionalità di Business Intelligence per le ger
  • Classificazione e confronto di valori

In questo articolo

Attività iniziali

Visita il wiki del Centro risorse DAX , dove puoi trovare tutti i tipi di informazioni su DAX, inclusi blog, esempi, whitepaper e video forniti da professionisti leader del settore e Microsoft.

Scenari: esecuzione di calcoli complessi

Le formule DAX consentono di eseguire calcoli complessi che includono aggregazioni personalizzate, filtri e l'uso di valori condizionali. Questa sezione fornisce esempi su come iniziare a usare i calcoli personalizzati.

Creare calcoli personalizzati per una tabella pivot

CALCOLA e CALCOLABILE sono funzioni potenti e flessibili utili per la definizione di campi calcolati. Queste funzioni consentono di modificare il contesto in cui verrà eseguito il calcolo. È inoltre possibile personalizzare il tipo di aggregazione o di operazione matematica da eseguire. Per alcuni esempi, vedere gli argomenti seguenti.

Applicare un filtro a una formula

Nella maggior parte dei casi in cui una funzione DAX accetta una tabella come argomento, è in genere possibile passare una tabella filtrata, usando la funzione FILTRO invece del nome della tabella oppure specificando un'espressione di filtro come uno degli argomenti della funzione. Gli argomenti seguenti forniscono esempi su come creare filtri e su come i filtri influiscono sui risultati delle formule. Per altre informazioni, vedere Filtrare i dati nelle formule DAX.

La funzione FILTRO consente di specificare i criteri di filtro utilizzando un'espressione, mentre le altre funzioni sono progettate specificamente per filtrare i valori vuoti.

Rimuovere i filtri in modo selettivo per creare un rapporto dinamico

La creazione di filtri dinamici nelle formule consente di rispondere facilmente a domande quali:

  • Qual è stato il contributo delle vendite del prodotto corrente alle vendite totali dell'anno?
  • Quanto ha contribuito questa divisione ai profitti totali per tutti gli anni operativi, rispetto ad altre divisioni?

Le formule usate in una tabella pivot possono essere interessate dal contesto della tabella pivot, ma è possibile modificare il contesto in modo selettivo aggiungendo o rimuovendo filtri. Nell'esempio nell'argomento ALL viene illustrato come eseguire questa operazione. Per trovare il rapporto tra le vendite di un rivenditore specifico e le vendite di tutti i rivenditori, creare una misura che calcola il valore del contesto corrente diviso per il valore del contesto TUTTI.

L'argomento ALLEXCEPT fornisce un esempio di come cancellare selettivamente i filtri di una formula. Entrambi gli esempi illustrano come i risultati cambiano a seconda della struttura della tabella pivot.

Per altri esempi di calcolo di rapporti e percentuali, vedere gli argomenti seguenti:

Uso di un valore da un ciclo esterno

Oltre a usare i valori del contesto corrente nei calcoli, DAX può usare un valore di un ciclo precedente per creare un set di calcoli correlati. Nell'argomento seguente viene fornita una procedura dettagliata per compilare una formula che fa riferimento a un valore di un ciclo esterno. La funzione EARLIER supporta fino a due livelli di cicli annidati.

Per altre informazioni sul contesto di riga e sulle tabelle correlate, nonché per usare questo concetto nelle formule, vedere Contesto nelle formule DAX.

Scenari: Lavorare con testo e date

In questa sezione sono disponibili collegamenti ad argomenti di riferimento DAX che contengono esempi di scenari comuni in cui è possibile utilizzare il testo, estrarre e comporre valori di data e ora o creare valori in base a una condizione.

Creare una colonna chiave per concatenazione

Power Pivot non consente chiavi composte; Se nell'origine dati sono presenti chiavi composte, potrebbe quindi essere necessario combinarle in un'unica colonna chiave. Nell'argomento seguente viene fornito un esempio di come creare una colonna calcolata basata su una chiave composta.

Compose una data basandosi su parti di data estratte da una data di testo

Power Pivot usa un tipo di dati Data/ora di SQL Server per lavorare con 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 internazionale non riconosciuto dal motore dati Power Pivot o se i dati usano chiavi surrogate intere, potrebbe essere necessario usare una formula DAX per estrarre le parti di date e quindi comporre le parti in una data valida. Rappresentazione temporale.

Se, ad esempio, si ha una colonna di date rappresentate come numeri interi e quindi importate come stringa di testo, è possibile convertire la stringa in un valore di data/ora usando la formula seguente:

=DATA(DESTRA([Valore1],4),SINISTRA([Valore1],2),STRINGA.ESTRAI([Valore1];2))

Val1 Risultato
01032009 1/3/2009
12132008 12/13/2008
06252007 6/25/2007

Gli argomenti seguenti forniscono altre informazioni sulle funzioni usate per estrarre e comporre date.

Definire un formato di data o numero personalizzato

Se i dati contengono date o numeri non rappresentati in uno dei formati di testo standard di Windows, è possibile definire un formato personalizzato per garantire che i valori vengano gestiti correttamente. Questi formati vengono usati quando si convertono i valori in stringhe o da stringhe. In questi argomenti viene fornito anche un elenco dettagliato dei formati predefiniti disponibili per l'utilizzo di date e numeri.

Modificare i tipi di dati usando una formula

In Power Pivot il tipo di dati dell'output è determinato dalle colonne di origine e non è possibile specificare in modo esplicito il tipo di dati del risultato, perché il tipo di dati ottimale è determinato da Power Pivot. È tuttavia possibile usare le conversioni implicite dei tipi di dati eseguite da Power Pivot per modificare il tipo di dati di output. 

  • Per convertire una data o una stringa numerica in un numero, moltiplicare per 1,0. La formula seguente, ad esempio, calcola la data corrente meno 3 giorni e quindi restituisce il valore intero corrispondente.
    =(OGGI()-3)*1.0
  • Per convertire un valore di data, numero o valuta in una stringa, concatenare il valore con una stringa vuota. La formula seguente, ad esempio, restituisce la data odierna come stringa.
    =""& OGGI()

Per garantire che venga restituito un determinato tipo di dati, è possibile usare anche le funzioni seguenti:

Convertire i numeri reali in numeri interi

Scenario: valori condizionali e test per gli errori

Come Excel, DAX dispone di funzioni che consentono di testare i valori nei dati e restituire un valore diverso in base a una condizione. Ad esempio, è possibile creare una colonna calcolata che etichetta i rivenditori come Preferito o Valore in base all'importo delle vendite annuali. Le funzioni che verificano i valori sono utili anche per controllare l'intervallo o il tipo di valori, per evitare che errori di dati imprevisti interrompano i calcoli.

Creare un valore in base a una condizione

È possibile usare le condizioni SE annidate per testare i valori e generare nuovi valori in modo condizionale. Gli argomenti seguenti contengono alcuni semplici esempi di elaborazione condizionale e valori condizionali:

Verificare la presenza di errori all'interno di una formula

A differenza di Excel, non possono essere presenti valori validi in una riga di una colonna calcolata e valori non validi in un'altra riga. In altre parole, se è presente un errore in una qualsiasi parte di una colonna di Power Pivot, l'intera colonna viene contrassegnata con un errore, quindi è necessario correggere sempre gli errori delle formule che restituiscono valori non validi.

Se ad esempio si crea una formula che esegue la divisione per zero, è possibile che venga restituito il risultato infinito o un errore. Alcune formule avranno esito negativo anche se la funzione rileva un valore vuoto quando prevede un valore numerico. Durante lo sviluppo del modello di dati, è consigliabile lasciare che gli errori vengano visualizzati in modo da poter 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 causino errori nei calcoli.

Per evitare che vengano restituiti errori in una colonna calcolata, utilizzare una combinazione di funzioni logiche e informative per verificare la presenza di errori e restituire sempre valori validi. Gli argomenti seguenti forniscono alcuni semplici esempi di come eseguire questa operazione in DAX:

Scenari: Uso 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. È quindi possibile usare tali date o intervalli di date per calcolare valori in periodi simili. Le funzioni di intelligence basata sulle gerarchie temporali includono anche funzioni che funzionano con intervalli di date standard, per consentire di confrontare valori tra mesi, anni o trimestri. È anche possibile creare una formula che confronta i valori per la prima e l'ultima data di un periodo specificato.

Per un elenco di tutte le funzioni di intelligence per le gerarchie temporali, vedere Funzioni di Business Intelligence per le gerarchie temporali (DAX). Per suggerimenti su come usare date e ore in modo efficace in un'analisi di Power Pivot, vedere Date in Power Pivot.

Calcola le vendite cumulative

Gli argomenti seguenti contengono esempi di come calcolare i saldi di chiusura e di apertura. Gli esempi consentono di creare bilanci in esecuzione in intervalli diversi, ad esempio giorni, mesi, trimestri o anni.

Confrontare i valori nel tempo

Gli argomenti seguenti contengono esempi su come confrontare le somme in periodi di tempo diversi. I periodi di tempo predefiniti supportati da DAX sono mesi, trimestri e anni.

Calcolare un valore in un intervallo di date personalizzato

Vedi gli argomenti seguenti per esempi su come recuperare intervalli di date personalizzati, ad esempio i primi 15 giorni dopo l'inizio di una promozione di vendita.

Se si usano le funzioni di Business Intelligence per recuperare un set di date personalizzato, è possibile usare tale set di date come input per una funzione che esegue calcoli per creare aggregazioni personalizzate tra periodi di tempo. Per un esempio di come eseguire questa operazione, vedere l'argomento seguente:

  • Funzione PARALLELPERIOD

    Nota

    Se non è necessario specificare un intervallo di date personalizzato, ma si sta usando unità contabili standard come mesi, trimestri o anni, è consigliabile eseguire i calcoli usando le funzioni di intelligence per le gerarchie temporali progettate a questo scopo, come TOTALQTD, TOTALMTD, TOTALQTD e così via.

Scenari: classificazione e confronto di valori

Per visualizzare solo i primi n numeri di elementi in una colonna o in una tabella pivot, sono disponibili diverse opzioni:

  • È possibile usare le funzionalità di Excel per creare un filtro superiore. È anche possibile selezionare un certo numero di valori superiori o inferiori in una tabella pivot. La prima parte di questa sezione descrive come filtrare i primi 10 elementi in una tabella pivot. Per altre informazioni, vedere la documentazione di Excel.
  • È possibile creare una formula che classifica dinamicamente i valori, quindi filtrare in base ai valori di classificazione oppure usare il valore di classificazione come filtro dei dati. La seconda parte di questa sezione descrive come creare questa formula e quindi usare tale classificazione in un filtro dei dati.

Ogni metodo presenta vantaggi e svantaggi.

  • Il filtro In alto di Excel è facile da usare, ma è destinato esclusivamente a scopi di visualizzazione. Se i dati alla base della tabella pivot vengono modificati, è necessario aggiornare manualmente la tabella pivot per visualizzare le modifiche. Se è necessario usare le classifiche in modo dinamico, è possibile usare DAX per creare una formula che confronta i valori con altri valori all'interno di una colonna.
  • La formula DAX è più potente; inoltre, aggiungendo il valore di classificazione a un filtro dei dati, è sufficiente fare clic su di esso per modificare il numero di primi valori visualizzati. Tuttavia, i calcoli sono costosi dal punto di vista computazionale e questo metodo potrebbe non essere adatto per le tabelle con molte righe.

Visualizzare solo i primi dieci elementi di una tabella pivot

Per visualizzare i valori più alti o più bassi di una tabella pivot
  1. Nella tabella pivot fare clic sulla freccia in giù accanto all'intestazione Etichette di riga .
  2. Seleziona filtri> valoreTop 10.
  3. Nella finestra di dialogo Top 10 Filter <column name> scegliere la colonna da classificare e il numero di valori nel modo seguente:
    1. Selezionare In alto per visualizzare le celle con i valori più alti o In basso per visualizzare le celle con i valori più bassi.
    2. Digitare il numero di valori superiori o inferiori che si desidera visualizzare. L'impostazione predefinita è 10.
    3. Selezionare come si desidera visualizzare i valori:
NameDescriptionItemsSelezionare questa opzione per filtrare la tabella pivot in modo da visualizzare solo l'elenco degli elementi più in alto o in basso in base ai relativi valori. PercentualeSelezionare questa opzione per filtrare la tabella pivot in modo da visualizzare solo gli elementi che raggiungono la percentuale specificata. SumSelect questa opzione per visualizzare la somma dei valori per gli elementi più in alto o in basso.
  1. Selezionare la colonna contenente i valori da classificare.
  2. Fare clic su OK.

Ordinare gli elementi in modo dinamico con una formula

L'argomento seguente contiene un esempio di come usare DAX per creare una classificazione archiviata in una colonna calcolata. Poiché le formule DAX vengono calcolate dinamicamente, è sempre possibile essere certi che la classificazione sia corretta anche se i dati sottostanti sono stati modificati. Inoltre, poiché la formula viene usata in una colonna calcolata, è possibile usare la classificazione in un filtro dei dati e quindi selezionare i primi 5, i primi 10 o anche i primi 100 valori.