Tabla dinámica de SQL dinámica
He intentado tanto entender cómo crear una tabla dinámica en SQL, ¡pero no puedo administrarla!
Tengo las siguientes columnas:
link_id route_section date_1 StartHour AvJT data_source
....... ............. ....... ........... ...... ............
Con 600,000 filas de datos.
Los necesito en la siguiente tabla dinámica;
date_1
StartHour como encabezados de columnalink_id
como el encabezado de la filaAvJT
como los datoscondata_source
= '1' como filtro.TABLA DINÁMICA
Link_ID
date_1 StartHour 00001a 000002a 000003a 000004a
20/01/2014 8 456 4657 556 46576
21/01/2014 8 511 4725 601 52154
22/01/2014 8 468 4587 458 47585
23/01/2014 8 456 4657 556 46576
24/01/2014 8 456 4657 556 46576
25/01/2014 8 456 4657 556 46576
26/01/2014 8 456 4657 556 46576
Logré obtener el siguiente código, esto funciona pero solo me da date_1 como encabezado de columna y no StartHour adicionalmente, o con el filtro como date_source = '1'.
Use [C1_20132014]
DECLARE @DynamicPivotQuery AS NVARCHAR(MAX)
DECLARE @ColumnName AS NVARCHAR(MAX)
--Get distinct values of the PIVOT Column
SELECT @ColumnName= ISNULL(@ColumnName + ',','')
+ QUOTENAME(Link_ID)
FROM (SELECT DISTINCT Link_ID FROM C1_May_Routes) AS Link_ID
--Prepare the PIVOT query using the dynamic
SET @DynamicPivotQuery =
N'SELECT Date_1, ' + @ColumnName + '
FROM C1_May_Routes
PIVOT(SUM(AvJT)
FOR Link_ID IN (' + @ColumnName + ')) AS PVTTable'
--Execute the Dynamic Pivot Query
EXEC sp_executesql @DynamicPivotQuery
Gracias por cualquier ayuda,
Enrique