Oracle: NULL Wert stört bei der Ausgabe in Microsoft Excel

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von DrZwockel.

    Oracle: NULL Wert stört bei der Ausgabe in Microsoft Excel

    Hallo VB-Gemeinde,

    ich habe folgendes Problem. Ich frage eine Oracle Datenbank ab und erhalte von ihr im günstigsten Fall durchgängig Werte zurück. Es kann aber auch passieren, dass es in einem oder zwei Monate keine Werte gibt, so dass keine Werte für diesen Monat kommen.

    Bei der Ausgabe stören diese Monate erheblich, da sie die Reihenfolge bei der Ausgabe in Excel extrem durcheinanderbringen. Die Datensätze haben alle einen Spaltenwert YYYYMM (also 12 Stück). In der Exceltabelle gibt es 12 Spaltennamen mit den entsprechenden YYYYMM (Bsp.: 201701, 201702 etc.) Wenn alle Spaltenwerte in dem SQL Ergebnis gefüllt sind, kann man das Ergebnis sehr gut in die Exceltabelle "ausleeren".

    Kommen aber von den 12 nur 8 Monate und diese noch willkürlich, dann stehen die Ergebnisse immer von Spalte 1 - 8, allerdings im falschen Monat.

    Wie kann es ich es erreichen, dass ich grundsätzlich 12 Werte geliefert bekomme? Solle heißen, einen Monat ohne Wert als "0".

    Meine andere Frage wäre, wie ich ein SQL-Ergebnis transponiert ausgeben kann?


    Ich hoffe, dass mir jemand helfen kann oder einen guten Tipp hat. Ich habe den halben Vormittag gegoogled und habe keine Lösungsansätze gefunden, die mir weiterhelfen konnten.

    Vielen Dank für Eure Mithilfe,


    Gruß vom Doc
    Deine Angaben sind etwas dürftig, also rate ich mal ins blaue. Du hast eine Tabelle, die mindestens 2 Spalten enthält. Eine Spalte mit dem "Datum" (Jahr/Monat) und eine mit einem Wert. Es kann für jedes "Datum" beliebig viele Datensätze geben.
    Da ich aktuell mit MySQL arbeite würde ich dort ein View folgendermaßen gestalten

    SQL-Abfrage

    1. Select Sum(If(Substr(DatumSpalte,5,2)='01',WertSpalte,0) As Monat01, Sum(If(Substr(DatumSpalte,5,2)='02',WertSpalte,0) As Monat02, ..... From DeineTabelle


    Als Ergebnis hast du dann ein View mit 12 Spalten, welches die Summe aller Werte pro Monat in der jeweiligen Spalte abbildet bzw 0 wenn es keinen Wert gibt.
    Das ist jetzt nur grob hingeschustert, keine Ahnung ob das mit einer Oracle Datenbank ähnlich funktioniert, aber es sollte zumindest als Denkansatz reichen.
    Hallo AndPot,

    vielen Dank für Deine Hilfe, derzeit habe ich das Problem über sein Select Case gelöst, was sich die Monatsspalte bezieht. Ich werde aber, wenn ich etwas Luft habe, Deinen Lösungsansatz mal ausprobieren.


    Gruß vom Doc