Monats-Statistik

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

gigabert
*****
Beiträge: 203
Registriert: Di, 11.08.2009 16:06

Re: Monats-Statistik

Beitrag von gigabert »

Hallo Hugo,

in SQL (was du ja auch in die Abfragen einbauen kannst) klappt so etwas mit GROUP BY und in Verbindung mit COUNT. Musst du dir nur mal die speziellen Funktionen fürs Datum anschauen. Es hängt manchmal auch ein bisschen von der Datenbank ab, wie der SQL-Befehl dann genau lautet. Mit der Abfrage in Base selbst müsste das aber bestimmt auch machbar sein.

Viele Grüsse
Bert
OpenOffice 3.1.1 unter Debian 5.0 und mit PostgreSQL 8.3
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: Monats-Statistik

Beitrag von Barlee »

Hallo hugo,
Kann mir jemand eine Tipp geben, wie ich dies möglichst geschickt anstellen kann?
Am Anfang sollte immer die Frage danach stehen, was Du benötigst. Da Du sehr genaue Vorstellungen über das Layout des Ergebnisses hast (was sehr gut ist), kannst Du Dir die Aufgabe logisch zerlegen.

1) Du benötigst alle vorkommenden Monatsnamen gefolgt vom Jahr

Code: Alles auswählen

SELECT DISTINCT MONTHNAME("Datum")||' '||YEAR("Datum") AS "MON_JAHR" FROM ...
2) abhängig von der Kombination Monat_Jahr möchtest Du wissen, wieviel ein Kunde gekauft hat. Das ermittelst Du für jeden Kunden z.B. so:

Code: Alles auswählen

SELECT
MONTHNAME("Datum")||' '||YEAR("Datum") AS "MON_JAHR",
COUNT("Kunde") as "Kunde_A"
FROM [Deine_Tabelle]
WHERE "Kunde" = 'A'
GROUP BY MONTHNAME("Datum")||' '||YEAR("Datum")
3) verbinde die einzelnen Ergebnistabellen mit LEFT JOIN über das gemeinsame Attribut "MON_JAHR" (denn es kann ja sein, dass zB. Kunde B im "September 09" nichts gekauft hat) Zu LEFT JOIN findest Du einige Beispiele auch in jüngster Vergangenheit hier im Forum.

Falls Du Probleme bei der Umsetzung hast, dann kannst Du gerne konkrete Fragen stellen.

Gruß Barlee
hugo42
*
Beiträge: 15
Registriert: Do, 27.08.2009 20:25

Re: Monats-Statistik

Beitrag von hugo42 »

Vielen Dank !! :D

Hat wunderbar funktioniert.
( musste nur bei mir GROUP BY MONTHNAME("Datum")||' '||YEAR("Datum") durch GROUP BY "MON_JAHR" ersetzen)

Gruß Hugo
Antworten