Announcement

Collapse
No announcement yet.

Kumulieren nach Jahreswerten

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

  • Kumulieren nach Jahreswerten

    Hallo zusammen, ich habe in meiner Abfrage folgende Spalten

    Eintrittsdatum, Mitglieder_ID

    Ich würde gern in einer dritten Spalte die Mitglieder_IDs pro Jahr kumulieren.
    Ich habe schon einiges im Netz durchforstet aber irgendwie klappt es nicht so wirklich.


    Kumuliert: Summe(DomAnzahl([Mitglieder_ID];"tbl_Mitglieder";Jahr([Eintrittsdatum])<=[Jahr]))

    Mit diesem Code gibt er mir die Summe wieder und kumuliert sie dann bei jedem Jahr.

    ich freu mich über Hilfe
    Lieben dank

  • #2
    Originally posted by Müllermilch View Post
    Kumuliert: Summe(DomAnzahl([Mitglieder_ID];"tbl_Mitglieder";Jahr([Eintrittsdatum])<=[Jahr]))
    Ich weiß nicht, was DomAnzahl macht, es dürfte reichen nur Anzahl(*) zu nehmen, gruppiert nach Jahr.
    Also
    Code:
     ...year(Eintrittsdatum), count(*) from <meine tabelle> group by year(Eintrittsdatum)
    Gruß, defo

    Comment


    • #3
      Hallo defo,
      danke für deinen Beitrag, aber leider bin ich da auch schon angekommen.
      Er gibt mir dann aus, wieviele ich Mitglieder_IDs ich dann in dem Jahr habe.

      Jahr AnzahlMitglieder
      2004 1
      2005 1
      2006 1
      2007 1
      2008 1
      2009 2

      Ich will aber folgendes:

      Jahr.............. AnzahlMitglieder.............Kumuliert
      2004------------------1------------------------1
      2005------------------1------------------------2
      2006------------------1------------------------3
      2007------------------1------------------------4
      2008------------------1------------------------5
      2009------------------2------------------------7

      da komm ich irgendwie nicht hin....

      Danke für eure Hilfe.

      lg

      Comment


      • #4
        In einer richtigen Datenbank etwa so

        http://sqlfiddle.com/#!6/2c2ae/8/0

        In Access wahrscheinlich eher so (habe kein Access parat)

        http://sqlfiddle.com/#!6/0f7fe/1

        Comment


        • #5
          vielen Dank Ralf,
          das hat schon mal super geklappt.
          jetzt habe ich das in einer zweiten Abfrage für die Abmeldungen verändert.

          Meine nächste Frage ist kann ich AnzahlMitglieder vielleicht schon durch eine weiteres Kriterium eingrenzen. Denn wo es eine Anmeldung gibt, gibt es ja auch eine Abmeldung.

          Hier mein Versuch

          Code:
          SELECT Year(Eintrittsdatum) AS Jahr, (SELECT count(*)
                    FROM   tbl_Mitglieder AS M2 
                    WHERE  Year(M2.Eintrittsdatum) <= Year(M1.Eintrittsdatum)) AS AnzahlMitglieder and Zeitstempel = null
          FROM tbl_Mitglieder AS M1
          GROUP BY Year(Eintrittsdatum)
          ORDER BY Year(Eintrittsdatum);

          Das markiert er mir aber das and und schreibt mir das die select-Anweisung ein reserviertes Wort einschließt.

          Comment


          • #6
            https://support.office.com/de-de/art...3-3e8c0ea67c61
            Christian

            Comment


            • #7
              Ich vermute mal du willst was anderes. Wenn du einfach auf das vorhanden sein von Zeitstempel prüfst (auch wen du es syntaktisch korrigierst) wird der entsprechende Datensatz ja nie berücksichtigt. Heißt wenn du ein Mitglied von 2004 bis 2007 hattest taucht der dann nie auf auch nicht in den Jahren 2004, 2005 etc. Alle die ausgetreten sind fallen komplett aus der Rechnung das macht keinen Sinn. Eventuell habe ich aber auch nur deine Tabellen Struktur nicht verstanden. Jedes Mitglied hat genau einen Datensatz mit von bis Datum? Also einen Datensatz mit der Aussage 'Ralf war Mitglied von 2003 bis 2017'?

              Dann eher so

              http://sqlfiddle.com/#!6/0451a/3/0

              Diese Lösung geht davon aus das du Mitglieder im Jahr ihres Austritts noch als Mitglied zählst. Also jemand der in 2007 Mitglied wird und auch wieder in 2007 austritt wird für 2007 gezählt.

              Oder hat jedes Mitglied einen Datensatz je Jahr? Dann solltest du deine Tabellenstruktur genauer erklären.

              Comment

              Working...
              X