Announcement

Collapse
No announcement yet.

Tabelle Transponieren

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

  • Tabelle Transponieren

    Hallo,

    ich habe im Studium folgende Aufgabe bekommen:

    Ich soll eine Rohstoffdatenbank mit den monatlich akutellen Kursen erstellen.
    Dies habe ich soweit schon erledigt und sieht so aus

    RohstoffID RohstoffBEZ Währung Sep 12 Oct 12 Nov 12 Dez 12
    1 Benzin USc 291,27 294,02 0,00 0,00
    2 Heizöl USD 3,17 3,16 0,00 0,00
    3 Öl (WTI) USD 92,54 92,96 0,00 0,00
    4 Öl (Brent) USD 112,70 112,80 0,00 0,00
    5 Ergas USD 3,30 3,47 0,00 0,00
    6 Diesel USD 983,00 981,00 0,00 0,00
    7 Gold USD 1781,70 1783,60 0,00 0,00
    8 Silber USD 34,85 34,84 0,00 0,00
    9 Platin USD 1662,50 1678,40 0,00 0,00
    10 Palladium USD 638,30 646,40 0,00 0,00
    11 Rhodium USD 1140,00 1220,00 0,00 0,00
    12 Aluminium USD 2151,00 2144,00 0,00 0,00
    13 Kupfer USD 8265,00 8291,00 0,00 0,00
    14 Nickel USD 18701,00 18702,00 0,00 0,00
    15 Blei USD 2321,00 2280,00 0,00 0,00
    16 Zink USD 2146,00 2113,00 0,00 0,00
    17 Zinn USD 21360,00 21839,00 0,00 0,00


    Jetzt will ich aus den Inhalten der Spalte RohstoffBEZ Spalten machen.
    Habe mir die Tabelle in Excel exportiert und durch eine Pivottabelle ein Beispiel gemacht. So sollte es ungefähr aussehen:

    Spaltenbeschriftungen
    Aluminium Benzin Blei Diesel Ergas Gold Heizöl Kupfer Nickel Öl (Brent) Öl (WTI) Palladium Platin Rhodium Silber US-Dollar Zink Zinn MonatBEZ
    2151 291,27 2321 983 3,3 1781,7 3,17 8265 18701 112,7 92,54 638,3 1662,5 1140 34,85 0 2146 21360 Sep 12
    2144 294,02 2280 981 3,47 1783,6 3,16 8291 18702 112,8 92,96 646,4 1678,4 1220 34,84 1,291 2113 21839 Oct 12
    Summe von Nov 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    Summe von Dez 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


    Da ich erst ganz frisch in SQL eingestiegen bin habe ich ein wenig schwierigkeiten das anständig umzusetzen und hoffe das mir irgendwer helfen kann.

  • #2
    Vielleicht hilft Dir das weiter:
    http://msdn.microsoft.com/en-us/libr...sql.90%29.aspx
    Gruß, defo

    Comment


    • #3
      Hi,

      ich weiß jetzt nicht ob ich das richtig verstanden habe aber:

      die tabelle die ich jetzt habe ist mit rohdaten gefütter und ich möchte jetzt darauß eine Faktentabelle machen. Da mein Prof gemeint hat wir sollen Transponieren bin ich mir jetzt nicht sicher ob wir das pivoten können. Ich habe auch ein Beispiel für die Transponierung jedoch komm ich nicht damit klar das am ende auch die richtigen werde der Sep und Oct spalten in den späteren Rohstoff spalten stehen:

      INSERT INTO TEBELLE
      ([Marke]
      ,[A-PreisEUR]
      ,[A-PreisORGWAER]
      ,[B-PreisEUR]
      ,[B-PreisORGWAER]
      ,[Währung]
      ,[Jahr]
      ,[Reduzierung])



      SELECT

      Marke]
      ,[A-PreisEUR]
      ,[A-PreisORGWAER]
      ,[B-PreisEUR]
      ,[B-PreisORGWAER]
      ,[ORGWAER]
      ,CONVERT(tinyint, 2014) AS JAHR
      ,[Red%_2014] AS Reduzierung

      FROM TABELLE

      UNION ALL
      usw.

      die Prozedur geht noch ewig ist jetzt nur ein Teil davon.

      sie wiederholt sich 4 mal.
      Für 2014, 2015, 2016 und 2017
      Zuletzt editiert von bleckiii; 04.10.2012, 11:59. Reason: ausbau des beispiels

      Comment


      • #4
        Was ist jetzt die Frage?
        Gruß, defo

        Comment


        • #5
          ob das mit pivot geht? da so wie ich es verstanden habe ja transponieren en bisschen was anderes ist.

          zur ergenzung soll ich das in einer prozedur bauen.

          die rohdaten tabelle wird jeden monat zuerst geleert und dann mit den neuen daten gefüllt. durch die prozedur soll diese dann in die Faktentabelle geladen werden, bereinigt und transponiert!!!
          Zuletzt editiert von bleckiii; 04.10.2012, 11:56.

          Comment


          • #6
            Ich denke, dass eine Transformation mit den aufgeführten Befehlen auch möglich sein wird.
            Ich kenne MSSQL nicht so gut und werde mir jetzt auch nicht die Möglichkeiten in Version 2005 durchlesen. Der Link war einfach als Hinweis zu den Möglichkeiten gedacht.
            Schau einfach selbst!
            Gruß, defo

            Comment

            Working...
            X