Agrupar o resumir 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:

  • Agregue una columna mediante una función de agregado.

  • Realice una operación de fila.

En este tutorial, va a usar la tabla de ejemplo que se muestra en la siguiente imagen.

Tabla inicial de ejemplo.

Tabla con columnas que muestran Year (2020), Country (USA, Canada), Product (Shirt or Shorts), Sales channel (Online or Reseller) y Units (varios valores de 55 a 7500) :::image-end:::

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.

    Agrupar por en la pestaña Inicio.

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

    Agrupar por en la pestaña Transformar.

  • En el menú contextual, haga clic con el botón derecho para seleccionar columnas.

    A agrupar por en el menú contextual.

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

En este ejemplo, el objetivo es resumir el total de unidades vendidas en el nivel de país y canal de ventas. Usará las columnas País y Canal de ventas para realizar el grupo por operación.

  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 las columnas País y Canal de ventas.
  4. En la sección Nuevas columnas, cree una nueva columna en la que el nombre sea Total units(Unidades totales), la operación de agregado sea Sum y la columna usada sea Units (Unidades).
  5. Presione Aceptar.

Cuadro de diálogo Agrupar por con columnas agregadas.

Esta operación proporciona la tabla que está buscando.

Tabla de salida de ejemplo con columnas agregadas.

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

En este ejemplo, quiere un total de unidades vendidas y, además, quiere otras dos columnas que le asignen el nombre y las unidades vendidas para el producto de alto rendimiento, resumidos en el nivel de país y canal de — — ventas.

El objetivo es llegar a una tabla similar a la siguiente imagen de la tabla de ejemplo original.

Tabla de salida de ejemplo con operaciones de fila.

  1. Use las columnas siguientes como Agrupar por columnas:

    • Country
    • Sales Channel
  2. Cree dos columnas nuevas haciendo lo siguiente:

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

    Cuadro de diálogo Agrupar por con una columna no agregada.

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

Panel de vista previa de detalles de tabla.

Nota

Es posible que el panel de vista previa de detalles no muestre todas las filas que se usaron para la operación group-by. Puede seleccionar el valor [ Tabla para ver todas las filas que pertenecen a la operación ] group-by 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 Products y llamar a esa nueva columna Producto de alto rendimiento.

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

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

Agregue una columna personalizada.

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

Fórmula de columna personalizada con Table.Max.

El resultado de esa fórmula crea una nueva columna con valores [ de ] Registro. 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 tabla de la ] columna Products.

Resultado de la fórmula de columna personalizada con Table.Max.

Con esta nueva columna de producto top performer que contiene valores de [ ] registro, puede seleccionar la  expansión. expanda el icono, seleccione los campos Producto y Unidades y, a continuación, seleccione Aceptar.

Expanda la operación para el valor de registro en la columna Producto de rendimiento superior.

Después de quitar la columna Products y establecer el tipo de datos para ambas columnas recién expandida, el resultado será similar a la imagen siguiente.

Tabla final con todas las transformaciones.

Agrupación aproximada

Nota

La siguiente característica solo está disponible en Power Query Online.

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

Tabla con nueve filas de entradas que contienen diversas ortografías y captilizaciones del nombre Miguel y Miguel.

El objetivo de la agrupación aproximada es realizar una operación agrupar por que use un algoritmo de coincidencia aproximado para las cadenas de texto. Power Query usa el algoritmo de similitud de Rsacard para medir la similitud entre pares de instancias. A continuación, aplica la agrupación en clústeres jerárquicos aglomerados a las instancias de grupo. En la imagen siguiente se muestra la salida que espera, donde la tabla se agrupará por la columna Person.

Tabla que muestra las entradas de Person como "Miguel" y "Mike" y Frequency 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 , active la casilla Usar agrupación aproximada.

Casilla Agrupación aproximada del cuadro de diálogo Agrupar por .

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

Tabla final de ejemplo de agrupación aproximada, sin tabla de transformación.

Sin embargo, tiene más control sobre la operación de agrupación aproximada expandiendo las opciones de grupo aproximadas.

Opciones de grupo aproximadas.

Las siguientes opciones están disponibles para la agrupación aproximada:

  • Umbral de similitud (opcional): esta opción indica cómo deben agruparse dos valores similares. El valor mínimo de 0 hará que todos los valores se a agruparán. La configuración máxima de 1 solo permitirá que los valores que coincidan exactamente se a agruparán. El valor predeterminado es 0,8.
  • Omitir mayúsculas y minúsculas: al comparar cadenas de texto, se omitirá el uso de mayúsculas y minúsculas. Esta opción está habilitada de manera predeterminada.
  • Agrupar mediante la combinación de elementos de texto: el algoritmo intentará combinar elementos de texto (como la combinación de Micro y soft en Microsoft) para agrupar valores.
  • Tabla de transformación (opcional): puede seleccionar una tabla de transformación que asignará valores (como la asignación de MSFT a Microsoft) para agruparlos.

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

  • From: cadena de texto que se buscará en la tabla.
  • Para: la cadena de texto que se usará para reemplazar la cadena de texto en la columna From.

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

Tabla en la que se muestran los valores de Mike y Miguel, y To de Miguel y Bill.

Importante

Es importante que la tabla de transformación tenga las mismas columnas y nombres de columna que se muestran anteriormente (deben ser "From" y "To"), de lo contrario, Power Query no los reconocerá.

Vuelva al cuadro de diálogo Agrupar por, expanda Opciones de grupo aproximadas y, a continuación, seleccione el menú desplegable Tabla de transformación.

Menú desplegable de la 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 le dará el resultado que se muestra en la siguiente imagen.

Tabla final de ejemplo de agrupación aproximada con 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 From de la tabla Transformation se usarán para buscar la cadena de texto sin tener en cuenta el caso 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.

Nota

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

Vea también

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