2012-07-24 16 views

Respuesta

7

Normalmente, se debe a que el diseño funciona mejor en un informe o en la interfaz de usuario después de pivotar.

Los datos en una base de datos normalizada pueden dar como resultado datos en la "forma" de múltiples registros, donde la interfaz de usuario desea ver esos registros como campos. La normalización de datos es excelente, pero cuando se trata de representar datos en un formato conciso y natural, a menudo es necesario pivotar.

example here.

De acuerdo, el ejemplo al que me he vinculado es Excel, no es una verdadera base de datos, pero las imágenes describen un ejemplo de donde los datos pivotados parecen más naturales, y el concepto es el mismo.

+0

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

2

¿Qué tal esto como un ejemplo?

How to PIVOT Data Using T-SQL

Una expectativa común en la extracción de datos es la capacidad de transformar la salida de varias filas en varias columnas en una sola fila. SQL El servidor 2005/2008 proporciona la capacidad de hacer esto con el operador PIVOT en una consulta.

EDITAR

Digamos que tiene una tabla que almacena las ventas por cliente por fecha

Algo así como

Table 
- SaleDate 
- CustomerID 
- SaleAmount 

Usando PIVOT se puede visualizar una cuadrícula que totaliza ventas por cliente por mes/trimestre/año

|Client A|Client B|Client C 
-------------------------------- 
2007| 100 | 0  | 150 
2008| 0  | 200 | 160 
2009| 110 | 180 | 100 

Esto sería solo para propósitos de resumen.

+0

De hecho, esa es la definición de pivoting. ¿Por qué alguien querría convertir las columnas en filas? Cuál es el propósito ? – Master

3

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.

+0

"cada fila representa un atributo particular de" personas "y cuando selecciona una fila en particular, obtiene ese atributo particular de TODAS las personas" - Creo que realmente quiso decir "cada columna" y "columna particular" ... se tomó la libertad de cambiar la redacción. De lo contrario, un muy buen ejemplo, de hecho, ¡gracias! –

Cuestiones relacionadas