Leer en inglés

Compartir a través de


Agrupación o resumen de filas

En Power Query, puede agrupar los valores de varias filas en un solo valor agrupando las filas según los valores de una o varias columnas. Puede elegir entre dos tipos de operaciones de agrupación:

  • Agrupaciones de columnas.

  • Agrupaciones de filas.

Para este tutorial, usaremos la siguiente tabla de ejemplo.

Tabla inicial de muestra.

Captura de pantalla de una tabla con columnas que muestran Año (2020), País (EE.UU., Panamá o Canadá), Producto (Camisa o Pantalones), Canal de ventas (En línea o Revendedor) y Unidades (varios valores de 55 a 7500)

Dónde encontrar el botón Agrupar por

Puede encontrar el botón Agrupar por en tres lugares:

  • En la pestaña Inicio, en el grupo Transformar.

    Captura de pantalla de la cinta de Power Query con la opción Agrupar por resaltada en la pestaña Inicio.

  • En la pestaña Transformar, en el grupo Tabla.

    Captura de pantalla de la cinta de Power Query con la opción Agrupar por resaltada en la pestaña Transformar.

  • En el menú contextual, al hacer clic con el botón derecho se seleccionan las columnas.

    Captura de pantalla de una tabla con la opción Agrupar por resaltada en el menú contextual.

Uso de una función de agregado para agrupar una o varias columnas

En este ejemplo, el objetivo es resumir las unidades totales vendidas en el nivel de país y canal de ventas. Usaremos las columnas País y Canal de ventas para realizar la operación de agrupar por.

  1. Seleccione Agrupar por en la pestaña Inicio.
  2. Seleccione la opción Avanzadas para que pueda seleccionar varias columnas por las que agrupar.
  3. Seleccione la columna País.
  4. Seleccione Agregar agrupación.
  5. Seleccione la columna Canal de ventas.
  6. En Nuevo nombre de columna, introduzca Total de unidades, en Operación, seleccione Suma y, en Columna, seleccione Unidades.
  7. Seleccione Aceptar.

Captura de pantalla del cuadro de diálogo Agrupar por con las columnas agregadas rellenadas.

Esta operación proporciona la tabla siguiente.

Captura de pantalla de la tabla de salida de ejemplo con las columnas País, Canal de ventas y Total de unidades.

Operaciones disponibles

Con la función Agrupar por, las operaciones disponibles se pueden clasificar de dos maneras:

  • Operación en el nivel de fila
  • Operación en el nivel de columna

Estas operaciones se describen en cada una de estas operaciones.

Nombre de operación Category Descripción
Sum Operación de columna Suma todos los valores de una columna
Media Operación de columna Calcula el valor medio de una columna
Valor medio Operación de columna Calcula la mediana de una columna
Mín. Operación de columna Calcula el valor mínimo de una columna
Máx. Operación de columna Calcula el valor máximo de una columna
Percentil Operación de columna Calcula el percentil, utilizando un valor de entrada de 0 a 100, desde una columna.
Contar valores distintos Operación de columna Calcula el número de valores distintos de una columna
Count : contar filas Operación de fila Calcula el número total de filas de un grupo determinado
Contar filas distintas Operación de fila Calcula el número de filas distintas de un grupo determinado
Todas las filas Operación de fila Genera todas las filas agrupadas en un valor de tabla sin agregaciones

Nota

Las operaciones de Contar valores distintos y Percentil solo están disponibles en Power Query Online.

Realizar una operación para agrupar por una o varias columnas

A partir del ejemplo original, en este ejemplo creará una columna que contiene las unidades totales y otras dos columnas que le proporcionan el nombre y las unidades vendidas para el producto de mayor rendimiento, resumidos en el nivel de país y canal de ventas.

Captura de pantalla de la tabla de salida de ejemplo con operaciones.

  1. Use las columnas siguientes como columnas de Agrupar por:

    • Country
    • Sales Channel
  2. Cree dos nuevas columnas siguiendo estos pasos:

    1. Agregue la columna Unidades mediante la operación Suma. Asigne a esta columna el nombre de Total de unidades.
    2. Agregue una nueva columna de Productos mediante la operación Todas las filas.

    Captura de pantalla del cuadro de diálogo Agrupar por con una columna no agregada.

Una vez completada la operación, observe cómo la columna Productos tiene valores de [Table] dentro de cada celda. Cada valor de [Table] contiene todas las filas agrupadas por las columnas de País y Canal de ventas de la tabla original. Puede seleccionar el espacio en blanco que hay dentro de la celda para obtener una vista previa del contenido de la tabla en la parte inferior del cuadro de diálogo.

Captura de pantalla de la vista previa de detalles de la tabla.

Nota

Puede que el panel de vista previa de detalles no muestre todas las filas que se usaron para la operación de agrupar por. Puede seleccionar el valor [Table] para ver todas las filas relativas a la operación de agrupación por correspondiente.

A continuación, debe extraer la fila que tiene el valor más alto en la columna Unidades de las tablas dentro de la nueva columna Productos y llamar a esa nueva columna Producto de mayor rendimiento.

Extracción de la información del producto de mayor rendimiento

Con la nueva columna Productos con valores de [Table], cree una nueva columna personalizada; para ello, vaya a la pestaña Agregar columna de la cinta de opciones y seleccione Columna personalizada en el grupo General.

Captura de pantalla de la cinta de Power Query con la opción Columna personalizada resaltada en la pestaña Agregar columna.

Asigne a la nueva columna el nombre de Producto de mayor rendimiento. Escriba la fórmula Table.Max([Products], "Units" ) en Fórmula de columna personalizada.

Captura de pantalla del cuadro de diálogo Columna personalizada con la fórmula de Table.Max escrita.

El resultado de esa fórmula crea una nueva columna con valores de [Record]. Estos valores de registro son básicamente una tabla con una sola fila. Estos registros contienen la fila con el valor máximo de la columna Unidades de cada valor de [Table] de la columna Productos.

Captura de pantalla del resultado de la fórmula de columna personalizada con Table.Max.

Con esta nueva columna de Producto de mayor rendimiento que contiene valores de [Record], puede seleccionar el icono de expandir , seleccionar los campos de Producto y Unidades y, a continuación, seleccionar Aceptar.

Captura de pantalla de la operación de expansión para el valor de registro en la columna Producto de mejor rendimiento.

Después de quitar la columna Productos y establecer el tipo de datos para las dos columnas recién expandidas, el resultado será similar a la siguiente imagen.

Captura de pantalla de la tabla final con todas las transformaciones.

Agrupación aproximada

Nota

La función siguiente solo está disponible en Power Query Online.

Para mostrar cómo realizar la agrupación aproximada, considere la tabla de ejemplo que se muestra en la imagen siguiente.

Captura de pantalla de la tabla con nueve filas de entradas que contienen varias ortografías y uso de mayúsculas y minúsculas del nombre Miguel y William.

El objetivo de la agrupación aproximada es realizar una operación de agrupar por que usa un algoritmo de coincidencia aproximada para las cadenas de texto. Power Query usa el algoritmo de similitud Jaccard para medir la similitud entre pares de instancias. A continuación, aplica la agrupación en clústeres jerárquicos agregados para agrupar instancias. En la imagen siguiente se muestra la salida esperada, donde la tabla se agrupa mediante la columna Persona.

Captura de pantalla de una tabla que muestra las entradas de Persona como Miguel y Mike, y Frecuencia como 3 y 2, respectivamente.

Para realizar la agrupación aproximada, realice los mismos pasos descritos anteriormente en este artículo. La única diferencia es que esta vez, en el cuadro de diálogo Agrupar por, debe activar la casilla Usar agrupación aproximada.

Captura de pantalla de la casilla Agrupación aproximada del resaltada en el cuadro de diálogo Agrupar por.

Para cada grupo de filas, Power Query elige la instancia más frecuente como la instancia "canónica". Si se producen varias instancias con la misma frecuencia, Power Query seleccione la primera. Después de seleccionar Aceptar en el cuadro de diálogo Agrupar por, obtendrá el resultado que esperaba.

Captura de pantalla de la tabla final de ejemplo de Agrupación aproximada, sin tabla de transformación.

Sin embargo, puede elegir otras opciones para la operación de agrupación aproximada expandiendo las Opciones de agrupación aproximada.

Captura de pantalla del cuadro de diálogo Agrupar por con las opciones de Agrupación aproximada resaltadas.

A continuación se indican las opciones disponibles para la agrupación aproximada:

  • Umbral de similitud (opcional): esta opción indica lo similares que deben ser dos valores para agruparlos. El valor mínimo de cero (0) hace que todos los valores se agrupen. La configuración máxima de 1 solo permite agrupar valores que coincidan exactamente. El valor predeterminado es 0,8.
  • Ignorar mayúsculas y minúsculas: al comparar cadenas de texto, se ignoran las mayúsculas y minúsculas. Esta opción está habilitada de forma predeterminada.
  • Agrupar combinando partes del texto: El algoritmo intenta combinar partes del texto (como combinar Micro y soft en Microsoft) para agrupar valores.
  • Mostrar puntuaciones de similitud: muestra puntuaciones de similitud entre los valores de entrada y los valores representativos calculados después de la agrupación aproximada. Requiere la adición de una operación como Todas las filas para mostrar esta información en un nivel de fila a fila.
  • Tabla de transformación (opcional): Puede seleccionar una tabla de transformación que asigne valores (como asignar MSFT a Microsoft) para agruparlos.

En este ejemplo, se usa una tabla de transformación para mostrar cómo se pueden asignar los valores. La tabla de transformación tiene dos columnas:

  • De: cadena de texto que se va a buscar en la tabla.
  • A: la cadena de texto que se va a usar para reemplazar la cadena de texto en la columna De.

En la imagen siguiente se muestra la tabla de transformación usada en este ejemplo.

Captura de pantalla de la tabla en la que se muestran valores De de mike y William y los valores A de Miguel y Bill.

Importante

Es importante que la tabla de transformación tenga las mismas columnas y nombres de columna que se muestran en la imagen anterior (tienen que etiquetarse como "De" y "A"). De lo contrario, Power Query no reconoce la tabla como una tabla de transformación.

Vuelva al cuadro de diálogo Agrupar por, expanda Opciones de agrupación aproximada, cambie la operación de Contar filas a Todas las filas, habilite la opción Mostrar puntuaciones de similitud y, a continuación, seleccione el menú desplegable Tabla de transformación.

Captura de pantalla del menú desplegable de tabla de transformación de ejemplo de agrupación aproximada.

Después de seleccionar la tabla de transformación, seleccione Aceptar. El resultado de esa operación proporciona la siguiente información:

Captura de pantalla de la tabla final de ejemplo de agrupación aproximada con la tabla de transformación.

En este ejemplo, se ha habilitado la opción Omitir mayúsculas y minúsculas, por lo que los valores de la columna De de la tabla Transformación se usan para buscar la cadena de texto sin tener en cuenta las mayúsculas y minúsculas de la cadena. Esta operación de transformación se produce primero y, a continuación, se realiza la operación de agrupación aproximada.

La puntuación de similitud también se muestra en el valor de la tabla junto a la columna Persona, que refleja exactamente cómo se agruparon los valores y sus respectivas puntuaciones de similitud. Puede expandir esta columna si es necesario o usar los valores de las nuevas columnas de Frecuencia para otros tipos de transformaciones.

Nota

Al agrupar por varias columnas, la tabla de transformación realiza la operación de reemplazo en todas las columnas si al reemplazar el valor aumenta la puntuación de similitud.

Para obtener más información sobre cómo funcionan las tablas de transformación, vaya a Prescripciones de tabla de transformación.

Consulte también

Adición de una columna personalizada
Eliminación de duplicados