ms-access - verticales - invertir columna excel
Transponer un conjunto de valores en filas a columnas en Access 2010 (1)
Qué tal si:
TRANSFORM SUM(q.testval) AS sumoftestval
SELECT q.id,
q.test
FROM (SELECT t2.id,
t2.testdate,
"test1" AS Test,
t2.test1 AS TestVal
FROM t2
UNION ALL
SELECT t2.id,
t2.testdate,
"test2" AS Test,
t2.test2 AS TestVal
FROM t2
UNION ALL
SELECT t2.id,
t2.testdate,
"test3" AS Test,
t2.test3 AS TestVal
FROM t2) AS q
GROUP BY q.id,
q.test
PIVOT q.testdate;
Seleccione una ID
TRANSFORM Sum(q.testval) AS sumoftestval
SELECT q.test
FROM (SELECT t2.id,
t2.testdate,
"test1" AS Test,
t2.test1 AS TestVal
FROM t2
UNION ALL
SELECT t2.id,
t2.testdate,
"test2" AS Test,
t2.test2 AS TestVal
FROM t2
UNION ALL
SELECT t2.id,
t2.testdate,
"test3" AS Test,
t2.test3 AS TestVal
FROM t2) AS q
WHERE q.id=1
GROUP BY q.test
PIVOT q.testdate;
Tengo una base de datos de Access que se ve así:
ID | TestDate | Test1 | Test2 | Test 3 |
1 | Date1 | 10 | 20 | 25 |
1 | Date2 | 8 | 21 | 23 |
1 | Date3 | 9 | 18 | 23 |
2 | Date1 | 13 | 19 | 22 |
Quería transponer los datos de la fila a columnas y mantener el nombre de los encabezados de las columnas anteriores, así:
ID = 1
| Date1 | Date2 | Date3 | etc...
Test1 | 10 | 8 | 3 |
Test2 | 20 | 21 | 18 |
Test3 | 25 | 23 | 23 |
ID = 2
| Date1 |
Test1 | 13 |
Test2 | 19 |
Test3 | 22 |
*The Date1 in the different IDs need not be the same. Date1 is the date the ID
had the Test for the first time.
De esta forma, será más fácil controlar la tendencia de los valores de prueba. Intenté buscar, pero las consultas con las que tropiezo agregan valores. Solo necesito transponer los datos sin tener que copiar y pegar en Excel. Cualquier consulta de MS Access o código de VBA es muy apreciada. Gracias.