En cuanto a su pregunta "¿Por qué alguien querría convertir columnas en filas (es decir, pivotar)? ¿Qué problema soluciona?"
No se trata de "cómo se ven los datos visualmente" sino más bien "cómo se organiza y maneja". A saber:
En la mayoría de las bases de datos, las filas representan "Registros - (entidad, evento, etc.)" y columnas "Campos (atributos de esa entidad)". Por ejemplo, lo siguiente es una representación típica de DB de datos;
Person | Birth | Height |
-------------------------------
John | 1980 | 1.82 |
Smith | 1987 | 2.02 |
Eso significa; cada columna representa un atributo particular de "personas" y cuando seleccionas una columna en particular, obtienes ese atributo particular de TODAS las personas. De esta forma, una columna es una "Dimensión" y todos los valores tienen la misma unidad (tipo de datos), todas son fechas, todas son longitudes, etc.
En el modelado financiero, sin embargo, es muy conveniente representar datos al revés. Por ejemplo, una tabla típica en "Flujo mensual de efectivo" se ve así.
Item | Jan | Feb |
-----------------------------
Sales | $100 | $150 |
Tax | -$50 | -$15 |
Tenga en cuenta que este tipo de tabulación en una hoja de cálculo no se adhiere formatos de bases de datos, título de la columna son el tiempo, pero los valores de las columnas son los valores monetarios, el conflicto, no podemos hacer cálculos con este columnas.
Si Pivote esta tabla, se convierte en
Date | Sales | Tax |
------------------------------
Jan | $100 | -$50 |
Feb | $150 | -$15 |
Ahora, dimensiones de la columna (partida) y los datos dentro de ellos son consistentes. La columna de fecha tiene todas las fechas y las demás tienen todas las $ cifras. Podemos tomar una columna y hacer operaciones vectoriales con ella.
Este es un problema que el pivoteo resuelve.
Gracias! Al observar ese ejemplo, puedo ver un posible uso del pivotamiento: Supongamos que queremos agregar 3 nuevos productos Prod G, Prod H, Prod I. Al usar la forma pivotante (tabla GI) podemos agregar nuevos productos simplemente aumentando las filas en lugar de aumentar el número de columnas. Por lo tanto, no es necesario agregar nuevas columnas. Por supuesto, esto requiere más memoria. Pero, me pregunto quién querría usar el pivote y por qué? – Master