Databases Reference
In-Depth Information
Bild 7.2■ Falsches Ergebnis der Kalenderwoche
7.1■Manuelle Anpassung der Wochen
In unserem Beispiel sind die Ergebnisse um eine komplette Woche verschoben. In diesem
Fall muss man eine Woche subtrahieren.
DATEPART (week,s.postingDate)-1
Dazu setzen Sie hinter den Eintrag in der Klammer ein Minuszeichen und eine 1. Das heißt,
es wird nun von jeder KW ein Wert abgezogen. Probieren jetzt einmal den Select aus und
schauen Sie sich das Ergebnis an.
SELECT distinct s.postingDate, DATEPART (week, s.postingDate)-1 Woche
FROM [dbo].[iw_sales]s
where Type = 2 --- ohne Frachtkosten
and s.postingDate between '28.12.2010'and '31.01.2011'
deutsches Datum
order by s.postingDate
Nun passt alles - bis auf das Datum, das der KW 0 zugeordnet ist, die es eigentlich nicht
gibt. Das könnte man korrigieren, indem man nicht von der Woche den Wert 1 subtrahiert,
sondern die notwendige Anzahl der Tage vom postingDate . Dies wollen wir jedoch nicht
weiter ausführen, da wir gleich zu einer besseren Lösung kommen.
Wenn Sie nun den bekannten Select umbauen und anstatt des Jahres und des Monats die
Woche verwenden, sieht das Ganze wie folgt aus:
Select a.Woche, a.Kunden, a.Bestellungen,
a.Artikelmenge, a.Nettosumme,
cast((a.Nettosumme/a.Bestellungen)as DECIMAL (10,2))Warenkorb,
cast ((a.Artikelmenge/a.Bestellungen)as DECIMAL (10,2))Artikel_WK
Search WWH ::




Custom Search