Errore riga totale con misura SUMX L’argomento è risolto

Il software per la BI di Microsoft, leader nel mercato
Avatar utente

alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Errore riga totale con misura SUMX

Messaggio da alex77 »

Non fare il modesto, io senza voi due, ma senza fare gerarchie, sono spacciato :mrgreen:
E comunque era solo perchè non avevi visto il file di esempio :D
Intanto sono al palo perchè il sig. DAX non gli piacciono gli articoli con le lettere e gli spazi... :roll:


Avatar utente

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

Errore riga totale con misura SUMX

Messaggio da Andrea90 »

alex77,

Prova cosi:

Codice: Seleziona tutto

=
Var CurArt = VALUES( factVendite[Codice Articolo] )
VAR TempTab =
    CALCULATETABLE (
        ADDCOLUMNS (
            VALUES ( dimCalendario[EofMonth] );
            "@TotQty"; [DAX.Volume Vendite];
            "@ListinoPrice"; CALCULATE ( MAXX ( factListino; factListino[Prezzo Listino] ) )
        );
        FILTER( ALL( dimArticolo[Codice Articolo]); dimArticolo[Codice Articolo] IN CurArt)
    )
VAR Result =
    SUMX ( TempTab; [@ListinoPrice] * [@TotQty] )
RETURN
    Result
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
Avatar utente

Enrico Galli
Messaggi: 890 | Topic creati
Iscritto il: dom 28 giu 2020, 19:03
Luogo: San Giovanni in Persiceto (BO)
Ringraziato: 325 volte
Contatta:

Errore riga totale con misura SUMX

Messaggio da Enrico Galli »

Ora che ho potuto "paciugare" con il file di esempio, propongo la mia soluzione, che sostituisce interamente la misura iniziale ;)

Codice: Seleziona tutto

=
SUMX (
    ADDCOLUMNS (
        SUMMARIZE (
            'factVendite';
            'dimCalendario'[Data];
            'dimArticolo'[Codice Articolo]
        );
        "_CostoTotale";
            VAR vData =
                EOMONTH ( 'dimCalendario'[Data]; 0 )
            RETURN
                [DAX.Volume Vendite]
                    * CALCULATE ( MAX ( factListino[Prezzo Listino] ); 'dimCalendario'[Data] = vData )
    );
    [_CostoTotale]
)
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
Avatar utente

Autore del topic
alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Errore riga totale con misura SUMX

Messaggio da alex77 »

E all'ultima curva vince Enrico Galli
Forse ero stato troppo "asciutto" nel file di esempio mettendo sostanzialmente un solo codice. Oltretutto avevo escluso anche il cliente (nella matrice in PBI raggruppo anche il cliente) e nell'ultima soluzione di Andrea, sia a livello cliente che di somma totale il valore si decuplicava senza senso.

Allego un file di esempio aggiornato, dove si vedono i risultati delle due strade percorse.

Grazie ad entrambi per l'aiuto, che le soluzioni che mi avete proposto sono a livelli ancora altini (anche se riesco a "leggerle" abbastanza) per me. Devo dire che avevo abbozzato qualcosa di simile ad Enrico, ma poi... mettere la variabile all'interno del sumx... non mi passerebbe neanche per l'anticamera del cervello... e adesso mi sto pure leggendo la differenza tra endofmonth end eomonth...
Ce n'è da imparare

A.
Allegati
EsempioAggiornato.xlsx
(548.92 KiB) Scaricato 8 volte
Avatar utente

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

Errore riga totale con misura SUMX

Messaggio da Andrea90 »

Ciao a tutti,

Non per fare polemica, ci mancherebbe, ma come metro di confronto mi verrebbe da dire che un SUMMARIZE sulla intera tabella dei fatti lo eviterei, poi sinceramente non mi sono messo a calcolare le performance 😅

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
Avatar utente

Enrico Galli
Messaggi: 890 | Topic creati
Iscritto il: dom 28 giu 2020, 19:03
Luogo: San Giovanni in Persiceto (BO)
Ringraziato: 325 volte
Contatta:

Errore riga totale con misura SUMX

Messaggio da Enrico Galli »

Io però sono interessato alla questione: nella mia testa, nel momento in cui scrivo

Codice: Seleziona tutto

        
SUMMARIZE (
    'factVendite';
    'dimCalendario'[Data];
    'dimArticolo'[Codice Articolo]
)
praticamente vado a ridurre le righe considerate a quelle visibili nel contesto valutativo (in modo simile a ciò che avviene con VALUES), e di conseguenza le colonne aggiunte vengono calcolate solo su questo sottoinsieme. E' corretto?
Ovviamente sarà sempre un'operazione più costosa rispetto a operare sulle dimensioni, ma siccome in questo caso il contesto di filtro prevede due campi presi da due dimensioni che non si "parlano", ho pensato a questa via per arrivare al risultato. Sarei contento di confrontare questo ragionamento con un altro al quale non sono arrivato a pensare!
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
Avatar utente

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

Errore riga totale con misura SUMX

Messaggio da Andrea90 »

Ciao Enrico,

A livello di singola combinazione si, ma a livello di totale (o di subtotale semmai cambierà il report) il numero di righe sarà potenzialmente molto più grande.

Mentre con un values sul calendar EndOfMonth ad esempio, il valore massimo sarà 12.

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