PowerBI Variable bei Abfrage gegen IBM DB2
Hallo,
ich beschäftige mich ganz neu mit PowerBI und ich hab jetzt ne Nachtschicht hinter mit mit lesen, lesen, lesen - und ich komm nicht weiter:
Es gibt einen iSeries Server (AS400 / DB2) auf dem Daten liegen.
Diese Daten kann ich über Excel VBA abgreifen:
Funktioniert einwandfrei, wobei sDat ein vom Anwender in der Tabelle eingegebener Datumswert JJMMTT ist.
Nun möchte ich dieses Excel-Sheet über PowerBI ablösen, habe eine ODBC-Verbindung zu der iSeries und kann die Tabellen abgreifen.
Was mir aber in PowerBI fehlt ist, dass die Daten erst dann abgerufen werden, wenn ich ein Datum eintippe.
Dazu würde ich gerne eine Variable in der Abfrage nutzen, aber ich komm echt nicht weiter
Sinngemäß nachfolgender Code, wobei v_Datum dann das Datum ist, was ich eintippen möchte:
declare v_Datum varchar
ich beschäftige mich ganz neu mit PowerBI und ich hab jetzt ne Nachtschicht hinter mit mit lesen, lesen, lesen - und ich komm nicht weiter:
Es gibt einen iSeries Server (AS400 / DB2) auf dem Daten liegen.
Diese Daten kann ich über Excel VBA abgreifen:
strsql = "SELECT ADKTO, ADKNAM, ADKA20, ADLND,CAST(ADKRLI AS DEC(14, 2)) KRLI, CAST(IFNULL((SELECT SUM(AKW01) FROM AKO01PF " & _
"WHERE AKFA = ADFA And AKABKZ = ADABKZ And AKKTO = ADKTO AND AKFAKT = 0), 0) AS DEC(14, 2)) SUM_AKO, CAST(IFNULL((SELECT SUM(OPBETR) + SUM(OPBTR2) FROM OFP01PF " & _
"WHERE OPFA = ADFA AND OPKLS = 'D' AND OPKTO = ADKTO AND OPSHKZ = 'S' AND OPBUDT <= '" & sDat & "' AND (OPAUKZ = ' ' OR OPAUKZ = '*' AND OPBUOP > '" & sDat & "') ), 0) " & _
"- (IFNULL((SELECT SUM(OPBETR) + SUM(OPBTR2) FROM OFP01PF WHERE OPFA = ADFA AND OPKLS = 'D' AND OPKTO = ADKTO AND OPSHKZ = 'H' AND OPBUDT <= '" & sDat & "' " & _
"AND (OPAUKZ = ' ' OR OPAUKZ = '*' AND OPBUOP > '" & sDat & "')), 0)) AS DEC(14, 2)) SUM_OFP " & _
"FROM ADR01PF WHERE ADFA = 1 And ADABKZ = 0 ORDER BY ADKTO"
Funktioniert einwandfrei, wobei sDat ein vom Anwender in der Tabelle eingegebener Datumswert JJMMTT ist.
Nun möchte ich dieses Excel-Sheet über PowerBI ablösen, habe eine ODBC-Verbindung zu der iSeries und kann die Tabellen abgreifen.
Was mir aber in PowerBI fehlt ist, dass die Daten erst dann abgerufen werden, wenn ich ein Datum eintippe.
Dazu würde ich gerne eine Variable in der Abfrage nutzen, aber ich komm echt nicht weiter
Sinngemäß nachfolgender Code, wobei v_Datum dann das Datum ist, was ich eintippen möchte:
declare v_Datum varchar
SELECT ADKTO, ADKNAM, ADKA20, ADLND,CAST(ADKRLI AS DEC(14, 2)) KRLI, CAST(IFNULL((SELECT SUM(AKW01) FROM AKO01PF
WHERE AKFA = ADFA And AKABKZ = ADABKZ And AKKTO = ADKTO AND AKFAKT = 0), 0) AS DEC(14, 2)) SUM_AKO, CAST(IFNULL((SELECT SUM(OPBETR) + SUM(OPBTR2) FROM OFP01PF
WHERE OPFA = ADFA AND OPKLS = 'D' AND OPKTO = ADKTO AND OPSHKZ = 'S' AND OPBUDT <= v_Datum AND (OPAUKZ = ' ' OR OPAUKZ = '*' AND OPBUOP > v_Datum) ), 0) - (IFNULL((SELECT SUM(OPBETR) + SUM(OPBTR2) FROM OFP01PF
WHERE OPFA = ADFA AND OPKLS = 'D' AND OPKTO = ADKTO AND OPSHKZ = 'H' AND OPBUDT <= v_Datum
AND (OPAUKZ = ' ' OR OPAUKZ = '*' AND OPBUOP > Datum)), 0)) AS DEC(14, 2)) SUM_OFP
FROM ADR01PF WHERE ADFA = 1 And ADABKZ = 0 ORDER BY ADKTO
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 652462
Url: https://administrator.de/contentid/652462
Ausgedruckt am: 25.11.2024 um 10:11 Uhr