Overblog Folge diesem Blog
Edit post Administration Create my blog
Blog von Olaf Helper

PIVOT Funktion anhand Beispiel Sage Office Line - Kontenumsatz

9. Januar 2009 , Geschrieben von Olaf Helper Veröffentlicht in #T-SQL

Bei Umsatzauswertungen möchte man gerne Werte aus mehreren Zeitbereichen nebeneinander aufgeführt haben, um Vergleichen und Tendenzen erkennen zu können. Gut geeignet dazu ist eine Pivot-Tabelle wie man sie aus MS Excel kennt, auch Access unterstützt die Funktion bereits seit Jahren. Möchte man das gleiche mit einer Reporting Engine erhalten, die kein Pivot unterstützt, musste man in T-SQL leichte Verrenkungen mittels CASE Anweisungen machen.

MS SQL Server ab 2005 kennt die Pivot-Funktion nun auch. Hier mal ein kleines Beispiel anhand der Kontenumsätze aus einer Sage Office Line Demo-Datenbank „OLDemoReweAbfD“

 

 SELECT Kto, [2008], [2007], [2006], [2005] 
 FROM (SELECT Kto, Jahr, 
  SUM(SaldoVortragEw + SollEw - HabenEw) AS SaldoEw 
  FROM KHKKontenUmsatz  
   WHERE Mandant = 88 --Mustermann & Söhne 
  AND Planung = 0 --Nur Ist-Zahlen 
  AND KtoTyp = 3 --Sachkonten 
  GROUP BY Kto, Jahr 
  ) AS UMS 
 PIVOT (SUM(SaldoEw) 
  FOR Jahr IN ([2008], [2007], [2006], [2005]) 
  ) AS PVT 
 ORDER BY Kto 

 

 

Kto

2008

2007

2006

2005

S00010

2,00

2,00

2,00

909,00

S02000

450,00

895,00

1340,00

1785,00

S03200

0,00

0,00

1,00

1,00

S03500

0,00

0,00

NULL

NULL

S04000

1,00

530,00

1062,00

NULL

S04850

496,00

NULL

NULL

NULL

S05350

400000,00

500000,00

500000,00

500000,00

S08000

-500000,00

-500000,00

NULL

NULL

S08600

-1715459,83

-1628698,01

NULL

NULL

S10000

NULL

NULL

NULL

NULL

Usw…

 

 

 

 

 

Diesen Post teilen

Repost 0

Kommentiere diesen Post