Individuare valore massimo di un gruppo omogeneo

Il software per la BI di Microsoft, leader nel mercato

Raf1988
Messaggi: 83 | Topic creati
Iscritto il: sab 29 ago 2020, 13:18
Ringraziato: 7 volte

Individuare valore massimo di un gruppo omogeneo

Messaggio da Raf1988 »

Non ho capito perché utilizzi il campo “disponibilità”. In realtà proprio la formula non mi da ciò che voglio.

Stavo ragionando che forse sarebbe meglio avere una colonna calcolata che mi indichi qual’è il valore max di “minuti complessivi” per ogni matricola (il campo in corrispondenza dei valori non max dovranno dunque essere vuoti).
Non riesco a capire come approcciare per creare la formula.


Avatar utente

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

Individuare valore massimo di un gruppo omogeneo

Messaggio da Andrea90 »

Raf1988,

Quindi tutta la tua base dati non ti servirà mai per le
tue analisi se non quelle righe dove hai il massimo valore ?

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
Raf1988
Messaggi: 83 | Topic creati
Iscritto il: sab 29 ago 2020, 13:18
Ringraziato: 7 volte

Individuare valore massimo di un gruppo omogeneo

Messaggio da Raf1988 »

Esatto, è come se volessi filtrare solo le righe in corrispondenza dei valori massimi di minuti complessivi.
Avatar utente

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

Individuare valore massimo di un gruppo omogeneo

Messaggio da Andrea90 »

Raf1988

Codice: Seleziona tutto

 let
    Origine = Excel.CurrentWorkbook(){[Name="Tabella1"]}[Content],
    #"Modificato tipo" = Table.TransformColumnTypes(Origine,{{"Matricola", type text}, {"Codice Istanza", type text}, {"ID Catalogo", Int64.Type}, {"Disponibilità", Int64.Type}, {"Minuti Trasferimento", Int64.Type}, {"Minuti Lavoro", Int64.Type}, {"Minuti complessivi", Int64.Type}}),
    #"Ordinate righe" = Table.Sort(#"Modificato tipo",{{"Matricola", Order.Ascending}, {"Minuti complessivi", Order.Ascending}}),
    #"Aggiunta colonna indice" = Table.AddIndexColumn(#"Ordinate righe", "Indice", 0, 1, Int64.Type),
    #"Raggruppate righe" = Table.Group(#"Aggiunta colonna indice", {"Matricola"}, {{"MaxRiga", each List.Max([Indice]), type number}, {"Temp", each _, type table [Matricola=nullable text, Codice Istanza=nullable text, ID Catalogo=nullable number, Disponibilità=nullable number, Minuti Trasferimento=nullable number, Minuti Lavoro=nullable number, Minuti complessivi=nullable number, Indice=number]}}),
    #"Rimosse colonne" = Table.RemoveColumns(#"Raggruppate righe",{"Matricola"}),
    #"Tabella Temp espansa" = Table.ExpandTableColumn(#"Rimosse colonne", "Temp", {"Matricola", "Codice Istanza", "ID Catalogo", "Disponibilità", "Minuti Trasferimento", "Minuti Lavoro", "Minuti complessivi", "Indice"}),
    Filtro = Table.SelectRows(#"Tabella Temp espansa", each [MaxRiga] = [Indice])
in
    Filtro
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
Raf1988
Messaggi: 83 | Topic creati
Iscritto il: sab 29 ago 2020, 13:18
Ringraziato: 7 volte

Individuare valore massimo di un gruppo omogeneo

Messaggio da Raf1988 »

Ma questa tabella mi filtra in maniera permanente la mia base dati?
Siccome mi serve solo per alcuni grafici questo tipo di analisi, la mia intenzione era quella di creare una colonna di appoggio dove mi venisse indicato (ad esempio con 1 e 0) se quella riga è corrispondente al valore massimo di minuti complessivi o meno per ogni matricola.
Forse sono io che mi sono spiegato male fin dall’inizio 😅
Avatar utente

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

Individuare valore massimo di un gruppo omogeneo

Messaggio da Andrea90 »

Raf1988

‘Quindi tutta la tua base dati non ti servirà mai per le tue analisi se non quelle righe dove hai il massimo valore ?”

Mi sembrava chiara la domanda, alla quale tu hai risposto con “esatto”.

Comunque, questo è un forum per apprendere, non per consulenza. Ti ho dato tutti gli elementi per poterci lavorare su e fare le tue prove, adattando il file alle tue esigenze. Quindi, in sostanza, uno sforzo lo devi fare anche tu.

Se prendi la mia ultima stringa di codice, e la studi, vedrai che l’ultimo passaggio filtra via le righe che non soddisfano il criterio dei minuti massimi. Tolto quello avrai tutta la tua base dati con una colonna aggiuntiva che identifica il livello di [Indice] in corrispondenza del valore massimo di minuti.
Applicandosi un attimo non sarà difficile aggiungere la tua colonna di flag.

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
Raf1988
Messaggi: 83 | Topic creati
Iscritto il: sab 29 ago 2020, 13:18
Ringraziato: 7 volte

Individuare valore massimo di un gruppo omogeneo

Messaggio da Raf1988 »

Si hai ragione, avevo completamente frainteso la domanda.
Dalla tua ultima stringa di codice sono riuscito a ricostruire quello che cercavo, era più o meno la logica che avevo in mente, speravo di costruire qualcosa del genere direttamente in DAX ma anche così va bene.
Ti ringrazio ancora dell’aiuto Andrea90
Avatar utente

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

Individuare valore massimo di un gruppo omogeneo

Messaggio da Andrea90 »

Raf1988,

Ti ho anche già dato l’input per costruire le tue misure in dax. Se vai in uno dei messaggi precedenti vedrai che ti ho scritto due misure, una che calcola il valore massimo dei minuti e l’altra che sfrutta la prima per poter modificare il contesto filtro della seconda.

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
Raf1988
Messaggi: 83 | Topic creati
Iscritto il: sab 29 ago 2020, 13:18
Ringraziato: 7 volte

Individuare valore massimo di un gruppo omogeneo

Messaggio da Raf1988 »

Adesso la sto approfondendo. Come sempre dai ottimi spunti di riflessione e approfondimento 🙂
Rispondi