Announcement

Collapse
No announcement yet.

Reporting Services

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

  • Reporting Services

    Hallo

    Ich habe eine spezielle Frage zu Reporting Services 2005.
    Ich habe folgendes Dataset.


    SELECT Artikelnummer, Artikel, Werknummer, Werk, SUM([statistische Menge]) AS MENGE, SUM([statistischer Warenerlös]) AS Warenerlös, SUM([statistischer Frachterlös])
    AS Frachterlös
    FROM vw$Statistik
    WHERE (Mandantennummer = '21') AND (Lieferjahr = @StartJa) AND (Artikelnummer >= @StartArt) AND (Artikelnummer <= @EndArt) AND (Liefermonat = @StartMo)
    GROUP BY Artikelnummer, Artikel, Werknummer, Werk


    In dem Bericht wird das aktuelle Jahr und Monat ausgewählt und die Daten werden dann angezeigt.
    Jetzt will ich das er automatisch für das Jahr vorher ebenfalls die Daten dastellt. Also Menge / Warenerlös / Frachterlös in weiteren Spalten.
    Es sollen aber nur die Artikelnummer angezeigt werden die in dem ausgewählten Jahr verkauft wurden.
    Also ein typischer Vorjahresvergleich.
    Leider fehlt mir jeglicher Ansatz wie ich das in Microsoft Visual Studio 2005 realsieren soll.
    Habt Ihr vielleicht eine Idee oder ein Besipiel?
    Vielen Dank.

    Gruss
    Thomas

  • #2
    Hallo,

    das Problem betrifft weniger die Reporting Services, sondern mehr die Auswertung des Datenbestandes über SQL. Die Ergebnismenge für den Bericht kann von einer gespeicherten Prozedur (Stored Procedure) geliefert werden. Innerhalb der Stored Procedure könnte man eine TABLE-Variable in Funktion einer lokalen temporären Tabelle deklarieren und dort alle im Bericht benötigten Datensätze "einmischen". Die Berichtsparameter werden dabei als INPUT-Parameter an die Stored Procedure übergeben. Innerhalb der Stored Procedure kann somit auch die Abfrage erneut für das Vorjahr ausgeführt werden, wobei auch die Bedingungen des Vorjahresvergleichs über ein zusätzliches WHERE-Kriterium erfüllbar sind (denn die TABLE-Variable enthält ja nur Datensätze für die Artikelnummer, die im Berichtsjahr gültig sind).

    Am Ende der Stored Procedure liefert dann die Abfrage "SELECT * FROM @TableVariable" die Ergebnismenge zurück, die im Bericht benötigt wird.

    Comment

    Working...
    X