Función DAX para contar valores de texto específicos de una columna

Un usuario Pregunto ✅

Jonnokc

Hola,

Cómo intento sumar un valor específico de una columna. La columna contiene valores múltiples y quiero saber el recuento de un valor específico.

La función CONTAR simplemente totaliza cada campo en blanco. No puedo sacar un valor específico.

Konstantinos

Debe escribir una fórmula como la que contará todas las filas que contienen «Este valor»

CountValues =
CALCULATE ( COUNTROWS ( TableName ); TableName[ColumnName] = " This Value " )

chauhai

Encontré una solución al problema al intentar replicar la funcionalidad countif de Excel

Tenía un archivo como este:

Fecha Proyecto
08/01/2017 XYZ
08/02/2017 XYZ
08/03/2017 XYZ
08/04/2017 XYZ
08/05/2017 XYZ
08/06/2017 XYZ
09/01/2017 A B C
09/02/2017 A B C
09/03/2017 A B C
4/09/2017 A B C
5/09/2017 A B C
6/09/2017 A B C
10/12/2017 DEF
13/10/2017 DEF
11/11/2017 IJK

Paso 1 : Duplique la tabla en power BI como tabla separada

Paso 2 : «Agrupar por «en el campo» Proyectos «por» contar filas «, esto resumirá la tabla

Paso 3 : Usando la función «Buscar» en la tabla original, cree una columna calculada, ahí lo tiene tendrá su campo en Power BI

Espero que esto ayude.

Jaygill

Hola, todos,

Soy bastante nuevo en las medidas de DAX y encontré un problema en el trabajo. Así que tengo una tabla de base de datos de empleados y quiero contar el número total de empleados, todos los gerentes en cada departamento, todos los supervisores e instructores de una tabla.

Para calcular todos los empleados que he usado después de la epresión y funcionó.

No total de empleados: COUNTROWS ([EmployeesDataBase])

Pero ahora quiero calcular el número total de gerentes de (Tabla – EmployeeDataBase) Columna (Descripción del trabajo). jobDesc no se nombra de forma coherente. Usaron «Manager ‘Somedept’ «y también» Mgr «. Así que quería contar el número de filas de la columna «jobDesc», por lo que en Excel podría haber usado el comodín » (CONTADOS ( [jobdesc], {«* Gerente *,» * administrador * «})

Pero no puedo averiguar cómo usar esta fórmula en DAX Measure.

Ayuda PLZ. Necesito esta fórmula para mi trabajo Tmrw. Gracias de antemano.

shawnalexander

En respuesta a Jaygill

Columna = SI (BÚSQUEDA («Palabra»,[ColumnName], 1,0)> 0,1,0)

Devolveré un 1 si se encuentra la «Palabra». Comparación con Countif en Excel

Konstantinos

Debe escribir una fórmula como la que contará todas las filas que contienen «Este valor»

CountValues =
CALCULATE ( COUNTROWS ( TableName ); TableName[ColumnName] = " This Value " )

Narjiss

En respuesta a Konstantinos

Hola @konstantinos Necesito hacer funcionar una lista desplegable en el mapa de un país por división de mapa, por lo que cuando navego en el mapa, los datos de la lista cambian automáticamente (lista dinámica)

rgreener

En respuesta a Konstantinos

¿Cómo utilizaría esta fórmula para buscar varios valores en la misma columna? utilizando este ejemplo, me gustaría contar las filas que tienen «Este valor» «Ese valor» «Valor», etc. Muchas gracias

DouweMeer

En respuesta a rgreener

@rgreener

Pregunta antigua con una publicación antigua :). Espero que esto sea lo que estás buscando:

Mencionado anteriormente:

Entonces algo como:

nombre de recuento =

VAR a1 =

selectcolumns

filter (tabla, contiene cadena (‘tabla'[Name] , ‘tabla distinta'[name] )

, «cosas», ‘tabla'[name]

)

REGRESO

países (a1)

La solución sería cambiar el retorno a:

países (filtro (a1, [stuff] = «Este valor»))

«Este valor» también se puede reemplazar por un valor de su propia tabla. Solo asegúrate de usar una ‘tabla'[column] en lugar de solo [column] como [column] no existe en la tabla de referencia a1.

Alternativamente, como adición después de una instrucción 1 en la expresión inicial:

VAR a2 = países (filtro (a1, [stuff] = «Este valor»))

VAR a3 = países (filtro (a1, [stuff] = «Ese valor»))

VAR a4 = países (filtro (a1, [stuff] = «Valor»))

REGRESO

«Cuente ‘Este valor'» & a2 & «. Cuente ‘Ese valor'» & a3 «. Cuente ‘Este valor'» & a4.

No debería ser demasiado difícil :).

rgreener

En respuesta a DouweMeer

Gracias, funciona perfecto!

Anónimo

En respuesta a Konstantinos

¡¡¡¡¡GRACIAS!!!!! No puedo decirles cuánto tiempo he estado buscando una declaración COUNTIF donde pudiera identificar el valor. esto es sencillo y debería ser el resultado de búsqueda n. ° 1.

gusdahu

En respuesta a Konstantinos

Hola @konstantinos,

Probé el DAX que proporcionaste, la fórmula devolvió un recuento de uno cuando debería haber devuelto un recuento de dos. ¿Alguna idea de lo que hice mal?

Saludos,

Gus Dahu

DouweMeer

En respuesta a gusdahu

¿Qué tal si usan ‘selectcolumns’? Este comando DAX crea una referencia de tabla y, combinado con ‘filtro’, cada fila de la tabla se compara con una expresión booleana. ‘containstring’ se puede utilizar para validar si existe un valor en el valor del registro.

Entonces algo como:

nombre de recuento =

VAR a1 =

selectcolumns

filter (tabla, contiene cadena (‘tabla'[Name] , ‘tabla distinta'[name] )

, «cosas», ‘tabla'[name]

)

REGRESO

países (a1, [stuff] )

Por supuesto, podría realizar el cálculo sobre su propia tabla. Luego, primero debe configurar toda la tabla en un VAR anterior y hacer referencia al filtro (‘tabla’ a ese VAR en lugar de ‘tabla’. Si desea esto como una medida, debe agregar algún valor como nombre en el VAR antes de la referencia de la tabla como VAR = ‘valor seleccionado’. Debería funcionar.

kzeidan

En respuesta a Konstantinos

¿Qué pasa si el valor está en una celda?

Por ejemplo, la columna A tiene valores de 1M. Sin embargo, 300K son elementos reaccionados, ¿cómo puedo cada uno de esos 300K?

salud,

Dice

En respuesta a Konstantinos

¿Existe una forma eficaz de encadenar una búsqueda de palabras para poder contar los resultados de decir 20 palabras diferentes? Identificar tendencias.

tahmed

En respuesta a Dice

no estoy muy seguro de lo que quiere decir, pero ¿está tratando de simplemente hacer un recuento de todas las palabras únicas en una tabla?

tahmed

En respuesta a Konstantinos

Esto es realmente bueno, excepto que necesito ir un poco más lejos. En lugar de «Este valor», que es un valor de texto único, quiero usar una columna de tabla. Ejemplo:

Tabla 1:

Jon

Jon

Jon

Danny

Ana

Danny

marrón

Taha

Taha

Tabla 2 (resultado que estoy buscando)

Jon = 3

Danny = 2

Anne = 1

Marrón = 1

Taha = 2

Muchas gracias por su ayuda

Jonnokc

En respuesta a Konstantinos

¿Puede decirme qué está mal con mi fórmula?

Prueba = CALCULAR (COUNTROWS (Tabla1); Tabla1[Job title] = «Asociado»)

Rodrigo

En respuesta a Jonnokc

oye hombre, ¿dónde pudiste solucionar tu problema?

Estoy experimentando el mismo problema aquí, debajo de mi fórmula …

Algo insatisfecho = CALCULATE (COUNTROWS (Raw), Raw[Sat Lv]= «4»)

Intento usar el «;» pero aun no laboral.

Se agradece cualquier ayuda.

Sean

En respuesta a Rodrigo

@Rodrigo Measure = COUNTROWS (FILTER (Raw, Raw[Sat Lv]= 4))

Si por alguna razón 4 no es un número, use = «4»

Rodrigo

En respuesta a Sean

@Sean gracias, pude calcular los valores sin ningún problema.

otra pregunta aquí …

Otro problema de cálculo aquí, necesito calcular cuántas veces aparece la palabra «comunicación» en una columna pero. la palabra comunicación es parte de un texto dentro de la fila. ejemplo a continuación:

Columna 1

asdfoaisdfhoasd comunicación sedfadsfadsfad

comunicación e2erawedfasdfads

adsfqefcomunicación

la respuesta debe ser 3 …. ya que la palabra comunicación aparece 3 veces en la columna A

por favor ayuda. Gracias

karthik

En respuesta a Rodrigo

@Rodrigo

Cree una columna calculada en la tabla de la siguiente manera:

Tiene comunicación: = SI (Buscar («Comunicación», su_columna_texto, 1, -1) = -1, 0, 1)

Cree una nueva medida como CommunicationCount = SUM ([HasCommunication]) en la misma tabla donde creó una nueva columna «HasCommunication»

Deja un comentario

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