Totali Matrice erronei

Il software per la BI di Microsoft, leader nel mercato
Rispondi

FurioP
Messaggi: 32 | Topic creati
Iscritto il: lun 6 mag 2024, 16:47

Totali Matrice erronei

Messaggio da FurioP »

ciao a tutti
sto affrontando una matrice che contiene svariate misure, su alcune tabelle collegate tra loro, e che restituiscono dei calcoli numerici.
i nomi riga comandando ovviamente il valore, e rappresentano delle città.
alcune misure le ho dovute reindirizzare con SUMX alla lista delle città, ad inizio formula, per avere il calcolo corretto secondo la città origine.
Fin quando visualizzo un singolo orizzonte temporale (mese) va tutto ok, ma se nella matrice inserisco ad esempio 3 mesi in modo da raggruppare un trimestre, per quanto i totali per riga siano esatti, quelli per colonna (in modo non sistematico) a sono errati o addirittura mancanti.
Ho provato ad inserire anche un iter calendariale nella formule, ma nulla. O provato varie altre strade, come anche il raggruppare delle misure (alcune misure sono ottenute da altre) ma i totali sono sempre fuori dalla realtà.
avete qualche suggerimento?
saluti


Avatar utente

Andrea90
Messaggi: 2324 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 679 volte
Contatta:

Totali Matrice erronei

Messaggio da Andrea90 »

FurioP ha scritto: lun 6 mag 2024, 16:53 avete qualche suggerimento?
Si, allega un file demo

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
FurioP
Messaggi: 32 | Topic creati
Iscritto il: lun 6 mag 2024, 16:47

Totali Matrice erronei

Messaggio da FurioP »

ciao, grazie mille. intendi un'export della tabella csv?
Avatar utente

Andrea90
Messaggi: 2324 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 679 volte
Contatta:

Totali Matrice erronei

Messaggio da Andrea90 »

@FurioP,

Basta una base dati ed il tuo tentativo fatto, non importa che ci siano tutti i dati.. bastano anche poche righe di dati, l'importante è che si riesca a vedere il problema che dici.

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
FurioP
Messaggi: 32 | Topic creati
Iscritto il: lun 6 mag 2024, 16:47

Totali Matrice erronei

Messaggio da FurioP »

ok, provo, queste è la tabella in questione, si vedono il totale per colonna errato:


Immagine

tutte le colonne sono generate da delle misure ovviamente, non sono colonne "vive di una tabella", ma misure generate dall'aggregazione / confronto di colonne di altre tabelle e/o misure. Le formule delle misure sono le seguenti:
-----------------------------------------------------------------------------------

Codice: Seleziona tutto

SLA Malus = 

    SUMX(
        VALUES('Siti Attività'[Sito Area]), -- Itera su ciascun sito
        IF(
            [SLA AGV L25] <= 0.92,
            IF(
                (0.92 - [SLA AGV L25]) * [Costo Lotto L25 AGV] < 0,
                [Costo Lotto L25 AGV],
                (0.92 - [SLA AGV L25]) * [Costo Lotto L25 AGV]
            )
        )
    )
-----------------------------------------------------------------------------------

Codice: Seleziona tutto

Penale Assenti L25 = [Operatori Assenti AGV L25]*[Costo 5% per L25 AGV]
-----------------------------------------------------------------------------------

Codice: Seleziona tutto

Penale % Numerosità L25 = 

SUMX(
    VALUES('Siti Attività'[Sito Area]),
    IF(
        [% Numerosità Operatori NC AGV L25] >= 0.3,
        [Costo 10% per L25 AGV] * [L25 AGV Effettuati],
        "-"
    )
)
--------------------------------------------------------------------

Codice: Seleziona tutto

Make yoSLA Bonus =
SUMX (
    VALUES ( 'Siti Attività'[Sito Area] ),
    IF (
        [SLA AGV L25] <= 0.92,
        BLANK (),
        IF (
            [SLA AGV L25] <= 0.95,
            0.03 * [Costo Lotto L25 AGV],
            IF (
                [SLA AGV L25] <= 0.97,
                0.04 * [Costo Lotto L25 AGV],
                IF ( [SLA AGV L25] <= 1, 0.08 * [Costo Lotto L25 AGV], BLANK () )
            )
        )
    )
)

l'unica cosa che noto è che, paradossalmente, solo la colonna alimentata dalla misura Penale Assenti L25 = [Operatori Assenti AGV L25]*[Costo 5% per L25 AGV], generata da un'operazione tra due misure, è sempre corretta. Le altre che sono una "calcolo" diretta errano nel totale. Questo è l'unico indizio che ho.
Avatar utente

Andrea90
Messaggi: 2324 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 679 volte
Contatta:

Totali Matrice erronei

Messaggio da Andrea90 »

@FurioP,

Il codice che usi nelle misure va inserito all'interno dei tag code (per questa volta l'ho fatto io, ma ti invito a leggere gli annunci di staff per vedere come fare per le prossime volte).

Considero solo la misura [SLA Malus] (tanto la stessa logica la puoi applicare alle altre).

1) Hai creato tu la misura?

2) Hai scritto questa nota:

Codice: Seleziona tutto

    SUMX(
        VALUES('Siti Attività'[Sito Area]), -- Itera su ciascun sito
Ma non è "sufficiente", perché considera le seguenti casistiche:

1) Riga evidenziata in blu relativa a gennaio
2) Riga evidenziata in blu relativa a gennaio e Salerno
3) Riga in arancio relativa al Totale

Su quali valori sta iterando la SUMX() in ciascuna di queste 3 diverse iterazioni?

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
FurioP
Messaggi: 32 | Topic creati
Iscritto il: lun 6 mag 2024, 16:47

Totali Matrice erronei

Messaggio da FurioP »

Grazie per la precisazione.
no per la sintassi mi sono fatto aiutare la chatGPT, anche perché non ho una conoscenza estremamente approfondita. Intuivo il concetti di misurazione che mi serviva, ma la padronanza del codice anche completa non la ho, per questo si legge quella nota (format di GPT per indicarti i passi).
quello che va sommato ovviamente sono i singoli risultati delle città per periodo mese (blu) e periodo totale (trimestre in arancione).
In sintesi, la misura nella mia idea si applica ad ogni città (sito) e calcola una valore, che poi nella matrice deve restituire una somma totale corretta sia sul singolo mese che sul trimestre.

Il valore del SUMX() si poggia sui nomi delle località, ovvero Sito Area.
Considera che, per necessità, alcuni siti di duplicano sulla tabella che gestisce i siti: ad esempio, siccome per Napoli si misura due tipologia dello a stessa categoria (chiamate Napoli e Napoli-Plus10 in base e dei vincoli orari,etc), per far convergere tutto nella località stessa della città, ci sarà una colonna parallela che definisce la Macro Area Napoli sia per l'una e l'altra, in modo da convogliarne i valori sotto un unico nome (almeno penso sia cosi)
Avatar utente

Andrea90
Messaggi: 2324 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 679 volte
Contatta:

Totali Matrice erronei

Messaggio da Andrea90 »

FurioP ha scritto: mar 7 mag 2024, 9:13 no per la sintassi mi sono fatto aiutare la chatGPT
Immaginavo, per questo l'ho chiesto.... Purtroppo ormai è prassi comune chiedere le cose a Chat GPT e fare copia incolla senza capire cosa si sta facendo realmente.

Anche io lo uso, ma non per fare copia incolla... posso chiedere come risolverebbe lui la cosa, scoprendo magari nuove funzioni, ma che poi devo andare a studiarmele altrimenti chi mi assicura che sia la cosa giusta per me?
Inoltre con PowerBI c'è un problema ulteriore, le misure che scrivi dipendono fortemente dal modello dati che stai utilizzando e dai contesti valutativi che crei. Come fai al momento a passare tali info ?
FurioP ha scritto: mar 7 mag 2024, 9:13 In sintesi, la misura nella mia idea si applica ad ogni città (sito) e calcola una valore, che poi nella matrice deve restituire una somma totale corretta sia sul singolo mese che sul trimestre.
Peccato che non sia così.... la domanda che ti ho fatto relativa alle 3 casistiche era necessaria per capire le tue competenze in merito ai "contesti valutativi"....

SUMX() è una formula che itera una tabella, che tu gli passi come primo argomento... nel tuo caso utilizzando VALUES()... VALUES() risente del contesto filtro in cui richiami la misura quindi, ritornando alle 3 casistiche:

1) Ti mostra le righe relative a "gennaio" per il campo 'Siti Attività'[Sito Area]
2) Ti mostra le righe relative a "gennaio" e "Salerno" per il campo 'Siti Attività'[Sito Area]
3) Ti mostra tutte le righe del modello dati perché (salvo altri filtri che non vediamo) le righe di Grand Total non hanno filtri specifici.

Quindi quando sei nel terzo caso lui ti riporta tutte le righe di 'Siti Attività'[Sito Area] presenti nel modello, e per ciascuna di queste va ad eseguire il calcolo che richiedi. Il calcolo però segue delle condizioni IF() guardando ad esempio questa misura [SLA AGV L25], che viene valutata per lo specifico valore di [Sito Area].
Quindi è probabile che quando sei sulla riga di grand total, non essendoci più i filtri applicati sul punto (1) o (2) un valore di [Sito Area] che prima riusciva a soddisfare la prima condizione, perché era inferiore a 0.92, ora non lo è più e dunque il totale che vedi in fondo non risulta essere la somma delle righe precedenti.

E questo è uno dei classici errori da "principianti" (passami il termine) che arrivano dal mondo excel, dove pensano che la riga di grand total (o di subtotal) sia la semplice somma di tutte le righe che lo precedono, mentre invece ogni cella di un report in power bi è un mondo a parte con un contesto valutativo differente.

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
FurioP
Messaggi: 32 | Topic creati
Iscritto il: lun 6 mag 2024, 16:47

Totali Matrice erronei

Messaggio da FurioP »

si, avevo intuito che l'assenza di qualche "coordinata" faceva sballare il dato...questa intuizione mi arrivava proprio perché l'unica sommatoria corretta per le righe era quella che dipendeva dal confronto di due misure "stabili" (lasciami passere i termini un po' grezzi).
Tornando al problema in questione mi sorge la domanda a questo punto: come posso fare in modo che le misure "afflitte" da questo problema possano essere corrette e funzionare anche a livello di grand totale e non solo come singola riga?
Mi viene da pensare che come "contesto valutativo" ulteriore gli devo passare anche le altre misure sul totale immagino....
Avatar utente

Andrea90
Messaggi: 2324 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 679 volte
Contatta:

Totali Matrice erronei

Messaggio da Andrea90 »

@FurioP,

Dovrai usare una combinazione di ADDCOLUMNS() e di SUMMARIZE() dove con quest'ultimo crei un raggruppamento per [Sito Area] e [Mese] e poi su questo vai a valorizzare le tue condizioni IF().

Questa sorta di tabella temporanea che ti creerai dentro la tua misura (mediante l'utilizzo delle variabili) sarà poi da iterare tramite SUMX().

In questo modo quando ti troverai sulla riga di totale non avrai solo la lista dei vari siti, ma una lista che conterrà le combinazioni [Sito Area] e [Mese], ciascuna valorizzata come avviene sulle singole righe del report. Di queste singole righe eseguirai la somma così da calcolarti il totale.

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link
Rispondi