Contar cuantas veces hay una palabra en una columna

Un usuario Pregunto ✅

bb72

Hola, tengo una columna de texto separada por un punto y coma, por ejemplo

Col1

palabra1;palabra2

palabra1;palabra3

palabra3;

palabra4

palabra1

etcétera etcétera

Me gustaría contar cuántas instancias de cada palabra en cada fila y tener un total, pero comparándolo con una tabla de palabras posibles, el resultado sería:

palabra 1 = 3

palabra 2 = 1

palabra 3 = 2

etc.

Veo un ejemplo aquí:

https://community.powerbi.com/t5/Desktop/Contando-cuantas-veces-una-palabra-esta-en-una-columna/mp/206657#M9…

# Depresión = CALCULATE(COUNTAX(‘NombreTabla’,’NombreTabla'[Emotional Depression]),’Nombre de la tabla'[Emotional Depression]=»Depresión»)

Pero está usando una palabra codificada para buscar en lugar de una lista en otra tabla/columna.

Como tengo 30 palabras para buscar, preferiría hacer referencia a otra cosa para proporcionar estáticamente en los criterios de búsqueda.

¿Alguna sugerencia por favor?

¡Gracias!

cama y desayuno

greg_deckler

Dadas las siguientes consultas de Ingresar datos:

Palabras de búsqueda

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WKs8vSjG0BpFGSrE6yHxjON/YGs40QShSio0FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [SearchWords = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"SearchWords", type text}})
in
    #"Changed Type"

Palabras

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WKs8vSjFUitWBsIzgLGM4y0QpNhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Words = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Words", type text}})
in
    #"Changed Type"

Crea esta columna en tu tabla de Words:

Count = SUMX(SearchWords,IF(LEN(SUBSTITUTE(SearchWords[SearchWords],[Words],""))<LEN(SearchWords[SearchWords]),1,0))

@bb72,

Primero puede seleccionar Dividir columna por delimitador en el Editor de consultas.

greg_deckler

Dadas las siguientes consultas de Ingresar datos:

Palabras de búsqueda

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WKs8vSjG0BpFGSrE6yHxjON/YGs40QShSio0FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [SearchWords = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"SearchWords", type text}})
in
    #"Changed Type"

Palabras

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WKs8vSjFUitWBsIzgLGM4y0QpNhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Words = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Words", type text}})
in
    #"Changed Type"

Crea esta columna en tu tabla de Words:

Count = SUMX(SearchWords,IF(LEN(SUBSTITUTE(SearchWords[SearchWords],[Words],""))<LEN(SearchWords[SearchWords]),1,0))

bb72

En respuesta a greg_deckler

Gracias, es casi perfecto. Sin embargo, mi columna de palabras que estoy buscando tiene el siguiente formato:

palabra1;palabra2

Desafortunadamente, su sugerencia no coincide.

COUNTIF funciona bien en Excel, ¿hay un equivalente?

¡Muchas gracias!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *