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 convierte la columna en una tabla nueva.

Diagrama de columnas dinámicas.

Diagrama que muestra una tabla a la izquierda con una columna y filas en blanco. Una columna Attributes 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 reorganizadas, una tabla a la derecha contiene una columna en blanco 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 la columna dinámica.

Tabla que contiene una columna País configurada con el tipo de datos Texto, una columna Fecha configurada con el tipo de datos Fecha y una columna Valor configurada 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 Date contiene una fecha en las primeras, cuartas y séptimas filas, una segunda fecha en la segunda, quinta y octava fila, y tercera fecha en la tercera, sexta y novena fila.

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

Tabla final de la columna dinámica.

Tabla que contiene un conjunto de columnas País con el tipo de datos Texto y una primera, segunda y tercera columnas de fecha establecidas con 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 pivote, 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 pivotar una columna

  1. Seleccione la columna que desea girar. En este ejemplo, seleccione la columna Fecha.

  2. En la pestaña Transformar del grupo Cualquier columna, seleccione Columna dinámica.

    Recorte 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 Columna dinámica, en la lista de Columna de valor, seleccione Valor.

    Recorte de pantalla del cuadro de diálogo Columna dinámica con Básico seleccionado y la columna Valor establecida en Valor.

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

    Recorte de pantalla del cuadro de diálogo Columnas dinámicas con Opciones avanzadas seleccionado y la lista desplegable Función de valor agregado.

Las opciones disponibles son:

  • No agregar
  • Recuento (todos)
  • Recuento (no vacío)
  • Mínimo
  • Máximo
  • Mediana
  • Suma
  • Promedio

Columnas dinámicas que no se pueden agregar

Puede dinamizar las columnas sin agregarlas cuando trabaje con columnas que no se pueden agregar, o bien la agregación no sea necesaria para lo que trata de hacer. Por ejemplo, imagine una tabla como la siguiente imagen, que tiene País, Posicióny Product como campos.

Columna dinámica sin agregación.

Tabla con 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 Primer lugar en la primera, cuarta y séptima fila, Segundo lugar en la segunda, quinta y octava fila, y Tercer lugar en la tercera, sexta y novena fila.

Imagine que quiere dinamizar la columna Posición de esta tabla para que pueda tener sus valores como nuevas columnas. Para los valores de estas nuevas columnas, se usan los valores de la columna Product. Seleccione la columna Posición y después Columna dinámica para dinamizarla.

Captura de pantalla de la tabla con la columna Posiciones seleccionada y el comando Pivot columns resaltado en la pestaña Transformar.

En el cuadro de diálogo Columna dinámica, seleccione la columna Producto como columna de valor. Seleccione el botón de opción Avanzado en el cuadro de diálogo Columnas dinámicas y, después, seleccione No agregar.

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

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

Resultado de No agregar columnas dinámicas.

Tabla que contiene columnas Country, First Place, Second Place y Third Place, con la columna Country 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

El funcionamiento de la opción No agregar es que toma un único valor para la operación dinámica que se va a colocar como valor para la intersección del par de columna y fila. Por ejemplo, supongamos que tiene una tabla como la de la siguiente imagen.

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

Tabla con columnas Country, Date y Value. 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 sola fecha en todas las filas. La columna value contiene varios números enteros entre 20 y 785.

Quiere dinamizar esa tabla mediante la columnaFecha y quiere usar los valores de la columna Valor. Dado que este pivot hace que su tabla tenga solo los valores de País en las filas y las Fechas como columnas, obtendrá un error en cada valor de celda porque hay múltiples filas para cada combinación de País y Fecha. Esta operación Columna dinámica genera los resultados que se muestran en la imagen siguiente.

Tabla final de ejemplo con el 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.