Conta occorrenze L’argomento è risolto

Non è propriamente un programma di BI, ma nelle sue versioni più recenti anche Excel può fare grandi cose!

Moderatore: Utilizzo_prof_Excel

Rispondi

5iL3N73
Messaggi: 44 | Topic creati
Iscritto il: sab 11 lug 2020, 16:43
Ringraziato: 2 volte

Conta occorrenze

Messaggio da 5iL3N73 »

Ciao a tutti avrei bisogno di un aiutino su come inserire una formula su PQ. In pratica ho un file con una serie di colonne, in una colonna specifica composta principalmente da testo mi servirebbe individuare delle parole chiave (elenco inserito nel foglio "dati") e quante volte si ripetono nell'intervallo (colonna). allego il file di esempio con il risultato (foglio dati).
Grazie anticipatamente.
PS: il risultato attualmente è ottenuto con una formula
R.
Allegati
SOMMA Cartel1.xlsx
(14.59 KiB) Scaricato 29 volte


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:

Conta occorrenze

Messaggio da Enrico Galli »

Ciao, prova questa query:

Codice: Seleziona tutto

let
    Origine = Excel.CurrentWorkbook(){[Name="Tabella1"]}[Content],
    #"Modificato tipo" = Table.TransformColumnTypes(Origine,{{"Colonna1", type text}}),
    #"Aggiunta colonna personalizzata" = Table.AddColumn(#"Modificato tipo", "Solo lettere e spazi", each Text.Remove([Colonna1], {",", ";", ".", ":", "(", ")", """", "…"})),
    #"Rimosse colonne" = Table.RemoveColumns(#"Aggiunta colonna personalizzata",{"Colonna1"}),
    #"Suddividi colonna in base al delimitatore" = Table.ExpandListColumn(Table.TransformColumns(#"Rimosse colonne", {{"Solo lettere e spazi", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Solo lettere e spazi"),
    #"Modificato tipo1" = Table.TransformColumnTypes(#"Suddividi colonna in base al delimitatore",{{"Solo lettere e spazi", type text}}),
    #"Filtrate righe" = Table.SelectRows(#"Modificato tipo1", each [Solo lettere e spazi] <> null and [Solo lettere e spazi] <> ""),
    #"Raggruppate righe" = Table.Group(#"Filtrate righe", {"Solo lettere e spazi"}, {{"Conteggio", each Table.RowCount(_), Int64.Type}}),
    #"Rinominate colonne" = Table.RenameColumns(#"Raggruppate righe",{{"Solo lettere e spazi", "Parola"}}),
    #"Ordinate righe" = Table.Sort(#"Rinominate colonne",{{"Conteggio", Order.Descending}})
in
    #"Ordinate righe"
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

Autore del topic
5iL3N73
Messaggi: 44 | Topic creati
Iscritto il: sab 11 lug 2020, 16:43
Ringraziato: 2 volte

Conta occorrenze

Messaggio da 5iL3N73 »

Grazie Enrico, è già un ottima soluzione, ma se il testo (all'interno cella) è composto da moltissime parole ,mi troverei tantissime parole "in colonna" esiste un modo per confrontarle con un elenco specifico in modo da selezionare solo quelle?
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:

Conta occorrenze

Messaggio da Enrico Galli »

Certo, basta avere l'elenco specifico su un'altra tabella e fare un merge con un inner join
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

Autore del topic
5iL3N73
Messaggi: 44 | Topic creati
Iscritto il: sab 11 lug 2020, 16:43
Ringraziato: 2 volte

Conta occorrenze

Messaggio da 5iL3N73 »

grazie 1000... Risolto!
Rispondi