Leer en inglés

Compartir a través de


Columnas dinámicas

En Power Query, puede crear una tabla que contenga un valor agregado para cada valor único de una columna. Power Query agrupa cada valor único, realiza un cálculo agregado para cada valor y dinamiza la columna en una nueva tabla.

Diagrama de columnas dinámicas.

Diagrama que muestra una tabla a la izquierda con una columna y filas en blanco. Una columna Atributos contiene nueve filas con A1, A2 y A3 repetidos tres veces. Una columna Valores contiene, de arriba a abajo, valores V1 a V9. Con las columnas dinamizadas, una tabla a la derecha contiene una columna y filas en blanco, los valores de Atributos A1, A2 y A3 como encabezados de columna, con la columna A1 que contiene los valores V1, V4 y V7, la columna A2 que contiene los valores V2, V5 y V8, y la columna A3 que contiene los valores V3, V6 y V9.

Imagine una tabla como la de la imagen siguiente.

Tabla original de columna dinámica.

Tabla que contiene un conjunto de columnas País con el tipo de datos Texto, una columna Fecha establecida con el tipo de datos Datos y una columna Valor establecida con el tipo de datos Número entero. La columna País contiene EE. UU. en las tres primeras filas, Canadá en las tres filas siguientes y Panamá en las últimas tres filas. La columna Fecha contiene una fecha en las filas primera, cuarta y séptima, una segunda fecha en las filas segunda, quinta y octava, y una tercera fecha en las filas tercera, sexta y novena.

Esta tabla contiene valores por país y fecha en una tabla simple. En este ejemplo, desea transformar esta tabla en la que se dinamiza la columna de fecha, como se muestra en la siguiente imagen.

Tabla final de columna dinámica.

Tabla que contiene un conjunto de columnas País establecida en el tipo de datos Texto, y una primera, segunda y tercera columnas de fecha establecidas en el tipo de datos Número entero. La columna País contiene Canadá en la fila 1, Panamá en la fila 2 y EE. UU. en la fila 3.

Nota

Durante la operación de columnas dinámicas, Power Query ordena la tabla en función de los valores encontrados en la primera columna (en el lado izquierdo de la tabla) en orden ascendente.

Para dinamizar una columna

  1. Seleccione la columna que quiere dinamizar. En este ejemplo, seleccione la columna Fecha.

  2. En la pestaña Transformar en el grupo Cualquier columna, seleccione Dinamizar columna.

    Captura de pantalla de la pestaña Transformar seleccionada, la columna Fecha de la tabla seleccionada y la opción Columna dinámica resaltada.

  3. En el cuadro de diálogo Dinamizar columna, en la lista de la columna Valor, seleccione Valor.

    Captura de pantalla del cuadro de diálogo de columna dinámica con la opción Básica seleccionada y el conjunto de columnas Valor establecido en Valor.

    De forma predeterminada, Power Query intenta realizar una suma como agregación, pero puede seleccionar la opción Avanzadas para ver otras agregaciones disponibles.

    Captura de pantalla del cuadro de diálogo Columnas dinámicas con opciones avanzadas seleccionadas y la lista desplegable de la función de valor Agregado mostrada.

Las opciones disponibles son:

  • No agregar
  • Recuento (todo)
  • Recuento (no en blanco)
  • Mínimo
  • Máxima
  • Valor medio
  • Suma
  • Media

Dinamización de columnas que no se pueden agregar

Puede dinamizar columnas sin agregarlas cuando trabaje con columnas que no puedan agregarse o cuando la agregación no sea necesaria para lo que está intentando hacer. Por ejemplo, imagine una tabla como la siguiente imagen, que tiene los campos de País, Posición y Producto.

Columna dinámica sin agregación.

Tabla con la columna País que contiene EE. UU. en las tres primeras filas, Canadá en las tres filas siguientes y Panamá en las últimas tres filas. La columna Posición contiene Primera en la primera, cuarta y séptima fila, Segunda en la segunda, quinta y octava fila, y Tercera en la tercera, sexta y novena filas.

Supongamos que quiere dinamizar la columna Posición de esta tabla para que pueda tener sus valores como columnas nuevas. Para los valores de estas nuevas columnas, use los valores de la columna Producto. Seleccione la columna Posición y, a continuación, seleccione Dinamizar columna para dinamizar esa columna.

Captura de pantalla de la tabla con la columna Posiciones seleccionada y el comando Columnas dinámicas resaltado en la pestaña Transformar.

En el cuadro de diálogo Dinamizar columna, seleccione la columna Producto como columna de valor. Seleccione el botón de opción Avanzadas en el cuadro de diálogo Dinamizar columnas y, a continuación, seleccione No agregar.

Captura de pantalla del cuadro de diálogo de columna dinámica con la función de valor agregado establecida en No agregar.

El resultado de esta operación produce el resultado que se muestra en la siguiente imagen.

Resultados de columnas dinámicas de No agregar.

Tabla que contiene las columnas País, Primera, Segunda y Tercera, con la columna País que contiene Canadá en la fila 1, Panamá en la fila 2 y EE. UU. en la fila 3.

Errores al usar la opción No agregar

La forma en que funciona la opción No agregar es que toma un único valor para la operación de dinamización que se va a colocar como valor para la intersección de la columna y el par de filas. Por ejemplo, supongamos que tiene una tabla como la de la siguiente imagen.

Tabla inicial de ejemplo de error No agregar de la columna dinámica.

Tabla con las columnas País, Fecha y Valor. La columna País contiene EE. UU. en las tres primeras filas, Canadá en las tres filas siguientes y Panamá en las últimas tres filas. La columna Fecha contiene una fecha única en todas las filas. La columna de valor contiene varios números enteros entre 20 y 785.

Quiere dinamizar esa tabla mediante la columna Fecha y desea usar los valores de la columna Valor. Dado que esta tabla dinámica hace que la tabla tenga solo los valores de País en las filas y Fechas como columnas, obtiene un error para cada valor de celda individual porque hay varias filas para cada combinación de País y Fecha. El resultado de esta operación de Dinamizar columna produce los resultados que se muestran en la imagen siguiente.

Tabla final de ejemplo de error No agregar de la columna dinámica.

Observe el mensaje de error "Expression.Error: Había demasiados elementos en la enumeración para completar la operación". Este error se produce porque la operación No agregar solo espera un valor único para la combinación de país y fecha.