NETWORKDAYS-FunktionDieses Add-In gibt die Anzahl ganzer Arbeitstage zwischen zwei Daten zurück und erstellt eine Formelspalte mit dem Ergebnis.Das Skript erkennt Wochenenden automatisch, Feiertage werden jedoch aus der enthaltenen Datei „Holiday List.jmp“ eingelesen. Diese Datei enthält derzeit die Feiertage des Jahres 2016 und befindet sich bei der Installation in Ihrem Add-in-Home-Verzeichnis. So bearbeiten Sie die Datei:
1. Klicken Sie auf das Menü „Ansicht ==> Add-Ins...“.
2. Wählen Sie NETWORKDAYS aus Ihrer registrierten Add-In-Liste aus
3. Klicken Sie auf den Link zum Home-Ordner
4. Öffnen Sie die Datentabelle „Holiday List.jmp“ und fügen Sie auszuschließende Daten hinzu, löschen oder ändern Sie sie
5. Speichern Sie die Datei
Um das Add-In auszuführen : Wählen Sie zwei Datumsspalten in Ihrer Datentabelle aus und wählen Sie dann das Element NETZWERKTAGE aus Ihrem Menü „Add-Ins ==> Benutzerdefinierte Funktionen“ aus.
Beachten Sie, dass die Formelspalte auf Datenänderungen reagiert. Wenn jedoch ein neues Datum außerhalb der ursprünglichen Mindest- und Höchstdaten hinzugefügt wird, sollte die Funktion NETWORKDAYS erneut ausgeführt werden, um die im neuen Bereich enthaltenen Wochenendtage zu berücksichtigen.
Interessiert an der Verwendung von Formeln?Mein Tagebuch mit eingebetteten Formeln könnte Sie interessieren.
Add-in creates column with # of whole days between dates in 2 selected columns.Add-in creates column with # of whole days between dates in 2 selected columns.Das Add-In erstellt eine Spalte mit der Anzahl ganzer Tage zwischen Datumsangaben in zwei ausgewählten Spalten.
DienstprogrammeBetreff: NETWORKDAYS-Funktion@jerry_cooper Dieses Add-in ist sehr nützlich und ich verwende es, um die durchschnittliche Bearbeitungszeit zu berechnen, die mein Labor benötigt, um die Analyseanforderungen zu erfüllen. Ich frage mich, ob Sie mir einige Vorschläge machen können. Manchmal erhalten wir die Anfragen an Feiertagen und für diese Anfragen beginnt die Uhr am nächsten Werktag. Dieses Add-in zählt den Einreichungstag bei der Berechnung des Netzwerktages. Wäre es möglich, einige Änderungen an den Skripten vorzunehmen, sodass der Starttag nicht berechnet wird, wenn er auf einen Feiertag fällt?
Betreff: NETWORKDAYS-FunktionIch glaube, ich habe es geschafft! Ich musste ein paar Änderungen vornehmen:
1. Fügen Sie das Argument „Bruchzahl“ zu den Datumsdifferenzfunktionen hinzu.
2. Der Faktor „+1“ in der Formel wird nicht mehr benötigt und muss gelöscht werden.
3. Ich habe die Modulo 7 == 0-Klausel entfernt, um den Samstag als Arbeitstag beizubehalten.
4. Mir ist aufgefallen, dass, wenn ich Feiertage, die an einem Sonntag liegen, in die Feiertagsliste einbeziehe (wie Neujahr 2017), diese zweimal abgezogen werden (einmal, weil sie ein Sonntag und einmal, weil sie ein Feiertag sind), sodass keine sonntäglichen Feiertage zulässig sind Die Liste.
Damit habe ich es an mehreren Beispielen ausprobiert und es scheint richtig zu funktionieren.
Nochmals vielen Dank, Jerry!!!!
Betreff: NETWORKDAYS-FunktionDanke, Jerry! Ich werde Ihre Vorschläge aufgreifen und Sie wissen lassen, ob es wie erhofft klappt. Das ist toll.
Betreff: NETWORKDAYS-FunktionHallo John,
Ich freue mich, dass Sie das Add-in nützlich fanden. Als Antwort auf Ihre Fragen:
1. Ja, wenn Sie das Argument „Bruchzahl“ zu den Datumsdifferenzfunktionen hinzufügen, erhalten Sie Teiltage. Meine oberflächlichen Tests haben das bestätigt, aber stellen Sie sicher, dass Ihre Ergebnisse Ihren Erwartungen entsprechen ;o).
2. Es ist einfach zu ändern, welche „Wochenendtage“ ausgeschlossen werden sollen. Dazu ist jedoch eine Änderung des enthaltenen Skripts erforderlich. Das Add-in funktioniert, indem es eine Matrix von auszuschließenden Tagen erstellt – dies wird als „Ausschlüsse“ bezeichnet. Die „Ausschluss“-Matrix besteht aus den Feiertagen und allen Samstagen und Sonntagen zwischen dem maximalen und minimalen Datum aus den beiden ausgewählten Datumsspalten. Sie können die tatsächlichen Werte für „Ausschlüsse“ anzeigen, indem Sie im Formeleditor auf die Formel doppelklicken (diese liegen im JMP-Datumsformat vor, dh Anzahl der Sekunden seit dem 1. Januar 1904). Gehen Sie wie folgt vor, um das Skript so zu ändern, dass verschiedene Wochentage ausgeschlossen werden:
A. Wählen Sie „Ansicht->Add-Ins…“ aus Ihrem JMP-Menü
B. Wählen Sie NETZWERKTAGE im Fenster „Registrierte Add-Ins“ aus
C. Klicken Sie auf den Link neben „Home Folder“, um den Ordner zu öffnen, der das Skript enthält
D. Erstellen Sie eine Sicherungskopie der Datei NetWorkDays.jsl (nur für den Fall ...)
e. Doppelklicken Sie auf die Datei NetWorkDays.jsl, um den Skripteditor aufzurufen
ich. Suchen Sie nach der Zeile mit der Modulo-Funktion. Ein Rest von 1 bedeutet, dass ein Sonntag gefunden wurde, ein Rest von 0 bedeutet, dass ein Samstag gefunden wurde.
ii. Durch das Löschen von „ | Modulo( Day Of Week( mindate ) + i, 7 ) == 0“ aus der Anweisung wird der Samstag aus den Ausschlüssen entfernt.
iii. Speichern Sie das Skript unter demselben Namen
Übrigens können Sie das „Bruch“-Argument zu den Datumsdifferenzfunktionen im Skript hinzufügen, wenn Sie möchten, damit Sie dies nicht nachträglich tun müssen ...
Hoffe das hilft.
-Jerry
Betreff: NETWORKDAYS-FunktionAußerdem, Jerry, was wäre, wenn für uns der Samstag als Arbeitstag zählt, der Sonntag jedoch nicht? Ich bin ein Neuling und verstehe nicht, was in Ihrer Formel den Sa/So-Ausschluss bewirkt.
Betreff: NETWORKDAYS-FunktionPS Würde es genügen, einfach das „Bruch“-Argument zu den beiden Datumsdifferenzfunktionen in der Formel hinzuzufügen?
Betreff: NETWORKDAYS-FunktionHallo Jerry,
Vielen Dank für dieses nützliche Add-In. Ich frage mich, ob Sie einige Vorschläge machen könnten, da Sie bereits darüber nachgedacht haben.
Ich muss die Dauer (in Bruchteilen von Tagen) zwischen zwei Datums-/Uhrzeitwerten ohne Wochenendzeiträume berechnen, also ohne den 48-Stunden-Zeitraum von 12 Uhr am Samstagmorgen bis 12 Uhr am Montagmorgen.
Diese NETWORKDAYS-Funktion gibt mir die ganze Anzahl von Arbeitstagen, aber nicht die gebrochene Anzahl von Arbeitstagen zwischen zwei Datums-/Zeitangaben. Wäre es einfach, Letzteres zu ändern?
John