> For the complete documentation index, see [llms.txt](https://docs.gaiodataos.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gaiodataos.com/gaio-dataos-spanish/herramientas/tareas/etl/despivotar-tabla.md).

# Despivotar tabla

<figure><img src="/files/nFK6VFPF8db2nnVeU9kV" alt=""><figcaption></figcaption></figure>

La tarea **Unpivot Table** en Gaio DataOS permite transformar una tabla en formato ancho (con múltiples columnas representando categorías o fechas) en una tabla en formato largo (donde los valores se apilan en filas). Es especialmente útil para series de tiempo, reportes mensuales y dashboards que requieren filtrado dinámico.

{% hint style="warning" %}
Esta tarea solo puede utilizarse cuando una tabla está seleccionada en el flujo.
{% endhint %}

***

### Cómo usar

#### 1. Abrir la tarea Unpivot Table

Ve al menú: **Tasks > ETL > Unpivot Table**

***

#### 2. Configurar la información de la tarea

* **Task label:** (opcional) Nombre para identificar este paso en el flujo.
* **Result table:** Nombre de la nueva tabla que contendrá los datos despivotados (ej.: `unpivot_table`).

***

#### 3. Seleccionar columnas a despivotar

* **Unpivot columns:** Selecciona las columnas cuyos valores serán transformados en filas (ej.: `January`, `February`, etc.).

Estas columnas se convertirán en valores dentro de un nuevo campo **category**, y sus valores correspondientes pasarán a una única columna llamada **quantity**.

***

#### 4. Ordenar valores (opcional)

* **Sort values:** Selecciona **Ascending** (ascendente) o **Descending** (descendente) si deseas controlar el orden de las filas generadas según la categoría.

***

#### 5. Agregar columnas adicionales (opcional)

* **Extra columns:** Selecciona columnas que deben mantenerse sin cambios y repetirse en la tabla resultante (ej.: `Region`, `Product`, `Tipo`).
* **Position of extra columns:** Define si aparecerán:
  * **At start** (al inicio)
  * **At end** (al final)

***

#### 6. Guardar y ejecutar

* Haz clic en **Save** para guardar la tarea en el flujo.
* Haz clic en **Run** para ejecutarla.

***

### Buenas prácticas

* Usa campos numéricos claros (ej.: valor, cantidad) como columna de valores para evitar confusión en la nueva columna `quantity`.
* Asegúrate de que los nombres de columnas sean correctos (por ejemplo, corrige errores tipográficos antes de ejecutar).
* Siempre revisa la vista previa del resultado para validar que las relaciones originales se mantengan correctamente.

***

### Casos de uso

* Convertir columnas mensuales de ventas en una serie de tiempo.
* Normalizar respuestas de encuestas o datos provenientes de hojas de cálculo.
* Simplificar estructuras para dashboards con filtros dinámicos.
* Preparar datasets en formato ancho para modelos analíticos.

***

### Ejemplo de salida

<figure><img src="/files/swZJXxhbE5wlZsfS56Ld" alt="" width="563"><figcaption></figcaption></figure>

Dada la configuración mostrada en la imagen, la tabla resultante incluirá:

| Tipo       | category | quantity    |
| ---------- | -------- | ----------- |
| Pay        | December | 313088.1023 |
| Pay        | January  | 0           |
| Pay        | February | 0           |
| ...        | ...      | ...         |
| to receive | October  | 268242.7913 |
| to receive | November | 293688.738  |

Donde:

* **Tipo** se mantiene como columna adicional.
* **category** fue generada a partir de las columnas de meses seleccionadas.
* **quantity** contiene los valores originales.
