📊 Power BI e la nuova funzione DAX WINDOW(): una rivoluzione per l’analisi dinamica

  • Aprile 11, 2025

🔍 Cos’è WINDOW() in DAX?

La funzione WINDOW() è una delle nuove funzioni semantiche introdotte nel linguaggio DAX all’interno del modello semantico di Power BI (ex “dataset”), pensata per semplificare il calcolo su finestre mobili e migliorare la leggibilità del codice.

In pratica, permette di definire un intervallo (una “finestra”) di righe rispetto alla posizione corrente e di applicarci funzioni di aggregazione come SUMX, AVERAGEX, MAXX, ecc.

🧪 Sintassi di base
WINDOW(
<FromOffset>,
<ToOffset>,
[<Relation>],
[<OrderBy>],
[<WindowingFunction>]
)

  • FromOffset / ToOffset: indicano i limiti della finestra rispetto alla riga corrente (0 è la riga attuale, -1 è la precedente, 1 è la successiva, ecc.)

  • Relation: opzionale, è la tabella di riferimento

  • OrderBy: campo o espressione per l’ordinamento della finestra

  • WindowingFunction: ad esempio ROWS, RANGE

🔧 Esempi pratici

📈 1. Media mobile a 3 mesi:
MovingAverage3M :=
AVERAGEX(
WINDOW(-2, 0, ALL(‘Date’), ORDERBY(‘Date'[Date])),
[Vendite]
)
Questo calcolo prende la media delle vendite nelle 3 righe precedenti la riga corrente, ordinate per data

📉 2. Differenza tra valori consecutivi (analisi variazioni):
DeltaGiornaliero :=
[Valore] –
CALCULATE(
FIRSTNONBLANK([Valore], 1),
WINDOW(-1, -1, ALL(‘Date’), ORDERBY(‘Date'[Date]))
)
Simula un LEAD/LAG per confrontare una riga con quella precedente.

🚀 Vantaggi rispetto ai metodi classici

Prima (CALCULATE + FILTER)Ora (WINDOW)
Codice più lungo e difficile da leggereSintassi pulita e intuitiva
Più propenso a errori di contestoContesto gestito automaticamente
Performance variabili su modelli grandi

Ottimizzato nel motore semantico

 

🧠 Quando usarla?

  • Analisi temporali (rolling average, differenze su periodi)

  • Report dinamici con finestre mobili personalizzabili

  • KPI complessi come volumi progressivi o variazioni


📎 Note importanti

  • Funziona solo nei modelli semantici moderni, quindi Power BI Dataset in DirectLake o modelli compatibili con DAX 2024+

  • Non è ancora supportata in Excel Power Pivot (almeno fino a marzo 2025)

Se vuoi portare le tue analisi DAX al livello successivo, la funzione WINDOW() è una svolta assoluta. Imparare ad usarla ti permette di scrivere codice più chiaro, modulare ed efficiente.

 

 

 

Tags:

Share:

    2 Comments

  1. Luglio 16, 2024
    Rispondi

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

  2. Luglio 16, 2024
    Rispondi

    Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium

Leave A Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

You May Also Like

  • Apr 12, 2025
🔍 Una rivoluzione silenziosa Power Query è da anni il cuore dell’ETL in Excel e Power BI. Ma oggi, grazie...
Negli ultimi mesi, Microsoft Copilot ha fatto passi da gigante. Integrato in Excel 365, promette di trasformare il modo in...