Benutzer mit den meisten Antworten
Säulendiagramm nach Monaten mit Abbildung der Rechnungsbeträge der letzten 24 Monate

Frage
-
Hallo zusammen,
irgendwie habe ich einen Hänger:
Ich möchte aus einer Liste von Einzelrechnungen (Rechnungsdatum, Rechnungsbetrag) der letzten 24 Monate ein Säulendiagramm erzeugen welches mir je Monat die entsprechenden Rechnungsbeträge (falls welche in jenem Monat anfielen) zusammenfasst und als eine Säule ausgibt, dabei aber auch Monate berücksichtigt in denen keine Rechnungen anfielen, hier soll dann einfach ein Null als Säule dargestellt werden, es soll also der Monat auf der x-Aches auf jeden Fall mit angedruckt werden!
Muss ich bereits im Dataset nach Monaten gruppieren (wie bekomme ich dann die "leeren" Monate dort mit hinein?), oder geht das eleganter direkt im Diagramm-Element?
Ich bin schon mal für jeden Tipp dankbar!
Viele Grüße
Marcus
- Bearbeitet AdminKnecht2011 Mittwoch, 16. Mai 2018 07:45
Antworten
-
Hallo zusammen,
erstmal vielen Dank an Christoph und 'bfuerchau' für Ihre Beiträge!
Ich habe es nach etwas probieren auch ohne eine zusätzliche Kalendertabelle oder Gruppieren vorab im Dataset nach Monaten gelöst bekommen, indem ich im Säulendiagramm folgendes eingetragen habe:
- bei den REIHENEIGENSCHAFTEN unter WERTEFELD: =Sum(Fields!Betrag.Value)
- bei den REIHENEIGENSCHAFTEN unter KATEGOERIENFELD: =year(Fields!Datum.Value)&"/"&month(Fields!Datum.Value)
- bei den KATEGORIEGRUPPENEIGENSCHAFTEN unter BEZEICHNUNG: =year(Fields!Datum.Value)&"/"&month(Fields!Datum.Value)
- bei den KATEGORIEGRUPPENEIGENSCHAFTEN unter GRUPPIEREN NACH: =year(Fields!Datum.Value)&"/"&month(Fields!Datum.Value)
- bei den EIGENSCHAFTEN FÜR HORIZONTALE ACHSEN den Typ SKALAR ausgewählt, mit Intervall 1 und Intervalltyp Monat, als MIN/MAX entweder fixe Werte mit =cdate("01.01.2017") bzw. =cdate("31.12.2018") oder variabel für die letzten 24 Monate mit =DateAdd("m",-24,today()) bzw. =Today()
Der Rest ist dann "Chromleiste", z.B. das Formatieren der X-Achsenbeschriftung mit MMM.yy o.ä. ... :-)
Mir ist klar dass das nur geht solange ich Datumswerte/Zeitwerte auf die X-Achse projezieren will, wenn ich das z.B. mit allen 10 Vertriebsleuten machen will, von denen 2 keine Umsätze haben, muss ich das schon im Dataset regeln (per UNION für jeden der 10 eine Dummy-Rechnung über 0 EUR beifügen)
Schönen Feierabend!
Marcus
- Als Antwort markiert AdminKnecht2011 Donnerstag, 17. Mai 2018 15:49
- Bearbeitet AdminKnecht2011 Donnerstag, 17. Mai 2018 15:53
Alle Antworten
-
-
C) musst Du als LEFT OUTER JOIN realisieren, damit alle Monate aus der Monatstabelle kommen und falls vorhanden die Daten aus der Rechnungstabelle dazu kommen. Mit COALESCE kannst Du dann die NULL-Werte in 0 ändern.
Einen schönen Tag noch, Christoph -- Data Platform MVP - http://www.insidesql.org/blogs/cmu
-
Hallo zusammen,
erstmal vielen Dank an Christoph und 'bfuerchau' für Ihre Beiträge!
Ich habe es nach etwas probieren auch ohne eine zusätzliche Kalendertabelle oder Gruppieren vorab im Dataset nach Monaten gelöst bekommen, indem ich im Säulendiagramm folgendes eingetragen habe:
- bei den REIHENEIGENSCHAFTEN unter WERTEFELD: =Sum(Fields!Betrag.Value)
- bei den REIHENEIGENSCHAFTEN unter KATEGOERIENFELD: =year(Fields!Datum.Value)&"/"&month(Fields!Datum.Value)
- bei den KATEGORIEGRUPPENEIGENSCHAFTEN unter BEZEICHNUNG: =year(Fields!Datum.Value)&"/"&month(Fields!Datum.Value)
- bei den KATEGORIEGRUPPENEIGENSCHAFTEN unter GRUPPIEREN NACH: =year(Fields!Datum.Value)&"/"&month(Fields!Datum.Value)
- bei den EIGENSCHAFTEN FÜR HORIZONTALE ACHSEN den Typ SKALAR ausgewählt, mit Intervall 1 und Intervalltyp Monat, als MIN/MAX entweder fixe Werte mit =cdate("01.01.2017") bzw. =cdate("31.12.2018") oder variabel für die letzten 24 Monate mit =DateAdd("m",-24,today()) bzw. =Today()
Der Rest ist dann "Chromleiste", z.B. das Formatieren der X-Achsenbeschriftung mit MMM.yy o.ä. ... :-)
Mir ist klar dass das nur geht solange ich Datumswerte/Zeitwerte auf die X-Achse projezieren will, wenn ich das z.B. mit allen 10 Vertriebsleuten machen will, von denen 2 keine Umsätze haben, muss ich das schon im Dataset regeln (per UNION für jeden der 10 eine Dummy-Rechnung über 0 EUR beifügen)
Schönen Feierabend!
Marcus
- Als Antwort markiert AdminKnecht2011 Donnerstag, 17. Mai 2018 15:49
- Bearbeitet AdminKnecht2011 Donnerstag, 17. Mai 2018 15:53