Informazioni sulle funzioni iteratore

Completato

Sia le colonne calcolate che le misure vengono valutate rispetto a un contesto. Il contesto definisce il livello a cui verranno eseguiti i calcoli. La comprensione e l'uso efficace del contesto sono fondamentali per la creazione di formule con prestazioni elevate, analisi dinamiche e per la risoluzione dei problemi riscontrati nelle formule.

Prima di parlare delle funzioni iteratore, è necessario esaminare due importanti concetti di contesto: contesto di riga e contesto di filtro.

Informazioni sul contesto di riga

Il contesto di riga è il livello o la riga corrente; si tratta delle suddivisioni di riga in base alle quali vengono valutati i dati. Tutte le funzioni iteratore valutano in base al contesto di riga. Le colonne calcolate valutano in base al contesto di riga, che è il modo in cui ricavano un valore della colonna per ogni singola riga.

Il contesto di riga segue automaticamente le relazioni tra le tabelle per determinare quali righe nelle tabelle correlate sono associate alla riga corrente.

Esempio di contesto di riga, in cui si determinano le righe associate alla riga corrente.

Ad esempio, si esamini il codice seguente:

ActualSales = Sales * RELATED( Product[Discount] )

La formula precedente usa semplicemente la funzione RELATED per ottenere il tasso di sconto per il prodotto corrente, dalla tabella del prodotto. Non è necessario specificare il campo che connette le due tabelle.

Informazioni sul contesto di filtro

Il contesto di filtro è l'insieme di valori consentiti in ogni colonna, in base ai vincoli del filtro applicati alla riga. Possono essere considerati anche come filtri applicati al report tramite filtri dei dati o interazioni.

Ecco un esempio di contesto di filtro:

Esempio di anteprima dei dati per il contesto di filtro.

La cella evidenziata presenta un contesto di filtro per l'anno 2018, lo stato è l'Alabama e il trimestre è il primo. Qualsiasi altro valore nella tabella pivot sarà diverso perché presenta un contesto di filtro diverso per anno, stato e trimestre.

Suggerimento

IN TABLEAU: il modo in cui Tableau e Power BI decidono di calcolare le misure è simile: si basa sulle informazioni disponibili nella pagina, sui filtri applicati e così via. Il contesto nei calcoli di Tableau è in genere associato alle espressioni LOD (Level of Detail) e ai calcoli della tabella.

Informazioni sulle funzioni iteratore

Quando si parla delle funzioni iteratore, ci si concentra sul concetto di contesto di riga.

Ecco un esempio di una funzione iteratore semplice:

COGS = SUMX( Sales, RELATED( Product[Wholesale Price]) * Sales[Quantity] )

Nella formula precedente si usa la stessa formula COGS di prima, ma all'inizio viene inserita la funzione iteratore SUMX.

Esempio di una funzione iteratore.

  1. La prima parte della funzione SUMX è la tabella dell'iteratore o il livello a cui deve eseguire la valutazione. In questo caso, la tabella dell'iteratore è la tabella delle vendite. Per eseguire questo calcolo, è necessario valutare ogni riga nelle tabelle delle vendite.

  2. Viene quindi creato un output costituito da un elenco in una tabella temporanea.

  3. Infine, si esegue l'aggregazione specificata all'inizio della funzione.

Per altre informazioni sul contesto, vedere Contesto nelle formule DAX

Per altre informazioni sul contesto di riga e filtro, vedere: Contesto di riga e contesto di filtro in DAX