Announcement

Collapse
No announcement yet.

SQL für Monatsumsatz und Vorjahres- Monats-Umsatz

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL für Monatsumsatz und Vorjahres- Monats-Umsatz

    Moin von der Küste,

    ich arbeite mit Filemaker und habe bin gerade auf die neue Version umgestiegen, die auch SQL kann.
    Daher kenne ich SQL nur in einfacher Form, für einfache Abfragen reicht es.

    Jetzt möchte ich aber eine Auswertung mit aggregierten Daten erstellen und da hört es auf:-)

    Ich habe eine Tabelle Verkaufsrechnungen VKR, u.a mit den Feldern
    kon_MonatJahr = Monatszahl Jahreszahl, z.B. '1 2022'
    kon_MonatVj = Monatszahl Vorjahr, z.B. '1 2021'
    RE_SumNetto = Nettosumme der Verkaufsrechnungen

    Mit folgendem komme ich nicht weiter, da ich nicht weiß, wie ich MonatJahr der Gruppe im zweiten Select für die Summe nach MonatVorjahr verwenden kann:

    "SELECT kon_MonatJahr, SUM(RE_SumNetto), (SELECT SUM (RE_SumNetto) FROM VKR WHERE kon_MonatVj = kon_MonatJahr)
    FROM VKR
    WHERE Datum_VKR > '01.01.2000'
    GROUP BY kon_MonatJahr"

    Bei 'WHERE kon_MonatVj = kon_MonatJahr' habe ich wohl das Problem, das macht ja keinen Sinn.
    Muss ich die Vorzeitraum-Summen einzeln berechnen und die Ergebnisse mit einem left join verknüpfen??

    Gruß aus dem Norden
    Jens

  • #2
    Doch das sollte so gehen.
    Ansonsten musst du den aktuellen Monat und das aktuelle Jahr extrahieren und den Wert im Subselect das den Monat mit dem Jahr minus 1 holen.
    Das Datenmodel erscheint ungünstig.
    - Warum ist das Vorjahr enthalten, aber nicht die Summe des Vorjahres?
    - Was für ein Sinn macht das Vorjahr? Es kann doch nur das aktuelle Jahr minus 1 sein
    - Das halten des Monats und des Jahres in einem Feld verhindert eine einfache Auswertung. Der Monat und das Jahr müssen erst getrennt werden
    Einfache wäre
    Monat Jahr SumNetto
    Christian

    Comment


    • #3
      Moin,
      die Felder Monat und Jahr gibt es.
      kon_MonatJahr ist zur Gruppierung.
      das Feld kon_MonatVj dient lediglich der Möglich, in der Gruppierung über dieses Feld die Summe des Vorjahres zu berechnen.
      Datensatz: 1 2022, 10000, Vorjahres-Monatssumme = Summe von kon_MonatVj.

      Dann werde ich es mal mit Monat und Jahr, gruppiert nach Jahr und Monat versuchen.
      Danke!!

      Comment


      • #4
        select Monat, Jahr,SumNetto, (select SumNetto form VKR b where a.Monat=b.Monat and a.Jahr-1=b.Jahr)as Vorjahr from VKR a
        WHERE Datum_VKR > '01.01.2000'

        zum testen
        Das SUM erscheint überflüssig, da ja wohl in SumNetto die Summe des Monats steht.
        Zuletzt editiert von Christian Marquardt; 12.08.2022, 08:35.
        Christian

        Comment


        • #5
          Beispiel

          https://ibb.co/dB2D8Jf
          Christian

          Comment


          • #6
            Solltest du je Monat mehrere Summen haben

            https://ibb.co/YkThLC1
            Christian

            Comment


            • #7
              Sorry, es ist die Tabelle der Verkaufsrechnungen, keine Auswertungstabelle.
              Genau diese möchte ich ja erstellen und aus Performance-Gründen gleich mit den aggregierten Datensätzen für versch. Auswertungen (Jahr, Monat, Quartal, Artikel, Betreuer etc), da bei einem gehosteten Server die Auswertung je nach Verbindung recht langsam laufen würde.
              Insbesondere, wenn SQL im Spiel ist, da dieses bei FileMaker nicht die schnellste Berechnung ist.

              Danke soweit
              Jens

              Comment


              • #8
                ???
                Sorry, es ist die Tabelle der Verkaufsrechnungen, keine Auswertungstabelle.
                Was könnte das bedeuten?
                Ich habe nun 2 Beispiele mit einem Eintrag je Monat und mehreren Einträgen je Monat gemacht. Eins davon sollte zutreffen

                Ich weiß nicht was Filemaker unter "Auswertungstabelle" versteht. Wenn du mit Filemaker kein Standard-SQL machen kannst, ist das...schlecht
                Wenn du
                (Jahr, Monat, Quartal, Artikel, Betreuer etc),
                ist darüber zu gruppieren. Es ist ist dann sicherlich nicht zielführend, Spalten zusammenzufassen und neue Spalten in die Tabelle aufzunehmen (Vorjahr).
                Es wird alles nach den kleinsten Fakten gruppiert (Monat/Jahr). Das Quartal ergibt sich dann aus den 3 Monaten und sollte vom Report gemacht werden
                Zuletzt editiert von Christian Marquardt; 13.08.2022, 07:45.
                Christian

                Comment


                • #9
                  Ich glaube bei Filemaker ist nicht so sehr SQL das Problem. Es ist eine Filebasierte DB, die ähnlich wie Access Dateizugriff benötigt.
                  Gruß, defo

                  Comment

                  Working...
                  X