Office: (Office 2016) Zwischensummen

Helfe beim Thema Zwischensummen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich möchte aus dieser Tabelle ermitteln, wie lange welche Person in welchem Land war. Dabei müssen eventuell mehrere Aufenthalte im... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von GoNo, 9. Juli 2023.

  1. GoNo Neuer User

    Zwischensummen


    Hallo zusammen, ich möchte aus dieser Tabelle ermitteln, wie lange welche Person in welchem Land war. Dabei müssen eventuell mehrere Aufenthalte im gleichen Land zusammengefasst werden. Und es kann vorkommen, dass eine Person noch mal in ein Land zurückkehrt (z.B. Frank nach Deutschland). Dann sollen aber nicht alle Zeiten von Frank in Deutschland zusammengefasst werden. Ich habe mit DomSumme angefangen, bin aber nicht zum Ziel gekommen. Danke vorab für Eure Lösungen. Gruß, Frank

    Zwischensummen upload_2023-7-9_23-41-35.png
     
  2. Doming
    Doming hat Ahnung
    Moin Frank,
    vielleicht solltest Du als Erstes die Zeiträume erfassen (bis-von+1) und dann in einer zweiten Abfrage Dein DomSumme anwenden.
    Die Kriterien, wann eine Summe nicht erstellt werden soll, müsstest Du mit If/Then/Else ausschließen.
    Gruß
    Doming
     
    Doming, 10. Juli 2023
    #2
  3. Doming
    Doming hat Ahnung
    Ich korrigiere: Das Summieren der Zeiträume geht locker in der ersten Abfrage
    Code:
    SELECT Tabelle1.PersNr, Tabelle1.VName, Sum([bis]-[von]+1) AS Zeitraum, Tabelle1.Land
    FROM Tabelle1
    GROUP BY Tabelle1.PersNr, Tabelle1.VName, Tabelle1.Land;
    Um allerdings Deutschland auszuklammern, ist etwas mehr Aufwand von Nöten.
     
    Doming, 10. Juli 2023
    #3
    1 Person gefällt das.
  4. GoNo Neuer User

    Zwischensummen

    Hallo Doming,

    vielen Dank für Deine schnelle Antwort. Die kumulierten Werte für die Dauern in Jahren bekomme ich schon ganz gut hin:

    AufenthaltNr: (Select Count (*) from [DATEN] as Temp WHERE [Temp].[lfdNr] < [DATEN].[lfdNr] AND [Temp].[PersNr]=[DATEN].[PersNr])+1

    Zwischensummen upload_2023-7-10_12-58-50.png

    Was mir nicht gelingt, ist die Gruppierung für die Länder mit der Besonderheit, dass später noch mal vorkommende Länder nicht mit gruppiert werden dürfen. Die Aufenthalte von Frank in Deutschland und die Aufenthalte von Michael in Spanien sollen also nicht alle zusammengefasst werden, sondern es sollen jeweils zwei Aufenthaltsgruppen dargestellt werden
     
    Zuletzt bearbeitet: 10. Juli 2023
  5. Doming
    Doming hat Ahnung
    Hallo Frank,
    stell mal eine Datenbank mit den wichtigsten (anonymisierten) RohDaten als Beispiel hier rein und dann vielleicht eine Tabelle, wie das Ergebnis nachher aussehen soll.
    Woher soll die Abfrage wissen, zu welcher Aufenthaltsgruppe der Datensatz gehören soll?
     
    Doming, 10. Juli 2023
    #5
  6. GoNo Neuer User
    Hallo Doming,
    hier die Ausgangstabelle:
    AUSGANGSDATEN
    lfdNr
    PersNr Name Land von bis
    1 01 Frank Deutschland 03.07.2003 24.06.2004
    2 01 Frank Deutschland 25.06.2004 17.01.2006
    3 01 Frank USA 18.01.2006 22.03.2010
    4 01 Frank Frankreich 23.03.2010 15.01.2012
    5 01 Frank Frankreich 16.01.2012 30.06.2015
    6 01 Frank Frankreich 01.07.2015 22.08.2018
    7 01 Frank Deutschland 23.08.2018 05.11.2021
    8 01 Frank Deutschland 06.11.2021 07.07.2023
    9 02 Susanne Deutschland 17.09.2011 08.01.2016
    10 02 Susanne Frankreich 09.01.2016 07.07.2023
    11 03 Michael Portugal 01.01.2009 31.12.2011
    12 03 Michael Spanien 01.01.2012 17.06.2014
    13 03 Michael Spanien 18.06.2014 31.12.2018
    14 03 Michael England 01.01.2019 13.11.2021
    15 03 Michael Spanien 14.11.2021 22.04.2022
    16 03 Michael Spanien 23.04.2022 07.07.2023

    und hier die Ergebnistabelle:
    GEWÜNSCHTES ERGEBNIS
    lfdNr
    PersNr Name Land von bis
    1 01 Frank Deutschland 03.07.2003 17.01.2006
    3 01 Frank USA 18.01.2006 22.03.2010
    4 01 Frank Frankreich 23.03.2010 22.08.2018
    7 01 Frank Deutschland 23.08.2018 07.07.2023
    9 02 Susanne Deutschland 17.09.2011 08.01.2016
    10 02 Susanne Frankreich 09.01.2016 07.07.2023
    11 03 Michael Portugal 01.01.2009 31.12.2011
    12 03 Michael Spanien 01.01.2012 31.12.2018
    14 03 Michael England 01.01.2019 13.11.2021
    15 03 Michael Spanien 14.11.2021 07.07.2023

    Mit VBA wäre das wahrscheinlich einfacher, aber ich brauche eine SQL-Lösung. Danke, dass Du dran bleibst.
     
  7. GoNo Neuer User
    anbei die Datenbank
     
  8. GoNo Neuer User

    Zwischensummen

    Meine Original-Tabelle hat übrigens mehr als 45.000 Datensätze, deshalb der ganze Aufwand
     
  9. Doming
    Doming hat Ahnung
    Hallo,
    da hast Du mir eine harte Nuss hingelegt, mit SQL-Abfragen habe ich mich bisher nur wenig beschäftigt, ich wäre da mit vba drangegangen.
    Aber wenn Andyfau oder jemand anderes nicht schneller ist, werde ich sicherlich noch irgendwann eine Lösung präsentieren.
    Gruß
    Doming
     
    Doming, 10. Juli 2023
    #9
  10. andyfau
    andyfau hat Ahnung
    Hallo,
    mit SQL bin ich auch nicht soooo vertraut, aber das Thema lässt sich auch über Abfragen lösen.
    Die Herausforderung ist, die Aufenthalte in gleichen Ländern, die aber durch Aufenthalte in anderen Ländern unterbrochen wurden, getrennt zu gruppieren, um dann die jeweilige Dauer auszugeben. D.h. es muss "künstlich" ein Gruppenkriterium in den einzelnen Datensätzen erzeugt werden. Den Weg dahin zeigt die erste Abfrage "Gruppenbildung". Der Trick dabei ist, jeweils den vorausgegangenen Satz auf Gleichheit von PersNr und Land zu prüfen und die lfdNr dann als Gruppennr zwischenzuspeichern und im Folgesatz dann wieder einzutragen wenn PersNr und Land gleich sind. Diese Abfrage ist dann wiederum die Grundlage der Abfrage "Ergebnis", die nur noch zusammenfasst und sortiert.
    Zwischensummen 01.jpg Zwischensummen 01a.jpg Zwischensummen 01b.jpg Zwischensummen 01c.jpg Zwischensummen 01Ergebnis.jpg Zwischensummen 02.jpg Zwischensummen 02Ergebnis.jpg
     
    andyfau, 11. Juli 2023
    #10
    2 Person(en) gefällt das.
  11. Doming
    Doming hat Ahnung
    ich habe tatsächlich gestern und heute daran getüftelt, wie ich fehlende IDs umgehen kann. Wenn nämlich mittendrin Löcher in der ID-Reihenfolge sind, kann man lfdNr ±1 schon vergessen.
    Also war meine erste Abfrage dergestalt, dass ich ein Feld mit dem Folgedatensatz generiere, auf das ich dann die Personen- und Landesgleichheit prüfe. Gehakt hat es da, wo es mehr als zwei Datensätze mit demselben Land gibt, wie weit will man schachteln?
     
    Doming, 11. Juli 2023
    #11
    1 Person gefällt das.
  12. andyfau
    andyfau hat Ahnung
    Wenn die lfdNr Lücken hat, ist es ja keine laufende Nummer mehr. ;-) Also ist das in jedem Fall eine Voraussetzung, die ggf. ja auch leicht hergestellt werden kann. Zuerst hatte ich auch eine Schachtelung, was natürlich nicht funktioniert, weil man die Tiefe nicht kennt. Des Rätsels Lösung ist die sequentielle Abarbeitung mit der Fortschreibung der jeweils ersten lfdNr. Das Ganze wäre natürlich mit VBA wesentlich einfacher. Jetzt haben wir zwar eine Abfragelösung, aber immer noch keine reine SQL-Lösung. Wäre interessant, wenn sich noch ein SQL-Profi finden würde, der das nochmal umsetzen kann.
     
    andyfau, 11. Juli 2023
    #12
    1 Person gefällt das.
  13. GoNo Neuer User

    Zwischensummen

    Hallo Doming & andyfau,
    da habt ihr beide ja ganz schön gewirbelt und Euch mit dem Hauptproblem der Gruppenbildung bei wiederholten Einsätzen beschäftigt. Und ihr habt alles gut dokumentiert, so dass ich das gut nachvollziehen, nachprogrammieren und ausprobieren kann. Ich hatte einen Bandscheibenvorfall und werde erst in den nächsten Tagen zum Ausprobieren kommen. Dann melde ich mich natürlich noch mal bei Euch. VIELEN DANK aber schon mal
     
  14. GoNo Neuer User
    Doming & andyfau: WOWOHAAAHHHH!!!!!!!!!!
    Diese beiden wilden Abfragen mit den doch nur sehr schwer nachvollziehbaren DomWert-Funktionen führen tatsächlich zu dem gewünschten Ergebnis. Wie könnt ihr auf solche verrückten Lösungen kommen? Kann man das lernen? Wie kann ich mich erkenntlich zeigen? Ich bin das erste Mal in so einem ACCESS-Forum aktiv und kenne die Spielregeln hier nicht. Aber auf alle Fälle nochmal vielen Dank an Euch.
     
  15. Doming
    Doming hat Ahnung
    Hast Du schon, mit der Rückmeldung, das alles funktioniert. (Wobei ich mich dieses Mal nicht angesprochen fühle, denn die Lösung kam nicht von mir.)
    Gehe davon aus, dass niemand, der im Forum antwortet, eine materielle Entlohnung dafür bekommt. Für mich ist es die Herausforderung, ein bestehendes Problem zu lösen, denn nur so kann man lernen.
    Sich selbst theoretische Fragen zu stellen ("lass auf dem Bildschirm <Hallo Welt> erscheinen"), ist da eher langweilig.
     
    Doming, 12. Juli 2023
    #15
Thema:

Zwischensummen

Die Seite wird geladen...
  1. Zwischensummen - Similar Threads - Zwischensummen

  2. Gliederungsebenen mit Zwischensummen automatisch

    in Microsoft Excel Tutorials
    Gliederungsebenen mit Zwischensummen automatisch: 1.1.1 1 1.1.2 -2 1.1.3 4 1.2 8 1.3.1.1 16 1.3.1.2 32 1.3.2.1 64 1.3.2.2 128 1.3.2.3 -256 1.3.3 512 2.1 -1024 2.2 2048 Obige originäre Daten (A2:B13) sollen mit...
  3. Abfragen mit zwischensumme

    in Microsoft Access Hilfe
    Abfragen mit zwischensumme: Guten Tag, ich habe eine Abfrage in der u.a. die Felder "ID","Datum","Konto","Betrag", "Text" enthalten sind. Nun muss ich die Abfrage erweitern, indem ich "Zwischensummen" generiere. Zu jedem...
  4. Noten-Tabelle Durchschnittsnote

    in Microsoft Excel Hilfe
    Noten-Tabelle Durchschnittsnote: Hallo zusammen! Ich habe schwierigkeiten in Excel, ich möchte verschiedene Noten zusammenrechnen lassen und die Zwischensumme dazu berechnen lassen. Soweit kein Problem. zb. "=(C10+D10+E10)/3"...
  5. Zwischensumme und Übertrag automatisch beim Ausdruck

    in Microsoft Excel Hilfe
    Zwischensumme und Übertrag automatisch beim Ausdruck: Hallo Forum, ich benötige mal Eure Hilfe. Bei einer Excel-Datei über mehrere Seiten, soll beim Ausdruck automatisiert für 3 Spalten (H, I und J) eine Zwischensumme und der passende Übertrag...
  6. automatisch Zwischensummen einfügen

    in Microsoft Excel Hilfe
    automatisch Zwischensummen einfügen: Hey Leute, ich hab ne Tabelle auf der in den beiden Spalten einmal Position und einmal Menge steht. Nun brauche ich ein Makro oder eine Formel, welche mir die Positionen erkennt die öfter als...
  7. Zwischensummen verschiedener Tabellenblätter summieren

    in Microsoft Excel Hilfe
    Zwischensummen verschiedener Tabellenblätter summieren: Hallo zusammen, ich möchte die Zwischensummen verschiedener Teilbereiche aus 3 Tabellenblättern in einem separaten Tabellenblatt summieren. Bisher funktioniert das mit "Tabellen konsolidieren",...
  8. Darstellung der "Zwischensumme" im Diagramm

    in Microsoft Excel Hilfe
    Darstellung der "Zwischensumme" im Diagramm: Hallo! Ich habe eine Tabelle erstellt mit Lfd.nr. bis ca.30, bis jetzt habe ich 3 Werte in die Tabelle eintragen können. Aus diesen allen Werten möchte ich die Summe (z.Zt. #DIV/0! , da noch...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden