Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
En Power Query, puede agrupar valores en 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.
En este tutorial, va a usar la tabla de ejemplo siguiente.
Captura de pantalla de una tabla con columnas que muestran Año (2020), País (EE. UU., Panamá o Canadá), Producto (Camisa o Pantalones cortos), Canal de ventas (En línea o Distribuidor) 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 .
En la pestaña Transformar , en el grupo Tabla .
En el menú contextual, al hacer clic con el botón derecho para seleccionar columnas.
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. Usted utiliza las columnas País y Canal de ventas para realizar la operación de agrupamiento.
- Seleccione Agrupar por en la pestaña Inicio .
- Seleccione la opción Avanzadas para que pueda seleccionar varias columnas por las que agrupar.
- Seleccione la columna País .
- Seleccione Agregar agrupación.
- Seleccione la columna Canal de ventas .
- En Nuevo nombre de columna, escriba Total de unidades, en Operación, seleccione Suma y, en Columna, seleccione Unidades.
- Seleccione Aceptar.
Esta operación proporciona la tabla siguiente.
Operaciones disponibles
Con la característica Agrupar por , las operaciones disponibles se pueden clasificar de dos maneras:
- Operación de nivel de fila
- Operación a nivel de columna
En la tabla siguiente se describe cada una de estas operaciones.
| Nombre de operación | Categoría | Description |
|---|---|---|
| Sum | Operación de columna | Suma todos los valores de una columna. |
| promedio de | Operación con columnas | Calcula el valor medio de una columna. |
| Median | Operación de columna | Calcula la mediana de una columna. |
| Min | Operación de columna | Calcula el valor mínimo de una columna. |
| Máximo | Operación de columna | Calcula el valor máximo de una columna. |
| Percentile | Operación de columna | Calcula el percentil, utilizando un valor de entrada de 0 a 100, desde una columna. |
| Recuento de valores distintos | Operación de columna | Calcula el número de valores distintos de una columna. |
| Recuento de filas | Operación de fila | Calcula el número total de filas de un grupo determinado. |
| Recuento de 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 Count distinct values y Percentile 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 se crea una columna que contiene las unidades totales y otras dos columnas que proporcionan el nombre y las unidades vendidas para el producto de alto rendimiento, resumidos en el nivel de canal de ventas y país.
Use las columnas siguientes como Agrupar por columnas:
- País
- Canal de ventas
Cree dos columnas nuevas siguiendo estos pasos:
- Agregue la columna Unidades mediante la operación Suma . Asigne a esta columna el nombre Total de unidades.
- Agregue una nueva columna Products mediante la operación Todas las filas .
Una vez completada la operación, observe cómo la columna Products tiene [Table] valores dentro de cada celda. Cada valor [Tabla] contiene todas las filas agrupadas por las columnas Country y Sales Channel 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.
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 relativas a la operación de agrupación 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.
Extrae la información del producto de mejor rendimiento
Con la nueva columna Productos con valores [Tabla], crear una nueva columna personalizada: para ello, vaya a la pestaña Agregar Columna en la cinta de opciones y seleccione Columna personalizada en el grupo General.
Asigne un nombre al nuevo producto de mejor rendimiento de la columna. Escriba la fórmula Table.Max([Products], "Units" ) en Fórmula de columna personalizada.
El resultado de esa fórmula crea una nueva columna con valores [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 [Tabla] de la columna Products .
Con esta nueva columna de Producto destacado que contiene valores [Registro], puede seleccionar el icono de expansión
, elegir los campos Producto y Unidades, y luego seleccionar Aceptar.
Después de quitar la columna Products y establecer los tipos de datos para ambas columnas recién expandidas, el resultado es similar a la siguiente imagen.
Agrupación aproximada
Nota:
La característica siguiente 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 imagen siguiente.
El objetivo de la agrupación difusa es realizar una operación *group-by* que utiliza 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 Person .
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 .
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 elige la primera. Después de seleccionar Aceptar en el cuadro de diálogo Agrupar por , obtendrá el resultado que esperaba.
Sin embargo, tiene más control sobre la operación de agrupación difusa al expandir las opciones de agrupación difusa.
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 cero (0) hace que todos los valores se agrupe juntos. El valor máximo de 1 solo permite agrupar los valores que coinciden exactamente. El valor predeterminado es 0.8.
- Omitir mayúsculas y minúsculas: cuando se comparan cadenas de texto, se omiten mayúsculas y minúsculas. Esta opción está habilitada de forma predeterminada.
- Agrupar combinando partes de texto: el algoritmo intenta combinar partes de texto (como combinar Micro y soft en Microsoft) para agrupar valores.
- Mostrar puntuaciones de similitud: muestre 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 demostrar cómo se pueden mapear los valores. La tabla de transformación tiene dos columnas:
- From: cadena de texto que se va a buscar en la tabla.
- To: la cadena de texto que se va a 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.
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 "From" y "To"). 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 grupo aproximadas, cambie la operación de Recuento de 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 .
Después de seleccionar la tabla de transformación, seleccione Aceptar. El resultado de esa operación proporciona la siguiente informació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 de transformación se usan 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.
La puntuación de similitud también se muestra en el valor de la tabla junto a la columna person, 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 Frequency 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 el reemplazo del 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.