Announcement

Collapse
No announcement yet.

Kreuztabelle / Transponieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Kreuztabelle / Transponieren

    Frage SQL Problem:

    Guten Tag,

    ich würde gerne wissen, ob man durch Funktionen wie "crosstab" oder andere Methoden in der Lage ist, von einer solchen Tabellenstruktur:

    id 1970 1971 1972 ...
    1 a b c ...
    2 d e f ...
    ... ... ... ... ...
    auf folgende Tabellenstruktur zu kommen:

    id jahr wert
    1 1970 a
    1 1971 b
    1 1972 c
    1 ... ...
    2 1970 d
    2 1971 e
    2 1972 f
    2 ... ...
    Ich habe schon viel ausprobiert, komme aber nicht annähernd zu dem passenden Ergebnis. Jetzt würde ich halt gerne wissen, ob diese Verfahrensweise überhaupt möglich ist. Ich wäre für jede Hilfe dankbar!

    Vielen Dank im Voraus,
    D. Stroeer

  • #2
    Was Du suchst nennt sich UNPIVOT, gibt es z.B. in Oracle und MSSQL.
    Wenn es statisch sein darf ginge auch:

    [HIGHLIGHT=SQL]Select Distinct ID, '1972' as jahr, 1972 as wert from OrigTable
    union all
    Select Distinct ID, '1973' as jahr, 1973 as wert from OrigTable
    union all
    usw usw
    [/HIGHLIGHT]

    Dabei auf die Spalten"adressierung" achten, mit '1972' in Hochkomma wird ein konstanter Wert mit dem Alias Jahr generiert, danach der Wert der Spalte 1972 ausgelesen. Schreibweise kommt es vielleicht etwas auf den SQL Dialekt an.
    Gruß, defo

    Comment


    • #3
      Originally posted by defo View Post
      Was Du suchst nennt sich UNPIVOT, gibt es z.B. in Oracle und MSSQL.
      WOW. Also ich häte jetzt gesagt sowas gibt es gar nicht da man i.d.R. die Zielstruktur als Ursprungsstruktur hat und dan per PIVOT die Daten transformiert.

      Wieder was gelernt.

      Comment


      • #4
        Ich vermute mal ganz stark, das ist auch beim TE im Grunde der Fall.
        Aber was bleibt einem übrig, wenn man ein System vorfindet, wo Daten (nur in) dieser Form abgelegt sind?

        Denkbar bspw, dass solche Pivotdaten als Endergebnis eines "mühseligen" Aggregationsprozess entstehen- im DWH, für eine Weiterverarbeitung taugen sie nur bedingt, also transformiert man sie wieder etwas zurück.
        Gruß, defo

        Comment


        • #5
          Coole Sache, funktioniert ausgezeichnet!
          Danke vielmals :-)

          Comment

          Working...
          X