none
kreuztabellenabfrage: Beträge monatlich aufsummieren

    Frage

  • Mit Kreuztabellen stehe ich leider immer wieder auf Kriegsfuss:

    Diesmal sollen Beträge monatlich aufsummiert werden.

    Es sollen 12 Spalten für die Monate entstehen, eine 13. eine Jahressume enthalten.

    In den Zeilen sollen die jeweiligen Jahre stehen.

    Die Abfrage enthält jeweils ein Datum und den Betrag.

    Kann jemand helfen ?

    Samstag, 1. Dezember 2012 05:30

Antworten

  • Hallo, NicoNi!
     
    NicoNi wrote:
    > ...
    > Diesmal sollen Beträge monatlich aufsummiert werden.
    >
    > Es sollen 12 Spalten für die Monate entstehen, eine 13. eine
    > Jahressume enthalten.
    >
    > In den Zeilen sollen die jeweiligen Jahre stehen.
    >
    > Die Abfrage enthält jeweils ein Datum und den Betrag.
    > ...
     
    Der SQL-Text könnte ca. lauten:
     
    TRANSFORM Sum(Betrag)
    SELECT Format([Datum],"yyyy") AS Kalenderjahr, Sum(Betrag) AS Jahressumme
    FROM Tabelle
    GROUP BY Format([Datum],"yyyy")
    PIVOT Format([Datum],"mmm") In
    ("Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez");
     
    Wenn du das in die SQL-Ansicht einer Abfrage kopierst
    und den Tabellen- und die Feldnamen anpasst, sollte es
    das gewünschte Ergebnis liefern.
     
    --
    Servus
    Karl
    *********
     
     
    Samstag, 1. Dezember 2012 10:59

Alle Antworten

  • Hallo, NicoNi!
     
    NicoNi wrote:
    > ...
    > Diesmal sollen Beträge monatlich aufsummiert werden.
    >
    > Es sollen 12 Spalten für die Monate entstehen, eine 13. eine
    > Jahressume enthalten.
    >
    > In den Zeilen sollen die jeweiligen Jahre stehen.
    >
    > Die Abfrage enthält jeweils ein Datum und den Betrag.
    > ...
     
    Der SQL-Text könnte ca. lauten:
     
    TRANSFORM Sum(Betrag)
    SELECT Format([Datum],"yyyy") AS Kalenderjahr, Sum(Betrag) AS Jahressumme
    FROM Tabelle
    GROUP BY Format([Datum],"yyyy")
    PIVOT Format([Datum],"mmm") In
    ("Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez");
     
    Wenn du das in die SQL-Ansicht einer Abfrage kopierst
    und den Tabellen- und die Feldnamen anpasst, sollte es
    das gewünschte Ergebnis liefern.
     
    --
    Servus
    Karl
    *********
     
     
    Samstag, 1. Dezember 2012 10:59
  • Mit ein bisschen Modifikation funktioniert es. Vielen Dank

    Einen zweiten  Wert (ausser dem Betrag) kann man wohl nicht einflechten, oder ?

    Sonntag, 2. Dezember 2012 15:52
  • Hallo,

    NicoNi wrote:

    Einen zweiten  Wert (ausser dem Betrag) kann man wohl nicht einflechten,
    oder ?

    In den Spalten kann nur ein Wert stehen. In der Zeile kannst du weitere
    Werte rechnen lassen, analog zu Jahressumme.

    Gruss - Peter


    Mitglied im http://www.dbdev.org
    FAQ: http://www.donkarl.com

    Sonntag, 2. Dezember 2012 16:39
    Moderator