Microsoft Excel - Power Query - Creazione di pattern
Vogliamo trasformare la tabella

In questo modo

In pratica per ogni campione raggruppiamo i test in unica stringa creando un pattern.
Soluzione con AI
Chiediamo a https://claude.ai
Crea una powerquery che legge Una tabella che contiene due colonne: Campione e Test. Per ogni campione ci possono essere più test. Vedi la tabella di esempio campioni.csv. Successivamente crea una tabella con due colonne: Campione e pattern. Il pattern viene creato concatenando i nomi dei Test per lo stesso campione. Un esempio di risultato è pattern.csv
Risultato
La query principale utilizza la funzione Table.Group() per raggruppare per campione e Text.Combine() per concatenare tutti i test di ogni campione senza separatori.
Come utilizzarla:
- In Power BI: Vai su "Ottieni dati" > "Query vuota" e incolla il codice
- In Excel: Vai su "Dati" > "Ottieni dati" > "Da altre origini" > "Query vuota"
- Modifica il percorso del file nella riga
Origine = Csv.Document...
Risultato atteso:
Campione 1001 → Pattern: AAABBBCCC
Campione 1002 → Pattern: AAABBBCCCDDD
Campione 1003 → Pattern: AAADDD E così via...
La query gestisce automaticamente il raggruppamento e la concatenazione, producendo esattamente il formato della tabella pattern.csv che hai fornito come esempio.
Codice
let Origine = Csv.Document(File.Contents("C:\percorso\campioni.csv"),[Delimiter=";", Columns=2, Encoding=1252, QuoteStyle=QuoteStyle.None]), #"Intestazioni alzate" = Table.PromoteHeaders(Origine, [PromoteAllScalars=true]), #"Tipo modificato" = Table.TransformColumnTypes(#"Intestazioni alzate",{{"Campione", Int64.Type}, {"Test", type text}}), // Ordina prima per Campione e poi per Test per garantire l'ordine corretto #"Righe ordinate" = Table.Sort(#"Tipo modificato",{{"Campione", Order.Ascending}, {"Test", Order.Ascending}}), // Raggruppa e concatena mantenendo l'ordine #"Righe raggruppate" = Table.Group(#"Righe ordinate", {"Campione"}, { {"Pattern", each Text.Combine([Test], ""), type text} })in #"Righe raggruppate"
VERSIONE AVANZATA - Da Excel o altra fonte dati:
Se la tabella è già caricata in Power BI/Excel come "TabellaOrigine":
let Origine = TabellaOrigine, #"Righe raggruppate" = Table.Group(Origine, {"Campione"}, { {"Pattern", each Text.Combine(List.Sort([Test]), ""), type text} })in #"Righe raggruppate"
Il codice può essere copiato da qui
https://claude.ai/public/artifacts/2a694ff6-0ba1-4d42-b125-7ebbccf1d609