Willkommen bei Entwickler-Forum.
Ergebnis 1 bis 7 von 7
  1. #1
    Neuer Benutzer
    Registriert seit
    01.09.2017
    Beiträge
    3

    Standard 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. #2
    Stammgast
    Registriert seit
    24.10.2011
    Beiträge
    1.264

    Standard

    Zitat Zitat von Müllermilch Beitrag anzeigen
    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

  3. #3
    Neuer Benutzer
    Registriert seit
    01.09.2017
    Beiträge
    3

    Standard

    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

  4. #4
    Stammgast
    Registriert seit
    26.02.2003
    Beiträge
    4.803

    Standard

    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

  5. #5
    Neuer Benutzer
    Registriert seit
    01.09.2017
    Beiträge
    3

    Standard

    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.

  6. #6

  7. #7
    Stammgast
    Registriert seit
    26.02.2003
    Beiträge
    4.803

    Standard

    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.

 

 

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •