Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Comprendere il Contesto di Riga e Filtro | Scrivere Misure DAX
Modellazione Dati Excel

Comprendere il Contesto di Riga e Filtro

Scorri per mostrare il menu

Ogni calcolo DAX viene eseguito all'interno di un contesto — una definizione di quali righe sono rilevanti al momento della valutazione. Senza comprendere il contesto, è impossibile prevedere quale valore restituirà una misura o diagnosticare perché restituisce un valore errato.

Contesto di Riga

Il contesto di riga è il contesto che esiste all'interno di una colonna calcolata. Quando Power Pivot valuta una colonna calcolata, elabora ogni riga individualmente — DAX sa esattamente su quale riga si trova e utilizza solo i valori di quella riga nel calcolo.

Cosa significa? La consapevolezza della riga corrente. La formula può fare riferimento a qualsiasi colonna nella stessa tabella e ricevere il valore per quella specifica riga — non una somma o una media, ma il valore esatto della cella.

Note
Nota

Il contesto di riga non esiste per le misure. Quando una misura viene valutata, non esiste una riga corrente — solo un insieme di filtri attivi. Questo è il motivo per cui scrivere un'etichetta a livello di riga come misura genera un errore: la misura non ha una riga su cui valutare.

Contesto di Filtro

Il contesto di filtro è il contesto che esiste quando una misura viene valutata. È l'insieme completo dei filtri attivi sul modello dati al momento in cui la misura viene calcolata — determinato da tutto ciò che la tabella pivot conosce attualmente su quella specifica cella.

Ogni cella in una tabella pivot ha una propria combinazione unica di filtri attivi.

Una cella vuota non indica un errore — significa che il contesto del filtro per quella cella restituisce zero righe corrispondenti. Con l'attuale combinazione di filtri attivi, semplicemente non ci sono dati.

Le quattro fonti del contesto di filtro

Il contesto di filtro si accumula contemporaneamente da quattro fonti indipendenti. Ognuna restringe ulteriormente il set di dati:

  1. Etichette di riga: ogni valore nell'area delle righe applica un filtro alla propria riga. Region = North e Region = South creano contesti di filtro diversi — ogni cella nella riga North vede solo le vendite North;
  2. Etichette di colonna: ogni valore nell'area delle colonne aggiunge una seconda dimensione di filtro. Combinando con le etichette di riga, ogni cella si trova ora all'intersezione di due filtri indipendenti;
  3. Slicer: una selezione nello slicer applica il proprio filtro a tutte le celle della tabella pivot contemporaneamente. Selezionando January da uno slicer dei mesi si limita tutte le celle ai dati di January indipendentemente dalla loro posizione di riga o colonna;
  4. Filtri della tabella pivot: i filtri applicati direttamente nell'area dei filtri della tabella pivot contribuiscono anch'essi al contesto di filtro di ogni cella, sovrapponendosi a eventuali filtri di riga, colonna e slicer già attivi.

Attività

Fase 1 — Esperimento sul contesto di riga

  • Aprire il file di lavoro. Andare su Power Pivot → Gestisci → Visualizzazione dati → scheda Sales.

  • Osservare la colonna calcolata Order Size. Contiene Large o Small per ogni riga, in base al valore Quantity in quella riga.

  • Ora aggiungere una seconda colonna calcolata alla tabella Sales utilizzando la seguente formula:

= Sales[Quantity] * Sales[UnitPrice]

  • Rinominarla Row Revenue.

  • Scorrere la colonna e confermare che ogni riga mostra un valore diverso, ovvero il prodotto tra la Quantity e la UnitPrice di quella specifica riga.

Fase 2 — Rispondere poi alle seguenti domande

  1. Che tipo di contesto viene utilizzato quando DAX valuta Row Revenue per ogni riga?
  2. Row Revenue è uguale alla colonna Total già presente nella tabella Sales?
  3. Avrebbe senso creare Row Revenue come misura invece che come colonna calcolata?
question mark

Quale delle seguenti affermazioni descrive più accuratamente la differenza tra contesto di riga e contesto di filtro in DAX?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 4. Capitolo 4
some-alt