Forum Discussion
Beschleunigung meines M-Code
Gesundes neues Jahr!
hab mir das Ergebnis(!) Deiner Abfrage noch mal angeschaut, nicht den Code, das ist mir nach wie vor zu umständlich. Das Ergebnis scheint mir, jedenfalls nach Deiner bisherigen Beschreibung nach zu urteilen, fehlerbehaftet. Z. Bsp. ist der 24.12. kein Feiertag, dafür fehlen andere. Auch bekommt MA3 nicht wirklich jeden 5. Samstag einen Dienst zugeordnet.
Zum Projekt allgemein: PQ ist ja kein Planungstool. PQ ist ja vielmehr für Auswertungen konzipiert. Für Planungen solltest Du Scheduler oder Power Automate verwenden.
Zur Geschwindigkeit: Die lange Verarbeitungszeit hängt ziemlich sicher damit zusammen, dass Du jede, für das Endergebnis unnötige Spalte und Zeile vom Anfang bis zum Ende mit durchschleppst. Die Spalte Wochentag z. Bsp. ist doch nur dafür relevant, um Sonntage rauszufiltern oder die Samstagsdienste zu ermitteln. Danach kann sie weg. Oder die ganzen Feiertagszeilen können auch raus.
Bei den Abwesenheiten ist mir noch unklar, wie Du Überschneidungen behandelst. Schau ich mir auch nicht (im Code) an. Die allgemeine Informationslage ist mir insgesamt zu dünn, die Quelltabellenstrukturen vermutlich verbesserungswürdig.
Wenn Du Deinen Code in Aufgabenspezifische Abfragen aufteilst, erreichst Du erhebliche Zeitgewinne. Ich hab mal rumgespielt und das im Bild gezeigte Ergebnis durch Aufteilung des Codes in mehrere Unterabfragen in wenigen Sekunden erreicht. Das entspricht jetzt zwar nicht Deiner Vorgabe, zumal da noch etliche Fragen offen wären, aber der Zeitgewinn ist im Vergleich zu Deinen 35 Minuten, enorm. Na gut... ich hab nur 1 Jahr ausprobiert... :🙂
Hier mal mein Ergebnis:
Mein Endergebnis
Auch frohes neues Jahr.
Das war mir fast klar das das kommt mit den Feiertagen, mit Heiligabend und Silvester ist von mir so gewollt, die Feiertage die für mich in Frage kommen sind alle drin. Aber wie nun von dir Vorgeschlagen die Funktionen ganz auszulagern in eine extra Abrage kann ich auch mal ausprobieren, kann mir aber nicht vorstellen das dies so eine große Minderung an Zeit bringt., Aber werde es ausprobieren.