Jump to content
samsan

Aus Statistiktabelle mit Monatswerten View mit Monats- und Vorjahresmonatswerten erstellen

Empfohlene Beiträge

Hallo zusammen,

 

ich habe eine Statistiktabelle aus einem ERP mit - vereinfacht - den Spalten Monat (im Format JJJJMM) / Artikelnr. / Umsatz.

 

Ziel ist, über eine ODBC-Abfrage aus Excel auf einen View eine Tabelle auszugeben mit den Spalten Artikelnr. / Umsatz aktueller Monat / Umsatz Vorjahresmonat. Aktueller und Vorjahresmonat sollen in Excel als Parameter für die Abfrage festgelegt werden. Es sollen natürlich auch Artikel ausgegeben werden, die nur in einem der beiden Monate einen Umsatz haben.

 

Ich habe zwei Views erstellt, einen für Daten aktueller Monat, einer für Daten Vormonat. Diese joine ich in einem dritten View. Das Problem ist aber, dass in der Statistiktabelle für Monate, in denen der Artikel keinen Umsatz hatte, auch kein Datensatz vorhanden ist. Frage ich in dem kombinierten View aktuellen und Vorjahresmonat mit AND ab, bekomme ich also nur Artikel, die in beiden Monaten einen Umsatz hatten. Frage ich mit OR ab, bekomme ich zwar Artikel, die nur in einem der beiden Monaten einen Umsatz hatten, Artikel die in beiden Monaten einen Umsatz haben, bekomme ich dann aber doppelt.

 

Ich komme leider auf keine Lösung und hoffe, dass mir hier jemand weiterhelfen kann.

 

Besten Dank!

 

Stefan

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Wie hast du die views miteinander verjoint?

Denke du hast ein inner join verwendet und daher funzt es nicht. 

 du musst die view Monat mit der view Vormonat mit left join verbinden. 

Bspw.

 

Select M.Artikel,  M.Monat, M.Umsatz, 

V.artikel, v.monat, v.umsatz

from Monat m left join Vormonat v on

m.artikel = v.artikel

where m.monat is null

 

glaube so sieht die sql Anweisung aus. 

Du kannst damit auch gleich im Select eine case Anweisung einbauen, die dann  gleich den NULL Datensatz mit V.Monat überschreibt. 

 

Versuch es mal damit 

 

vg

DerFrank

bearbeitet von DerFrank
Hinweis

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo Frank,

 

Danke Dir. Das Problem ist, dass ich keine NULL-Werte habe, sondern überhaupt keinen Datensatz, wenn kein Umsatz vorhanden.

 

Habe da heute wieder länger rumgebastelt. Im Moment stehe ich an diesem Punkt in der kombinierten Abfrage:

 

SELECT     COAkt.PRODNR, COAkt.UMSAJ, COVj.UMSVJ, COAkt.AKTJ, COVj.VORJ

FROM         COAkt LEFT OUTER JOIN

                      COVj ON COAkt.PRODNR = COVj.PRODNR

WHERE     (COAkt.AKTJ = '201901') AND (COVj.VORJ = '201801') OR

                      (COAkt.AKTJ = '201901') AND (COVj.VORJ = 'Datensatz 201801 gibt es nicht')

 

Wobei der rot markierte das Problem ist.

 

Grüße

 

Stefan

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

Werbepartner:



×