Hallo,
Vereinfacht habe ich eine Oracle-Tabelle (nennen wir sie X) auf einem Server. Auf diese wird mittels ODBC von Access und Excel aus zugegriffen.
Die Tabelle sieht wie folgt aus:
Tabelle X:
Also am Tag a habe ich 4 Instrumente mit einem jeweiligen individuellen Wert (genauso am Tag b, usw...)
Die originale Tabelle ist natürlich viel größer und mit folgender ABfrage kann ich mir in Excel problemlos ein Teilergebnis herausholen:
[highlight=sql]SELECT X.DATE, X.INSTR, X.VALUE
FROM X
WHERE ((X.Date >= datumsparameter) AND X.INSTR in (1,2))
ORDER BY X.DATE[/highlight]
Ergebnis:
Im Prinzip ein Auszug der obigen Tabelle nun gefiltert für Instrument 1 und 2, nur das alles in einer Wurscht aufgelistet wird. Also ich für jeden Tage mehrere Zeilen benötige.
Was ich möchte, ist dass das Ergebnis nach Tagen gruppiert (Zeilen) wird und jeweils eine Spalte pro Instrument verwendert wird - also dann in etwa so aussieht:
Wie muss ein solche Abfrage in Excel-VBA aussehen?
In Access ist so eine Abfrage leicht erstellt:
[highlight=SQL]TRANSFORM Last(X.VALUE) AS LetzterWertvonVALUE
SELECT X.DATE
FROM X
WHERE ((X.DATE >= datumsparameter) AND (X.INSTR in (1,2))
GROUP BY X.DATE
ORDER BY X.DATE
PIVOT X.INSTR[/highlight]
Im Normalfall kann man ja die Access-Abfragen 1:1 in Excel übernehmen, aber scheinbar kann Excel mit dem TRANSFORM...PIVOT Befehl nicht umgehen, oder besser gesagt kenne ich mich damit zuwenig aus
Wer kann mir da weiterhelfen?
Vereinfacht habe ich eine Oracle-Tabelle (nennen wir sie X) auf einem Server. Auf diese wird mittels ODBC von Access und Excel aus zugegriffen.
Die Tabelle sieht wie folgt aus:
Tabelle X:
Code:
DATE|INSTR|VALUE ---------------- a |1 |a1 a |2 |a2 a |3 |a3 a |4 |a4 b |1 |b1 b |2 |b2 b |3 |b3 b |4 |b4
Die originale Tabelle ist natürlich viel größer und mit folgender ABfrage kann ich mir in Excel problemlos ein Teilergebnis herausholen:
[highlight=sql]SELECT X.DATE, X.INSTR, X.VALUE
FROM X
WHERE ((X.Date >= datumsparameter) AND X.INSTR in (1,2))
ORDER BY X.DATE[/highlight]
Ergebnis:
Im Prinzip ein Auszug der obigen Tabelle nun gefiltert für Instrument 1 und 2, nur das alles in einer Wurscht aufgelistet wird. Also ich für jeden Tage mehrere Zeilen benötige.
Was ich möchte, ist dass das Ergebnis nach Tagen gruppiert (Zeilen) wird und jeweils eine Spalte pro Instrument verwendert wird - also dann in etwa so aussieht:
Code:
DATE|1 |2 --------------- a |a1 |a2 b |b1 |b2
In Access ist so eine Abfrage leicht erstellt:
[highlight=SQL]TRANSFORM Last(X.VALUE) AS LetzterWertvonVALUE
SELECT X.DATE
FROM X
WHERE ((X.DATE >= datumsparameter) AND (X.INSTR in (1,2))
GROUP BY X.DATE
ORDER BY X.DATE
PIVOT X.INSTR[/highlight]
Im Normalfall kann man ja die Access-Abfragen 1:1 in Excel übernehmen, aber scheinbar kann Excel mit dem TRANSFORM...PIVOT Befehl nicht umgehen, oder besser gesagt kenne ich mich damit zuwenig aus
Wer kann mir da weiterhelfen?
Comment