Totali Matrice erronei

Il software per la BI di Microsoft, leader nel mercato

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

Totali Matrice erronei

Messaggio da FurioP »

si si lo avevo capito, non metto in discussione la sintassi...io sto cercando di capire la logica che regola questo tipo di ragionamenti che tu mi hai esposto, perché sono abbastanza nuovi (non ho avuto una formazione approfondita sulla questione ammetto).


Avatar utente

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

Totali Matrice erronei

Messaggio da Andrea90 »

FurioP ha scritto: gio 9 mag 2024, 12:08 io sto cercando di capire la logica che regola questo tipo di ragionamenti che tu mi hai esposto
Appunto per questo che ti ho evidenziato quella cosa. Se non applichi la giusta sintassi stai apprendendo male le nozioni.

Se tu provi a scrivere SUM( [campo1] * [campo2]) vedrai che il sistema ti blocca, perché non puoi fare la somma di un'espressione utilizzando SUM(), devi utilizzare SUMX()

Inoltre se scrivi un ADDCOLUMN(<table>, SUM(...)) non ti si attiva il context transition (che è un aspetto importante da conoscere prima di scrivere le misure).

DAX va prima studiato nella sua teoria, altrimenti le misure che crei ti riporteranno si un valore, ma errato e la maggior parte delle volte non saprai che pesci pigliare se non sai dove cercare l'errore.

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,
sull'onda di dieri ho riorganizzato questo report, cercando di fare del mio meglio. Allora, le relazioni sono queste:

Immagine

le relazioni non le ho ancora determinate, ma la tabella "Tabella L25" nasce virtualizzata dalle due di cui sopra, ovvero le due tabelle dei fatti.
Questa è per ora la sintassi per generare alcune colonne:

Codice: Seleziona tutto

ADDCOLUMNS (
    SUMMARIZE (
        FILTER ( 'Effettuato_Pulizie_Rotabili', 'Effettuato_Pulizie_Rotabili'[attività] = "L25" ),
        'Effettuato_Pulizie_Rotabili'[sito],
        "L25 AGV Effettuati", COUNTROWS(FILTER('Effettuato_Pulizie_Rotabili', 'Effettuato_Pulizie_Rotabili'[attività] = "L25" && 'Effettuato_Pulizie_Rotabili'[flotta] = "AGV"))
    ),
    "Costo lotto L25 AGV", [L25 AGV Effettuati] * 145,
    "Audit L25 AGV Effettuati", 
    COUNTROWS(
        FILTER(
            RELATEDTABLE('Tab_L25'),
            'Tab_L25'[categoria] = "Asset" && 'Tab_L25'[flotta] = "AGV"
        )
    ),
    "Audit NC Penale L25 AGV",
    COUNTROWS(
        FILTER(
            RELATEDTABLE('Tab_L25'),
            'tab_L25'[Audit NC in Penale L25] = "NON CONFORME" && 'tab_L25'[flotta] = "AGV"
        )
    ),
    "Operatori Assenti",
    SUMX(
        FILTER(
            RELATEDTABLE('Tab_L25'),
            'Tab_L25'[flotta] = "AGV"
        ),
        'Tab_L25'[operatori assenti]
    ),
    "Audit Validi AGV L25",
        COUNTROWS(
            FILTER(
                RELATEDTABLE('Tab_L25'),
                'Tab_L25'[flotta] = "AGV" && 
                'Tab_L25'[categoria] = "Asset" && 
                'Tab_L25'[Durata Valida per Audit L25] = "valida"
            )
        )
    

)
La tabella si genera tranquillamente, ma noto che tutte le colonne relative alla tabella "tab_L25" restituiscono sempre lo stesso numero in tutta la colonna:

Immagine
Avatar utente

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

Totali Matrice erronei

Messaggio da Andrea90 »

@FurioP,

Mi dispiace, ma non ti risponderò più a questa discussione perché un po' va bene, ma poi si esagera... Quel campo [L25 AGV Effettuati] dove lo hai calcolato?

Ti rispondo già io --> dentro SUMMARIZE() e io ti ho scritto non so quante volte di non farlo.

Seconda cosa, nel messaggio precedente ti ho scritto questo:

Tu stai facendo un SUMMARIZE() sulla tabella "'Effettuato_Pulizie_Rotabili'" e poi in alcune misure scrivi RELATEDTABLE ( 'Tab_L25' ).
Che relazione esiste tra la tabella 'Effettuato_Pulizie_Rotabili' e quella 'Tab_L25' ?

A questo bisognerebbe aggiungere anche altre osservazioni come ad esempio quel FILTER dentro il SUMMARIZE() o in generale tutti quei FILTER() che hai creato dentro le varie colonne calcolate, che denotano una mancanza di nozioni in merito ai due concetti di contesto riga e contesto filtro.
FILTER() è un iteratore, scansiona la tabella che gli passi riga per riga e su ciascuna valuta una condizione, ovvero è come se gli stessi applicando dei "contesti filtro". Ma esistono modi più efficienti per ottenere questo e sto parlando di utilizzare CALCULATE e CALCULATETABLE, che sono le due funzioni più importanti del linguaggio DAX.

Con il DAX non si va avanti se non si studia la teoria, almeno le basi: contesto riga, contesto filtro, CALCULATE e Context Transition

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 »

la relazione che esiste è la Località, una colonna di nomi di città praticamente che sono le stesse sia un un documento che nell'altro
Avatar utente

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

Totali Matrice erronei

Messaggio da Andrea90 »

FurioP ha scritto: ven 10 mag 2024, 12:50 la relazione che esiste è la Località
Non esiste alcuna relazione tra le due tabella.... Non c'è nessuna linea che le relaziona tramite una relazione 1 a molti come invece avviene con la tabella Calendario ad esempio, che si lega ad entrambe.

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 »

Andrea90 ha scritto: ven 10 mag 2024, 12:55
FurioP ha scritto: ven 10 mag 2024, 12:50 la relazione che esiste è la Località
Non esiste alcuna relazione tra le due tabella.... Non c'è nessuna linea che le relaziona tramite una relazione 1 a molti come invece avviene con la tabella Calendario ad esempio, che si lega ad entrambe.

Andrea
pardon, hai ragione, ho sbagliato a postare. in realtà è presente, ho sbagliato solo a postare. la relazioni uno-a-molti per le colonne sito della tabella l'ho inserita.

Immagine

comunque grazie lo stesso, proseguirò affrontando più in profondità il la sintassi che non conosco per evitare disagi qui sul forum,
grazie ancora e scusate se non sono abbastanza capace.
Avatar utente

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

Totali Matrice erronei

Messaggio da Andrea90 »

FurioP ha scritto: ven 10 mag 2024, 13:01 grazie ancora e scusate se non sono abbastanza capace.
Qui non si tratta di non essere capace... si tratta di non mettere in pratica quello che viene suggerito di fare, ma non una... bensì più volte e sempre sulla stessa questione. Perché se uno continua imperterrito a non modificare gli errori che gli vengono fatti notare allora non si può proseguire in maniera costruttiva.
FurioP ha scritto: ven 10 mag 2024, 13:01 la relazioni uno-a-molti per le colonne sito della tabella l'ho inserita.
Ed invece no... Non esiste in quella foto alcuna "linea" che unisca la tabella "'Effettuato_Pulizie_Rotabili" con la tabella 'Tab_L25' che sono quelle che stai utilizzando all'interno delle misure.

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 »

non posso mettere in pratica una cosa di cui non conosco bene le modalità di utilizzo; per poter mettere qualcosa in pratica bisogna farlo conoscere il contesto, e io in questo devo affrontare tutti i miei limiti.

Le due tabelle dei "fatti" non posso metterteli in relazioni diretta, perché le colonne da relazionare hanno moltissimi dati che si duplicano, quindi invece di uno a molti dovrebbe essere molti a molti. Ho provato ad usare una tabella ponte ma non funziona con i valori singoli ma non funziona.
Avatar utente

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

Totali Matrice erronei

Messaggio da Andrea90 »

FurioP ha scritto: lun 13 mag 2024, 16:03 non posso mettere in pratica una cosa di cui non conosco bene le modalità di utilizzo
giusto, peccato che tu non abbia chiesto chiarimenti in merito. Ti ho scritto più volte di non utilizzare SUMMARIZE() per creare nuove colonne... non hai però chiesto il motivo sottostante questa indicazione, hai semplicemente ignorato la cosa e continuato ad utilizzarlo nello stesso modo di prima...
FurioP ha scritto: lun 13 mag 2024, 16:03 Le due tabelle dei "fatti" non posso metterteli in relazioni diretta,
Per questo infatti esistono le tabelle dimensionali, ma tu continui a raggruppare i dati prendendo i campi da una tabella dei fatti e poi usi RELATEDTABLE() per cercare di prendere dei dati dall'altra tabella dei fatti... ma questo non può funzionare perché non sono relazionate queste due tabelle.

Caso diverso è se tu usassi i campi della tabella dimensionale per poter estrarre i dati dalle due tabelle dei fatti (in questo caso RELATEDTABLE() funzionerebbe perché le tabelle dei fatti sono in relazione con quella dimensionale).

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