🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

monatsweise Jahreszusammenfassung von Projektumsätzen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
scientific
Beiträge: 131
Registriert: Do 25. Apr 2013, 17:27

monatsweise Jahreszusammenfassung von Projektumsätzen

Beitrag von scientific » Mi 11. Nov 2015, 12:37

Hi Leute!

Ich steh ein wenig auf dem Schlauch...

Ich möchte gerne eine monatsweise Jahresübersicht über meine Projekte machen.

Das soll dann so aussehen

Code: Alles auswählen

Projekt    Jänner    Februar    März    April...
A              2000€      3000€    1000€
B              1500€                   2000€    4500€
C                                         3000€
Ich habe in einer Tabelle die Rechnungen (mit Betrag und Rechnungsdatum und zugehöriger Projekt-ID) und in einer anderen Tabelle den Projektnamen und die Projekt-ID (das ganze ist auf mehrere Tabellen aufgeteilt mit Aufträgen usw... ist ziemlich aufwändig)

Wie müsste der SQL-Befehl im Prinzip aussehen, dass zu einem Projekt in der ensprechenden Monats-Spalte dann der Rechnungsbetrag steht?

Bisher hab ich es nur geschafft, dass zum Projektnamen pro Zeile nur ein Monatsbetrag im entsprechenden Monat steht. Sind z.B. in 3 Monaten Umsätze gewesen, dann hab ich 3 Zeilen mit dem Monatsbetrag in der jeweiligen Monatsspalte.

Code: Alles auswählen

	CASE WHEN "POSIT"."P_Monat" = 1 THEN COALESCE ( SUM( "POSIT"."POS_SUMME_NETTO" ), SUM( "Rechnungen"."R_BETRAG_PLAN" )) END "Jänner",
	CASE WHEN "POSIT"."P_Monat" = 2 THEN COALESCE ( SUM( "POSIT"."POS_SUMME_NETTO" ), SUM( "Rechnungen"."R_BETRAG_PLAN" )) END "Februar",
	CASE WHEN "POSIT"."P_Monat" = 3 THEN COALESCE ( SUM( "POSIT"."POS_SUMME_NETTO" ), SUM( "Rechnungen"."R_BETRAG_PLAN" )) END "März",
	CASE WHEN "POSIT"."P_Monat" = 4 THEN COALESCE ( SUM( "POSIT"."POS_SUMME_NETTO" ), SUM( "Rechnungen"."R_BETRAG_PLAN" )) END "April",
	CASE WHEN "POSIT"."P_Monat" = 5 THEN COALESCE ( SUM( "POSIT"."POS_SUMME_NETTO" ), SUM( "Rechnungen"."R_BETRAG_PLAN" )) END "Mai",
	CASE WHEN "POSIT"."P_Monat" = 6 THEN COALESCE ( SUM( "POSIT"."POS_SUMME_NETTO" ), SUM( "Rechnungen"."R_BETRAG_PLAN" )) END "Juni",
	CASE WHEN "POSIT"."P_Monat" = 7 THEN COALESCE ( SUM( "POSIT"."POS_SUMME_NETTO" ), SUM( "Rechnungen"."R_BETRAG_PLAN" )) END "Juli",
	CASE WHEN "POSIT"."P_Monat" = 8 THEN COALESCE ( SUM( "POSIT"."POS_SUMME_NETTO" ), SUM( "Rechnungen"."R_BETRAG_PLAN" )) END "August",
	CASE WHEN "POSIT"."P_Monat" = 9 THEN COALESCE ( SUM( "POSIT"."POS_SUMME_NETTO" ), SUM( "Rechnungen"."R_BETRAG_PLAN" )) END "September",
	CASE WHEN "POSIT"."P_Monat" = 10 THEN COALESCE ( SUM( "POSIT"."POS_SUMME_NETTO" ), SUM( "Rechnungen"."R_BETRAG_PLAN" )) END "Oktober",
	CASE WHEN "POSIT"."P_Monat" = 11 THEN COALESCE ( SUM( "POSIT"."POS_SUMME_NETTO" ), SUM( "Rechnungen"."R_BETRAG_PLAN" )) END "November",
	CASE WHEN "POSIT"."P_Monat" = 12 THEN COALESCE ( SUM( "POSIT"."POS_SUMME_NETTO" ), SUM( "Rechnungen"."R_BETRAG_PLAN" )) END "Dezember"
Diese 12 Zeilen müsste ich irgendwie "vereinen"... Hat da zufällig jemand eine Idee?

lg scientific

RobertG
* LO-Experte *
Beiträge: 2957
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: monatsweise Jahreszusammenfassung von Projektumsätzen

Beitrag von RobertG » Mi 11. Nov 2015, 21:44

Hallo scientific,

zuerst einmal: Hat die zugrundeliegende Tabelle grundsätzlich nur die Daten von einem Jahr? Eventuell die Datenbasis auf ein Jahr beschränken mittels Ansicht.

Du hast eine Tabelle mit Projekt - Betrag - Datum

Code: Alles auswählen

SELECT SUM("Betrag") FROM "Tabelle" WHERE MONTH("Datum") = 1 AND "Projekt" = 'A'
Zeigt Dir die Summe für den Januar für das Projekt 'A'
Jetzt packst Du das in eine korrelierende Unterabfrage:

Code: Alles auswählen

SELECT DISTINCT "a"."Projekt", 
(SELECT SUM("Betrag") FROM "Tabelle" WHERE MONTH("Datum") = 1 AND "Projekt" = "a"."Projekt") AS "Jänner"
FROM "Tabelle" AS "a"
Das zeigt Dir zu allen Projekten die jeweilige Summe im Januar (Jänner) an.
genauso kannst Du dann auch Februar, März usw. ausweisen.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare


An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.



❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten