Applies ToExcel per Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016 Power BI

In questa sezione sono disponibili collegamenti a esempi che illustrano l'uso delle formule DAX negli scenari seguenti.

  • Esecuzione di calcoli complessi

  • Uso di testo e date

  • Valori condizionali e test degli errori

  • Uso della funzionalità di business intelligence per le ore

  • Classificazione e confronto di valori

Contenuto dell'articolo

Attività iniziali

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

Scenari: esecuzione di calcoli complessi

Le formule DAX possono 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

CALCULATE e CALCULATETABLE sono potenti funzioni flessibili utili per definire campi calcolati. Queste funzioni consentono di modificare il contesto in cui verrà eseguito il calcolo. È anche 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 o specificando un'espressione di filtro come uno degli argomenti della funzione. Gli argomenti seguenti illustrano come creare filtri e 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 usando 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

Creando filtri dinamici nelle formule, è possibile rispondere facilmente a domande come le seguenti:

  • Qual è stato il contributo delle vendite del prodotto corrente al totale delle vendite per l'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 influenzate dal contesto della tabella pivot, ma è possibile modificare in modo selettivo il contesto aggiungendo o rimuovendo filtri. L'esempio nell'argomento ALL illustra come eseguire questa operazione. Per trovare il rapporto tra le vendite di uno specifico rivenditore e quello di tutti i rivenditori, creare una misura che calcola il valore per il contesto corrente diviso per il valore del contesto ALL.

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

Per altri esempi su come calcolare rapporti e percentuali, vedere gli argomenti seguenti:

Utilizzo di un valore da un ciclo esterno

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

Per altre informazioni sul contesto delle righe e sulle tabelle correlate e su come usare questo concetto nelle formule, vedere Contesto nelle formule DAX.

Scenari: Uso di testo e date

Questa sezione contiene collegamenti ad argomenti di riferimento DAX che contengono esempi di scenari comuni che includono l'uso di testo, l'estrazione e la composizione di valori di data e ora o la creazione di valori in base a una condizione.

Creare una colonna chiave tramite concatenazione

Power Pivot non consente chiavi composte; Pertanto, se nell'origine dati sono presenti chiavi composte, potrebbe essere necessario combinarle in un'unica colonna a chiave. L'argomento seguente fornisce un esempio di come creare una colonna calcolata in base a una chiave composta.

Comporre una data in base alle parti data estratte da una data di testo

Power Pivot usa 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 regionale non riconosciuto dal motore dati di Power Pivot o se i dati usano chiavi surrogate integer, potrebbe essere necessario usare una formula DAX per estrarre le parti data e quindi comporre le parti in una rappresentazione di data/ora valida.

Ad esempio, se una colonna di date è stata rappresentata come numero intero e quindi importata 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.EST MEZZA([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 assicurarsi che i valori vengano gestiti correttamente. Questi formati vengono usati quando si convertono i valori in stringhe o da stringhe. Gli argomenti seguenti forniscono anche un elenco dettagliato dei formati predefiniti disponibili per l'uso 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 del tipo 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()

Le funzioni seguenti possono anche essere usate per garantire che venga restituito un determinato tipo di dati:

Convertire i numeri reali in numeri interi

Scenario: Valori condizionali e verifica degli errori

Analogamente a Excel, DAX include 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 in cui i rivenditori vengono etichettati come Preferiti o Valore a seconda dell'importo delle vendite annuali. Le funzioni che testano i valori sono utili anche per controllare l'intervallo o il tipo di valori, per evitare errori imprevisti nei dati che possono causare la rottura dei calcoli.

Creare un valore in base a una condizione

È possibile usare 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 visualizzazione di 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. In altre parole, se c'è un errore in una qualsiasi parte di una colonna di Power Pivot, l'intera colonna viene contrassegnata con un errore, in modo che sia sempre necessario correggere gli errori della formula che reggono valori non validi.

Ad esempio, se si crea una formula che divide per zero, è possibile che venga restituito il risultato di 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 consentire la visualizzazione degli errori in modo da poter fare clic sul messaggio e risolvere il problema. Tuttavia, quando si pubblicano cartelle di lavoro, è consigliabile incorporare la gestione degli errori per evitare che valori imprevisti causano errori nei calcoli.

Per evitare di restituire errori in una colonna calcolata, usare una combinazione di funzioni logiche e di informazioni per verificare la ricerca 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 tempie

Le funzioni di Business Intelligence per le ore 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 i valori in periodi simili. Le funzioni di business intelligence per le ore includono anche funzioni che funzionano con intervalli di data standard, per consentire di confrontare i valori in 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 business intelligence per le funzionalità di business intelligence per le tempistica, vedere Funzioni di business intelligence per le tempistica (DAX). Per suggerimenti su come usare in modo efficace date e ore in un'analisi Power Pivot, vedere Date in Power Pivot.

Calcolare le vendite cumulative

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

Confrontare i valori nel tempo

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

Calcolare un valore su un intervallo di date personalizzato

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

Se si usano funzioni di business intelligence per le ore 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 in periodi di tempo. Per un esempio su come eseguire questa operazione, vedere l'argomento seguente:

  • Funzione PARALLELPERIOD

    Nota: Se non è necessario specificare un intervallo di date personalizzato, ma si usano unità di contabilità standard, ad esempio mesi, trimestri o anni, è consigliabile eseguire calcoli usando le funzioni di Business Intelligence per le ore, ad esempio TOTALQTD, TOTALMTD, TOTALQTD e così via.

Scenari: classificazione e confronto di valori

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

  • È possibile usare le caratteristiche di Excel per creare un filtro Primi valori. È anche possibile selezionare un numero di primi valori o ultimi valori 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 e quindi filtrarli 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 usarla in un filtro dei dati.

Ci sono vantaggi e svantaggi per ogni metodo.

  • Il filtro Primi elementi di Excel è facile da usare, ma è solo per scopi di visualizzazione. Se i dati sottostanti la tabella pivot vengono modificati, è necessario aggiornare manualmente la tabella pivot per visualizzare le modifiche. Se è necessario usare dinamicamente le classificazioni, è 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 sul filtro dei dati per modificare il numero dei primi valori visualizzati. Tuttavia, i calcoli sono costosi dal punto di vista del calcolo e questo metodo potrebbe non essere adatto per tabelle con molte righe.

Visualizzare solo i primi dieci elementi in una tabella pivot

Per visualizzare i primi valori o gli ultimi valori in una tabella pivot

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

  2. Seleziona Filtri per valori> Primi 10.

  3. Nella finestra di dialogo Filtro primi 10 <nome di colonna> scegliere la colonna in cui classificare e il numero di valori, come indicato di seguito:

    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 dei primi valori o degli ultimi valori da visualizzare. Il valore predefinito è 10.

    3. Selezionare la modalità di visualizzazione dei valori:

Nome

Descrizione

Elementi

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

Percentuale

Selezionare questa opzione per filtrare la tabella pivot in modo da visualizzare solo gli elementi che si aggiungono alla 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 da classificare.

  2. Fare clic su OK.

Ordinare gli elementi in modo dinamico usando 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 in modo dinamico, è sempre possibile verificare 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 addirittura i primi 100 valori.

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.