Wert von Datensatz rekursiv summieren

acam_gruber

Member
Hallo ;)

Aktuell haben wir folgende Situation: Auf dem Vorgang werden die darunterliegenden Zeiterfassungen summiert und in A_SUMME_ZEIT gespeichert (Kennzahlfeld von ZE, Summe "Ist"). Das funktioniert soweit. Allerdings ist uns nun aufgefallen, dass es auch Vorgänge unter Vorgänge (quasi Subvorgänge) geben kann/soll.

Von daher meine Idee ein neues Feld, A_SUMME_VORGANG, zu erstellen (Kennzahlfeld von Vorgang, Summe "A_SUMME_ZEIT"). Allerdings scheint diese Konfiguration nur auf einer Ebene richtig zu funktionieren - und auch nur wenn nur ein "Subvorgang" vorhanden ist. Im Reiter "Datensätze" bei den Verknüpfungsarten kann ich "Nur Primärverknüpfungen" gar nicht anwählen (obwohl diese über den Client so verknüpft sind).

Am Ende des Tages würde ich dann noch ein Feld brauchen, welches "A_SUMME_ZEIT" und "A_SUMME_VORGANG" addiert um es korrekt anzuzeigen.

Ich denke, dass es an der Verknüpfungsart liegt. Was könnte sonst noch das Problem sein?
 

Alexis Kälin

Administrator
Teammitglied
Hallo

Ich habe dies mal versucht nachzustellen:

cas-genesisworld-ist-zeit-berechnung-projekt-vorgang.jpg

Wenn du den Wert via Kennzahlenfeld auf dem Vorgang berechnest, werden immer nur die Zeiterfassungen berechnet, welche direkt an dem Vorgang hängen - d.h. im obigen Beispiel wurden 2 h auf den Vorgang 1 gebucht und 4 h auf den Subvorgang 1. Deine Ziel oder deine Erwartungshaltung wäre, dass dir auf Vorgang 1 6 h angezeigt werden, richtig?

Ich behaupte mal, dass die Zeiterfassungen an Subvorgang 1 nicht zum Vorgang 1 verknüpft werden - auch wenn man dies an der Stelle annehmen würde. Dies siehst du auch im Vorgang 1, wenn du in der Akte die Listenansicht der Vorgänge einblendest.

Was aber auf jeden Fall funktionieren sollte, ist die Aggregierung auf Projektebene. Da wird immer alles zusammengezogen, weil immer zu dem Projekt verknüpft wird, siehe:

cas-genesisworld-ist-zeit-berechnung-projekt.jpg

Du hättest aber gerne auf der ersten Vorgangsebene immer alle Aufwände, welche an dem Vorgang und den Subvorgängen hängen, richtig?

Beste Grüsse

Alexis
 

acam_gruber

Member
Ja genau, wie in deinem Beispiel sollte "Vorgang 1" 2h ZE anzeigen und 4h vom "Subvorgang" - gesamt 6h <-- das wäre das Endziel.

Wenn es mit der "Aggregierung" auf dem Projekt (aller Sub/Vorgänge) funktioniert, wäre das auch eine Lösung. Wie setzt man diese Funktion um?

Lg Michael
 

Alexis Kälin

Administrator
Teammitglied
Ja, dies habe ich leider auf Vorgangsebene auch nicht hinbekommen. Ich denke dies über ein Kennzahlenfeld an der Stelle auch nicht möglich, da die notwendigen Verknüpfungen nicht vorhanden sind (oder anders, als sonst).

Ab dem CAS genesisWorld Projekt geht dies ganz einfach:

cas-genesisworld-ist-zeit-berechnung-projekt-ist.jpg

D.h. hier legst du einfach ein Kennzahlenfeld an und bildest die Summe aller Vorgangs-IST-Werten. Da werden auch die Subvorgänge berücksichtigt. Persönlich würde ich sogar dazu raten, nicht das bereits berechnete Feld vom Vorgang zu aggregieren, sondern den Wert direkt von den Zeiterfassungen zu ziehen:

cas-genesisworld-ist-zeit-berechnung-projekt-ist-ab-zeiterfassungen.jpg

So hast du sicherlich immer den aktuellen IST-Wert.

Beste Grüsse

Alexis
 

acam_gruber

Member
Hallo,

Ich habe das mal auf dem Projekt probiert:
1628055516154.png
Doch dort wird "15PT, 15Min" angezeigt. Wenn ich aber über die Akte bei den Zeiterfassungen alle markiere und "Statistik berechnen -> Ist" mache erhalte ich als Antwort "5T,15Min" also nicht korrekt.

Was kann hier nun das Problem sein? o_O

LG Michael
 

Alexis Kälin

Administrator
Teammitglied
Hallo Michael

Das Problem ist, dass die Listenstatistiken nicht mit dem Wert der Einstellung "Dauer eines Personentags" arbeiten, sondern 1 PT = 24 h ist. In den Reports und auch bei den Kennzahlen, wird der Wert der Einstellung aus der CAS genesisWorld Managementkonsole gezogen:

cas-genesisworld-dauer-des-personentags.jpg

Wenn du es dann mal nachrechnest, kommst du auf die richtigen Werte:
cas-genesisworld-statistik-in-listen.jpg

Mit 8 h pro Tag, ergibt dies 27 h. Ich empfehle dir für Auswertungen von Zeiterfassungen generell den CAS Report zu verwenden. Da hast du gleiche Zahlen, auf Basis der selben Berechnungen.

Beste Grüsse

Alexis
 

Alexis Kälin

Administrator
Teammitglied
Definitiv. Die Funktion stammt noch aus ganz "alten" Zeiten. Früher wurden Dauer-Felder sogar nur als FLOAT in dem Bereich angezeigt - wo du mit dem Wert gar nichts anfangen konntest. Danach wurde dies mal auf diese "24 h Darstellung" angepasst.

Die Funktion sollte aus unserer Sicht aber an der Stelle nicht für Dauer-Felder zur Verfügung stehen - da es wirklich nur verwirrt.

Gruss, Alexis
 

acam_gruber

Member
Hallo,

Ich greife das Thema nochmal kurz auf.
Wie berechne ich den Wert direkt aus der DB?

In der Datenbank habe ich den Wert
A_ZEIT_VERFUEGBARA_SUMME_IST
18.861111111122.7187500000

und in der Projektmaske folgendes:
A_ZEIT_VERFUEGBARA_SUMME_IST
51 PTs, 4 Std, 40 Min68 PTs, 1 Std, 15 Min

Welcher Faktor wird hier gerechnet?

Danke, LG Michael
 

Marcel Graber

Super Moderator
Hallo Michael
Der Wert 1 in der Datenbank entspricht an dieser Stelle 24h. Daher muss dieser Wert in der Datenbank x24 gerechnet werden. Für die anschliessende Umrechnung in Personentage kommt dann aber die Einstellung in der Management Konsole zur Anwendung, welche dir Alexis bereits am 4. August mitteilte.

Beste Grüsse
Marcel
 

acam_gruber

Member
Sowas habe ich auch vermutet aber wenn ich die 18,8611111 x 24 rechne und dann durch 8 (=1PT) kommt 56,58 raus..
Das stimmt doch so auch nicht.. Die PT sind bei uns immer 8h also sollte das doch passen oder?
 

Marcel Graber

Super Moderator
Hallo Michael
Ich kann das nicht nachvollziehen. Wenn ich da bei uns in der DB den Wert 1 eintrage auf dem Float-Feld, wird anschliessend folgendes im Client angezeigt:

1671791871644.png

2 x 8:32 + 6:57 = 24:01
Beachte: Da es sich um eine Fliesskommazahl handelt, kann es daher auf diese kleinen Abweichungen wie in dem Fall kommen. Doch im Grundsatz stimmt es mit den 24h.
Da musst du wohl mit deinem Partner in die weiteren Klärungen gehen, welcher ggf. ein Support-Case beim Hersteller dazu eröffnet.
Geprüft habe ich es bei uns mit der Version x14.1.4.

Beste Grüsse
Marcel
 
Oben Unten