REPORTING
REPORTING
Come funzionano e perché sono così importanti
Parliamo di SUMX, COUNTX, MINX, MAXX, etc... in altre parole "quelle con la X"
Cosa fanno? Le funzioni iteratore analizzano tutte le righe di una tabella e valutano un'espressione specificata per ogni riga
Le funzioni di riepilogo a colonna singola, come SUM, non sono altro che funzioni iteratore, ma a sintassi abbreviata. Internamente, Microsoft Power BI converte la funzione SUM in SUMX. Di conseguenza, le due definizioni di misura seguenti produrranno lo stesso risultato:
Revenue = SUM(Sales[Sales Amount]) UGUALE A Revenue = SUMX(Sales, Sales[Sales Amount])
Per funzionare le funzioni iteratore hanno bisogno di:
Una tabella da analizzare
Un'espressione
Una particolarità importante da tenere a mente é che la tabella viene valutata nel contesto di filtro!
Cosa significa? Che se un oggetto visivo del report o un'intera pagina sono filtrati in base ad un anno specifico, un'area geografica o un prodotto... quell'oggetto o quella pagina verranno filtrati!
Situazione differente, invece, per la funzione CALCULATE: se le colonne o le tabelle si trovano già nel contesto di filtro, i filtri esistenti verranno sovrascritti dai nuovi filtri
SumX: SUMX(<table>, <expression>)
La funzione SUMX accetta:
come primo argomento una tabella o un'espressione che restituisce una tabella
come secondo argomento una colonna che contiene i numeri che si vogliono sommare o un'espressione che restituisce una colonna
Qualche esempio?
1) Nel modello PBI Boomerang Corporation (disponibile per il download su questo sito) abbiamo calcolato i Ricavi del prodotto "Tempesta" (che corrisponde al codice prodotto 100002)
NB: come scritto sopra, visto che l'anno é filtrato su 2023, anche il risultato della misura "Revenue Tempesta" é filtrato!
2) Nella figura sotto, invece, abbiamo calcolato i ricavi totali (non per un prodotto specifico) come moltiplicazione del Prezzo (preso dalla tabella Prodotti tramite la funzione RELATED) per la Quantità
NB: il risultato che si ottiene é lo stesso che se avessimo messo nel campo valori direttamente i Ricavi (colonna della tabella Sales già frutto della moltiplicazione Prezzo x Quantità)!
AVERAGEX: AVERAGEX(<table>,<expression>)
Come per la funzione SUMX, anche AVERAGEX accetta una tabella come primo argomento e un'espressione come secondo argomento
Passiamo subito agli esempi:
Nella tabella sotto troverete 4 colonne:
Conteggio di ID Ordine
Revenue Total
Ricavo medio
Ricavo medio Yahoo
La colonna "Ricavo medio" rappresenta una misura molto semplice: "average(Sales[Ricavi])" (come noterete su ogni riga corrisponde a "Ricavi Totali / Numero di Ordini").
L'ultima colonna utilizza invece la funzione AVERAGEX per dirci qual é il ricavo medio dei soli ordini dove il "Motore d ricerca origine" é stato Yahoo