Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

View all the Fabric Data Days sessions on demand. View schedule

Reply
Syndicate_Admin
Administrator
Administrator

Contar cuántas veces hay una palabra en una columna

Hi Expertos

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

Col1

palabra1;palabra2

palabra1;palabra3

palabra3;

palabra4

palabra1

etc etc

Me gustaría contar cuántas instancias de cada palabra hay 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

La medida siguiente no funciona cuando tiene Word1;Word2

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

AYUDA

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Hola @BlueWhite111
Puede utilizar la función CONTAINSSTRING. He agregado una nueva tabla con todas las palabras únicas, a las que hago referencia en la medida DAX.

Measure = 
VAR _search_word = 
    SELECTEDVALUE ( search_words[search_word] )
VAR _result =
    CALCULATE ( 
        COUNTROWS ( 'Table' ),
        CONTAINSSTRING ( 'Table'[Col1], _search_word )
    )
RETURN
    _result

Resultado:

Barthel_0-1672656864902.png

Hola @Barthel
Gracias por su resposne.
Sólo una consulta 🙂

Supongo que la lógica anterior no funcionará si el mismo nombre aparece en la fila más de una vez es correcto.

significado palabra1; palabra2;palabra1. ¿Cómo debemos manejar esto con la lógica anterior?

@NandanHegde,

Creo que esto es muy difícil de realizar en DAX, y honestamente no tengo una buena respuesta para eso en este momento. Por otro lado, creo que la forma más fácil es editar la tabla en Power Query, dividiendo cada celda en nuevas filas usando el separador. Cada palabra equivale a una fila/columna. De esta manera, aún puede usar la fórmula anterior. De hecho, ya no tiene que usar CONTAINSSTRING y simplemente puede usar una instrucción equals.

Gracias señor perfecto

Syndicate_Admin
Administrator
Administrator

Oye, probablemente puedas probar el siguiente enfoque:

1) Dividir la columna en función del punto y coma

2) Luego transponga para que cada fila sea equivalente a una palabra

3) Luego cree una medida por Resumir

algo como:

RESUMIR(Tabla, Tabla[Columna], "WordCount", CONTAR(Tabla[Columna]))

Syndicate_Admin
Administrator
Administrator

Hola, acabo de intentar esto y tampoco funciona

Nuevo recuento =
Dónde _un = VALOR SELECCIONADO('DimExoskeleton'[Proceso])
Dónde _b = HASONEVALUE('DimExoskeleton'[Proceso])
Dónde _c = countrows( FILTRO('Encuesta diaria', 'Encuesta diaria'[InwhatprocessdidyouusetheExoskel (new)] = _un ))
Devolución
si (_b, si (ISBLANK(_c), 0, _c), ESPACIO EN BLANCO() )

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors