Eliminare nomi duplicati con stessa data

di il
17 risposte

Eliminare nomi duplicati con stessa data

Ciao ragazzi si riesce nella query (tabella gialla ad eliminare nomi  duplicati con stessa data e ne consideri solo uno? Mi spiego meglio.... i duplicati per nome mi servono e sono già presenti. Però lo stesso nome non può avere due timbrate nella stessa data...... esempio le righe colorate di blu.

Allego file

https://www.swisstransfer.com/d/6ec423d1-d654-4c02-bdba-64cddd9edb87

17 Risposte

  • Re: Eliminare nomi duplicati con stessa data

    Io ci vedo due modi:

    1) Raggruppi 

    = Table.Group(#"Rinominate colonne", {"Dipendente", "Data", "Tipo"}, {{"OraMax", each List.Min([Ora]), type nullable text}})

    2) Rimuovi i duplicati

    = Table.Distinct(#"Rinominate colonne", {"Dipendente", "Data"})

    Sull'esempio che hai postato il risultato è il medesimo. Servirebbe testarli su un set di dati più ampio perché non so se la rimozione dei duplicati mantiene sempre il primo record oppure no. In teoria dovrebbe tenere quello e se sono in ordine di orario sei a posto

  • Re: Eliminare nomi duplicati con stessa data

    Non potevi caricare il foglio?

  • Re: Eliminare nomi duplicati con stessa data

    In che senso, scusa? Se intendi che avrei dovuto ricondividere il tuo file con la soluzione all'interno, finiamo in quanto espressamente vietato dal regolamento riguardo la "pappa pronta".

    Per applicare i miei suggerimenti e vedere se fanno al caso tuo, basta che apri l'editor di PowerQuery ed aggiungi le righe proposte nella finestra dell'editor avanzato.

    La seconda alternativa è:

    • andare, sempre tramite l'editor, nel tab "Trasforma" per eseguire il raggruppamento.
    • selezionare le due colonne "Dipendente" e "Data", click destro e selezionare "Rimuovi duplicati"
  • Re: Eliminare nomi duplicati con stessa data

    Si le ho aggiunte le righe ma messe in fondo mi dava "false"

    L'ultima striga di testo dice 

    in:

    Rinominate colonne se le righe le metto li da "False"

  • Re: Eliminare nomi duplicati con stessa data

    21/12/2024 - Jekob_82 ha scritto:

    Si le ho aggiunte le righe ma messe in fondo mi dava "false"

    Devi aggiungerne solo una delle due. Entrambe sono ridondanti.

    Condividi il codice PQ che hai ottenuto, così diamo uno sguardo e vediamo cosa serve sistemare.

  • Re: Eliminare nomi duplicati con stessa data

    Let
       Origine = Excel.CurrentWorkbook(){[Name="Tabella1"]}[Content],
       #"Rimosse prime righe" = Table.Skip(Origine,3),
       #"Filtrate righe4" = Table.SelectRows(#"Rimosse prime righe", each not Text.Contains([Colonna1], "Data") and not Text.Contains([Colonna1], "Totale timbrature") and not Text.Contains([Colonna1], "pag") and not Text.Contains([Colonna1], "Dal") and not Text.Contains([Colonna1], "Stampa") and not Text.Contains([Colonna1], "timbratura annullata")),
       #"Suddividi colonna in base al delimitatore4" = Table.SplitColumn(#"Filtrate righe4", "Colonna1", Splitter.SplitTextByDelimiter("Azienda", QuoteStyle.Csv), {"Colonna1.1", "Colonna1.2"}),
       #"Ricopiato in basso1" = Table.FillDown(#"Suddividi colonna in base al delimitatore4",{"Colonna1.2"}),
       #"Filtrate righe7" = Table.SelectRows(#"Ricopiato in basso1", each ([Colonna1.1] <> "")),
       #"Riordinate colonne1" = Table.ReorderColumns(#"Filtrate righe7",{"Colonna1.2", "Colonna1.1"}),
       #"Suddividi colonna in base al delimitatore5" = Table.SplitColumn(#"Riordinate colonne1", "Colonna1.2", Splitter.SplitTextByDelimiter("Dipendente", QuoteStyle.None), {"Colonna1.2.1", "Colonna1.2.2"}),
       #"Rimosse colonne1" = Table.RemoveColumns(#"Suddividi colonna in base al delimitatore5",{"Colonna1.2.1"}),
       #"Suddividi colonna in base al delimitatore1" = Table.SplitColumn(#"Rimosse colonne1", "Colonna1.2.2", Splitter.SplitTextByDelimiter("Badge", QuoteStyle.Csv), {"Colonna1.2.2.1", "Colonna1.2.2.2"}),
       #"Rimosse colonne2" = Table.RemoveColumns(#"Suddividi colonna in base al delimitatore1",{"Colonna1.2.2.2"}),
       #"Dividi colonna per passaggio carattere" = Table.SplitColumn(#"Rimosse colonne2", "Colonna1.2.2.1", Splitter.SplitTextByCharacterTransition({"0".."9"}, (c) => not List.Contains({"0".."9"}, c)), {"Colonna1.2.2.1.1", "Colonna1.2.2.1.2"}),
       #"Rimosse colonne3" = Table.RemoveColumns(#"Dividi colonna per passaggio carattere",{"Colonna1.2.2.1.1"}),
       #"Testo troncato1" = Table.TransformColumns(#"Rimosse colonne3",{{"Colonna1.2.2.1.2", Text.Trim, type text}}),
       #"Suddividi colonna in base al delimitatore2" = Table.SplitColumn(#"Testo troncato1", "Colonna1.1", Splitter.SplitTextByDelimiter(" ", QuoteStyle.None), {"Colonna1.1.1", "Colonna1.1.2", "Colonna1.1.3"}),
       #"Rinominate colonne" = Table.RenameColumns(#"Suddividi colonna in base al delimitatore2",{{"Colonna1.2.2.1.2", "Dipendente"}, {"Colonna1.1.1", "Data"}, {"Colonna1.1.2", "Ora"}, {"Colonna1.1.3", "Tipo"}})
    in
       #"Rinominate colonne"

  • Re: Eliminare nomi duplicati con stessa data

    21/12/2024 - Jekob_82 ha scritto:

    le ho aggiunte le righe

    E dove sono? Sbaglio io o non vedo nessuno dei due tentativi? 

    P.S. Usa il tag per il codice che resta più facile da leggere.

  • Re: Eliminare nomi duplicati con stessa data

    Le ho tolte perchè dava false

  • Re: Eliminare nomi duplicati con stessa data

    21/12/2024 - Jekob_82 ha scritto:

    Le ho tolte

    Quindi non sappiamo cosa ci fosse di sbagliato. :(

    Hai fatto un tentativo anche tramite l'editor, come ti ho suggerito al post poco sopra?

    21/12/2024 - Sgrubak ha scritto:

    La seconda alternativa è:

    • andare, sempre tramite l'editor, nel tab "Trasforma" per eseguire il raggruppamento.
    • selezionare le due colonne "Dipendente" e "Data", click destro e selezionare "Rimuovi duplicati"

    Non funziona nemmeno così?

  • Re: Eliminare nomi duplicati con stessa data

    Non sono pratico....

  • Re: Eliminare nomi duplicati con stessa data

    21/12/2024 - Sgrubak ha scritto:

    "Trasforma" per eseguire il raggruppamento.

    se lo sapessi fare in scioltezza pensi che avrei chiesto qui?

  • Re: Eliminare nomi duplicati con stessa data

    Ho fatto cosi, non so se ho fatto bene
    Allego 
    datemi un feedback

  • Re: Eliminare nomi duplicati con stessa data

    22/12/2024 - Jekob_82 ha scritto:

    Ho fatto cosi

    Esatto! Hai optato per la Max che ti prende l'orario più alto che hai, ma in ogni caso te le rende univoche.

    21/12/2024 - Jekob_82 ha scritto:

    Non sono pratico....

    L'alternativa che ti suggerivo è

    • selezionare le due colonne "Dipendente" e "Data", click destro e selezionare "Rimuovi duplicati"

    dove letteralmente selezioni le due colonne (click sinistro sull'intestazione della prima colonna e poi SHIFT + click sinistro sull'intestazione della seconda colonna) e con il click di destro ti si apre la tendina. Da questa scegli l'opzione rimuovi duplicati. Dovrebbe mantenerti la riga con la prima coppia uguale delle due colonne selezionate.

  • Re: Eliminare nomi duplicati con stessa data

    Ok adesso però per verificare la correttezza dell'operazione ho bisogno di verificare nell'altro file dove ho i duplicati, se ha rimosso i record corretti, cioe ho bisogno di estrarre una lista dei nomi doppi e le date in cui risultano doppi

    ad esempio barbieri è doppio.

    Allego il primo file.

Devi accedere o registrarti per scrivere nel forum
17 risposte