Contar la sintaxis en el editor de consultas

Un usuario Pregunto ✅

MB1

Hola a todos,

Algunos antecedentes: mi conjunto de datos proviene de una conexión a una ubicación de punto compartido.

La tabla tiene montones de columnas, pero las que me interesan son 6 columnas llamadas Tipo de error columna 1 a través de Tipo de error columna 6. Los datos en estas columnas son texto, quiero contar la cantidad de veces que aparece una cadena específica de texto en estas columnas y sumar este total.

Por ejemplo,

si la palabra “EIC” apareciera en la columna 3, la respuesta sería 1.

si la palabra “EIC” apareciera en la columna 1 y columna 2, la respuesta sería 2.

Pude hacer esto con bastante facilidad creando una nueva columna en la tabla con la siguiente fórmula:

CIE = si ([Error type column 1]=»EIC»,1,0)+si([Error type column 2]=»EIC»,1,0)+si([Error type column 3]=»EIC»,1,0)+si([Error type column 4]=»EIC»,1,0)+si([Error type column 5]=»EIC»,1,0)+si([Error type column 6]=»EIC»,1,0)

Pero desde entonces me he dado cuenta de que necesito hacer esto en el consulta editor, ya que necesito continuar para descentrar los datos para obtener la estructura que necesito. Aquí es donde me encuentro con el problema, ¡no puedo encontrar ninguna sintaxis que haga esto en el editor de consultas!

Parece que no puedo sumar varias declaraciones IF en una consulta, y no puedo encontrar una sintaxis de conteo que funcione. Tengo 17 tipos de error en las 6 columnas, por lo que no puedo desglosarlo paso a paso, ya que estaría introduciendo más de 100 columnas adicionales en mi tabla.

¡Cualquier ayuda sería muy apreciada!

Gracias.

MB1.

MB1

En respuesta a datos

Hola @Datatouille

Gracias por tu sugerencia. No pude hacer que funcionara correctamente (soy un novato en M), pero encontré una solución. Creé una segunda tabla vinculada al mismo punto compartido y eliminé todas las columnas excepto las 6 columnas de tipo de error y una columna de identificador único, llamada ID de llamada. Luego desvié las 6 columnas de tipo de error que las pusieron todas en una, y creé una combinación en Call ID con mi tabla de puntos compartidos original que contiene toda la información adicional, como el nombre, el equipo, etc.

Esto solucionó mi problema, ya que eliminó mi necesidad de contar el texto dentro del editor de consultas, y debido a que ahora está en una columna, encaja muy bien en los gráficos y cuenta automáticamente las ocurrencias de cada grupo, como EIC (usado en mi ejemplo) , y la unión en Call ID me permite relacionarlo con la persona o cualquier otro detalle en el conjunto de datos original. Todo parece estar funcionando, ¡hasta ahora todo va bien de todos modos!

Hola @MB1

Puede aprovechar las funciones de la lista M.

Prueba esto:

Dejar

Fuente = «TuFuente»,

Verificar = Table.AddColumn(Fuente, «Verificar», cada List.Count( List.Select( { [Col1], [Col2], [Col3], [Col4], [Col5], [Col6] } , cada _ = «EIC»)))

en

Cheque

MB1

En respuesta a datos

Hola @Datatouille

Gracias por tu sugerencia. No pude hacer que funcionara correctamente (soy un novato en M), pero encontré una solución. Creé una segunda tabla vinculada al mismo punto compartido y eliminé todas las columnas excepto las 6 columnas de tipo de error y una columna de identificador único, llamada ID de llamada. Luego desvié las 6 columnas de tipo de error que las pusieron todas en una, y creé una combinación en Call ID con mi tabla de puntos compartidos original que contiene toda la información adicional, como el nombre, el equipo, etc.

Esto solucionó mi problema, ya que eliminó mi necesidad de contar el texto dentro del editor de consultas, y debido a que ahora está en una columna, encaja muy bien en los gráficos y cuenta automáticamente las ocurrencias de cada grupo, como EIC (usado en mi ejemplo) , y la unión en Call ID me permite relacionarlo con la persona o cualquier otro detalle en el conjunto de datos original. Todo parece estar funcionando, ¡hasta ahora todo va bien de todos modos!

Deja un comentario

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