Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Überlappende Daten aus verschiedenen Datensätzen zusammenfassen

Begonnen von emmoticon, April 28, 2021, 08:36:07

⏪ vorheriges - nächstes ⏩

emmoticon

Hallo zusammen!

Ich kaue seit geraumer Zeit auf einem Problem, wofür ich im Internet bislang nicht fündig geworden.

Ich habe in einer Tabelle "tbl_Änderungen" mehrere Datensätze, die Änderungen an einer bestehenden Tabelle mit Personaldaten "tbl_Personal" erfassen soll. Diese Änderungen sind zeitmäßig mit Datum begrenzt und aufgrund des Formats auch in verschiedenen Spalten erfasst. Das heißt, dass mehrere Änderungen u.U. denselben Zeitraum ansprechen.

Sie dürfen in diesem Board keine Dateianhänge sehen.

Basierend auf den Daten in der tbl_Personal und der tbl_Änderungen möchte ich eine vom Betrachtungszeitraum abhängigen Berechnung machen und sämtliche Änderungen von den Grunddaten mit einfließen lassen. Das heißt: Bei der Berechnung nehme ich erst sämtliche Daten aus der tbl_Personal und wenn es Änderungen gibt, werden die für die Berechnung herangezogen.

Bislang kann ich die Berechnung ohne Weiteres abhängig vom Datum machen, wenn ich die Datensätze einzeln betrachte. Das geht auch, wenn beide Änderungsfaktoren (Multiplikator und Abteilung) zeitlich unabhängig voneinander als separate Datensätze bestehen oder wenn beide im selben Zeitraum auch drin stehen. Leider passiert das relativ selten.

Meine Herausforderung:
Sie dürfen in diesem Board keine Dateianhänge sehen.
Meine Wunschlösung:
Sie dürfen in diesem Board keine Dateianhänge sehen.

Ich stehe da voll auf dem Schlauch und weiß nicht mehr weiter. Jede weitere Meinung hilft mir ungemein. Vielen Dank schonmal!
Gruß, Smiley mit Rechtschreibfehler

emmoticon

Würde es helfen, wenn ich abhängig vom Zeitraum eine Hilfstabelle mit den Daten erstelle? Ich hab das ausprobiert, da habe ich aber gänzlich andere Probleme.

Ehrlich gesagt habe ich auch keine Lust, die gleichen Daten in einer extra Tabelle nur auf unterschiedliche Zeiträume aufzuteilen um zeitliche Überlappungen anzeigen zu lassen.
Gruß, Smiley mit Rechtschreibfehler

MzKlMu

Hallo,
ich glaube nicht, dass das Datenmodell so passt.
Wobei ich annehme, dass der Multiplikator das Personal kennzeichen ( 1=Vollzeit, <1 = Teilzeit) richtig ?
In die Personaltabelle hat der Multiplikator und die Abteilung nichts zu suchen.
In diese Tabelle kommen nur die reinen Personendaten.
Für den Multiplikator wird eine extra Tabelle benötigt.
In die Änderungstabelle kommt dann das Datum, der Fremdschlüssel zur Abteilung und der FS zum Multiplikator.
Wenn eine Person immer einer Abteilung zugeordnet sein muss, ist das Feld "Änderungsdatum_Bis" überflüssig.

Die jetzt angelegten Beziehungen sind unvollständig und Personentabelle ist so falsch (die ist als virtuelle (.._1) Tabelle eingebunden und nicht direkt).
Und der Datentyp "Kurzer Text" ist als Primärschlüssel ungeeignet, eine Zahl (LongInteger=Autowert) ist da zu bevorzugen.

Die Tabellenstruktur bedarf der Überarbeitung.
Gruß Klaus

ebs17

Aus den bereitgestellten Daten ist nicht wirklich und zweifelsfrei erkennbar, was zusammengefasst werden soll, da ist die Datenlage einfach zu dünn. Die Bilder sind bunt, vermitteln aber auch keine unbedingte Klarheit.

Generell:
- Bezüglich Überschneidungen könnte man die Zeitraumgrenzen vergleichen. Das kann aber schnell tricky werden.
- Anwendungssicherer ist es, die Zeiträume in Einzeltage aufzulösen und diese Einzeltage zusammenzufassen. Ein Zeitraumbeginn davon wäre ein Tag, der keinen Vorgänger hat, ein Zeitraumende hätte dann keinen Nachfolger. So etwas bekäme man in Summe mit einer Abfrage hin.
Mit freundlichem Glück Auf!

Eberhard

emmoticon

Hallo und herzlichen Dank für die Antworten!
Ich war leider zeitlich sehr eingespannt, sodass ich jetzt erst die Antworten zu lesen bekomme.

Zitat von: MzKlMu am Mai 07, 2021, 16:44:27Wobei ich annehme, dass der Multiplikator das Personal kennzeichen ( 1=Vollzeit, <1 = Teilzeit) richtig ?
Das ist richtig. Die Daten bekomme ich so angeliefert und an die Möglichkeit, die Tabelle aufzuteilen habe ich noch nicht so gedacht. Danke!

Ich werde das mal ausprobieren und dann rückmelden, ob ich dann das gewünschte Ergebnis habe.

Zitat von: MzKlMu am Mai 07, 2021, 16:44:27Und der Datentyp "Kurzer Text" ist als Primärschlüssel ungeeignet, eine Zahl (LongInteger=Autowert) ist da zu bevorzugen.
In meiner Beispieldatenbank sehe ich das ein. Da ich aber die Daten so angeliefert bekomme und ich eigentlich pro Mitarbeiter schon eine einzigartige ID in Textform habe, möchte ich nicht noch einen Index hinzufügen.

Zitat von: ebs17 am Mai 07, 2021, 16:59:47Aus den bereitgestellten Daten ist nicht wirklich und zweifelsfrei erkennbar, was zusammengefasst werden soll, da ist die Datenlage einfach zu dünn. Die Bilder sind bunt, vermitteln aber auch keine unbedingte Klarheit.
Letztendlich wollte ich eigentlich nur eine Möglichkeit erfahren wie ich überlappende Ereignisse zweifelsfrei für einen Zeitraum für eine Person bestimmen kann. Die Datenlage ist dünn, da ich versuchte mein Problem erstmal möglichst mit meinen "Worten" zu beschreiben, ohne meine bestehende Datenbank mit Anonymisierungsversuchen ins Netz zu stellen. Dein Tipp mit dem Auflösen in Einzeltagen werde ich auch mal ausprobieren und dann mal rückmelden ob es geklappt hat.

Vielen Dank schonmal!
Gruß, Smiley mit Rechtschreibfehler