Excel, Power Query und Qracle DB
Hallo zusammen,
Folgende Problemstellung:
Ich bin ziemlicher Newbe bei Power Query.
Nun zu meinem daraus resultierenden Problem. ;)
Ich habe eine Exceltabelle, in der ich den Füllstand bestimmter Tabellen in einer Oracle-DB dokumentiere.
Zurzeit tue ich das zu Fuß, indem ich die Ergebnisse meiner Abfragen aus dem SQL Developer manuell eintrage.
Die Parameter der Abfrage variieren mit Inhalt der Exceltabelle.
Als Ergebnis habe ich dann
Datengrundlage:
- Ora-Tabellenname (Eine Spalte in einer Exceltablle)
- LOAD_NR (Eine Zelle in einer Exeltabelle=n)
Nach erfolgreicher Verbindung zum gewünschten DB-Schema habe ich es bereits geschafft, mir die ersten Anfragen für Power Query anzupassen,
wobei ich schon festgestellt habe, dass die Syntax aus dem SQL Developer hier nicht 100%ig anzuwenden ist.
Nun möchte ich aber nicht jedesmal die Abfrage neu bauen, wenn sich die LOAD_NR ändert oder ein Ora-Tabellenname hinzukommt.
Ich meinem jugendlichen Leichtsinn habe ich mir das so vorgestellt:
In der Zelle LOAD_NR, in meiner Excel wähle ich einen Wert aus,
mit welchem dann für jeden Ora-Tabellennamen eine Abfrage ausgeführt wird und am Ende das oben skizzierte Ergebnis herauskommt.
Für sachdienliche Hinweise wäre ich sehr dankbar! ;)
Viele Grüße
Folgende Problemstellung:
Ich bin ziemlicher Newbe bei Power Query.
Nun zu meinem daraus resultierenden Problem. ;)
Ich habe eine Exceltabelle, in der ich den Füllstand bestimmter Tabellen in einer Oracle-DB dokumentiere.
Zurzeit tue ich das zu Fuß, indem ich die Ergebnisse meiner Abfragen aus dem SQL Developer manuell eintrage.
Die Parameter der Abfrage variieren mit Inhalt der Exceltabelle.
Als Ergebnis habe ich dann
Ora-Tabellenname | Anzahl Einträge mit LOAD_NR=n |
---|---|
ADRESSE | 50261 |
BANKVERBINDUNG | 9673 |
ect. | ect. |
Datengrundlage:
- Ora-Tabellenname (Eine Spalte in einer Exceltablle)
- LOAD_NR (Eine Zelle in einer Exeltabelle=n)
Nach erfolgreicher Verbindung zum gewünschten DB-Schema habe ich es bereits geschafft, mir die ersten Anfragen für Power Query anzupassen,
wobei ich schon festgestellt habe, dass die Syntax aus dem SQL Developer hier nicht 100%ig anzuwenden ist.
select 'ADRESSE', count(*) from SCHEMA.ADRESSE where LOAD_NR=2926 UNION
select 'BANKVERBINDUNG', count(*) from SCHEMA.BANKVERBINDUNG where LOAD_NR=2926
Nun möchte ich aber nicht jedesmal die Abfrage neu bauen, wenn sich die LOAD_NR ändert oder ein Ora-Tabellenname hinzukommt.
Ich meinem jugendlichen Leichtsinn habe ich mir das so vorgestellt:
In der Zelle LOAD_NR, in meiner Excel wähle ich einen Wert aus,
mit welchem dann für jeden Ora-Tabellennamen eine Abfrage ausgeführt wird und am Ende das oben skizzierte Ergebnis herauskommt.
Für sachdienliche Hinweise wäre ich sehr dankbar! ;)
Viele Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 494564
Url: https://administrator.de/contentid/494564
Ausgedruckt am: 25.11.2024 um 13:11 Uhr
7 Kommentare
Neuester Kommentar
Zitat von @n0cturne:
Ich habe eine Exceltabelle, in der ich den Füllstand bestimmter Tabellen in einer Oracle-DB dokumentiere.
Ich habe eine Exceltabelle, in der ich den Füllstand bestimmter Tabellen in einer Oracle-DB dokumentiere.
Wozu braucht man das, und warum nutzt man dann nicht die Kataloge?
Dann käme als SQL vielleicht auch sowas in Frage:
SELECT LOAD_NR,
count(DISTINCT ADRESSE.ID) AS Anzahl_Adresse,
count(DISTINCT BANKVERBINDUNG.ID) AS Anzahl_Bankverbindung
FROM SCHEMA.ADRESSE
FULL OUTER JOIN SCHEMA.BANKVERBINDUNG
ON ADRESSE.LOAD_NR = BANKVERBINDUNG.LOAD_NR
GROUP BY LOAD_NR
ORDER BY LOAD_NR
Also fragt ihr nicht jedes mal alle LOAD_NR ab sondern macht nur Stichproben? Man könnte ja noch
WHERE LOAD_NR IN ( 2926,714 )
definieren. Wenn es einen Index auf LOAD_NR gibt müsste das performant laufen.
Aber Excel kann das WHERE natürlich schlecht bestücken. Da müsste man entweder das Query anpassen oder es gibt in Excel Möglichkeiten Werte aus Zellen in das WHERE einzubauen.
WHERE LOAD_NR IN ( 2926,714 )
definieren. Wenn es einen Index auf LOAD_NR gibt müsste das performant laufen.
Aber Excel kann das WHERE natürlich schlecht bestücken. Da müsste man entweder das Query anpassen oder es gibt in Excel Möglichkeiten Werte aus Zellen in das WHERE einzubauen.