Berechnen der Dauer zwischen zwei Daten aus verschiedenen Jahren<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich verwende JSL-Skripting, um einen meiner Berichte auszuführen, der die Dauer zwischen zwei Daten berechnen kann. Mein Bericht hat ein Startdatum in Spalte „A“ und ein Enddatum in Spalte „E“. Ich möchte Folgendes berechnen:
1. Dauer zwischen diesen beiden Tagen, ausgenommen Wochenenden
2, Dauer zwischen diesen beiden Tagen, Startdatum ist der 31.10.2012 und Enddatum ist der 20.02.2013, und wenn ich das Forum „Formel(Tag(:E - :A) )“ verwendet habe, erhalte ich einen Wert von 10 statt etwas Größerem. Das Startdatum liegt im Jahr 2012 und das Enddatum im Jahr 2013. Muss ich also Änderungen an meinem Skript vornehmen? Die anderen Zeiträume, die in dasselbe Jahr fallen, werden ordnungsgemäß mit derselben Formel berechnet. Die Daten, die in verschiedene Jahre fallen, werden jedoch nicht genau berechnet.
Kann mir jemand bei den beiden Fragen helfen?
Danke,
Betreff: Berechnung der Dauer zwischen zwei Daten aus verschiedenen JahrenJa, es hat funktioniert. Vielen Dank!!
Betreff: Berechnung der Dauer zwischen zwei Daten aus verschiedenen JahrenOk, ich glaube, ich verstehe das Problem. JMP folgt offenbar nicht dem ISO 8601-Standard (dh der erste Tag der Woche ist Montag), sondern der US-amerikanischen Tradition, den Sonntag als ersten Tag der Woche zu feiern. Dies erklärt perfekt Ihre obigen Ergebnisse, da meine Formel ersteres voraussetzt. Es ist jedoch trivial, die Formel anzupassen, um dies zu berücksichtigen (oder jede andere lokale Definition des Wochentags oder der Tage, die zum Wochenende gehören).
Versuchen Sie z. B. Folgendes:
Versuchen ( Summe ( 1 < Wochentag ( Index ( : A , : E , 86400 ) ) <= 6 ) - 1 )
Unten ist meine Testausgabe und sie scheint zu funktionieren. Der „Schalter“ bleibt am Wochenende (Sa-So, wo ich wohne) stehen. Entfernen Sie -1, wenn Sie mit „Dauer zwischen zwei Daten“ die gesamte Dauer von Start- und Enddatum einbeziehen möchten. (Hier A = heute, E = zukünftige Tage)
| A | E | Wochentag | Arbeitstage |
| 05.04.2013 | 05.04.2013 | Freitag | 0 |
| 05.04.2013 | 06.04.2013 | Samstag | 0 |
| 05.04.2013 | 07.04.2013 | Sonntag | 0 |
| 05.04.2013 | 08.04.2013 | Montag | 1 |
| 05.04.2013 | 09.04.2013 | Dienstag | 2 |
| 05.04.2013 | 10.04.2013 | Mittwoch | 3 |
| 05.04.2013 | 11.04.2013 | Donnerstag | 4 |
| 05.04.2013 | 12.04.2013 | Freitag | 5 |
| 05.04.2013 | 13.04.2013 | Samstag | 5 |
| 05.04.2013 | 14.04.2013 | Sonntag | 5 |
| 05.04.2013 | 15.04.2013 | Montag | 6 |
| 05.04.2013 | 16.04.2013 | Dienstag | 7 |
| 05.04.2013 | 17.04.2013 | Mittwoch | 8 |
| 05.04.2013 | 18.04.2013 | Donnerstag | 9 |
| 05.04.2013 | 19.04.2013 | Freitag | 10 |
| 05.04.2013 | 20.04.2013 | Samstag | 10 |
| 05.04.2013 | 21.04.2014 | Montag | 271 |
| 05.04.2013 | 22.04.2015 | Mittwoch | 533 |
Betreff: Berechnung der Dauer zwischen zwei Daten aus verschiedenen JahrenDie Daten sind numerisch fortlaufend, Datumsformat. Ich möchte die Anzahl der Wochentage ohne Wochenenden berechnen. Beispieldaten: –
| Geplanter Starttermin | Neues Abschlussdatum der Aufgabe |
| 03.01.2013 | 03.01.2013 |
| 03.01.2013 | 04.01.2013 |
| 08.01.2013 | 08.01.2013 |
| 08.01.2013 | 08.01.2013 |
| 1.9.2013 | 1.9.2013 |
| 1.9.2013 | 1.9.2013 |
| 1.9.2013 | 1.11.2013 |
| 1.9.2013 | 1.9.2013 |
| 1.9.2013 | 10.01.2013 |
| 1.9.2013 | 1.9.2013 |
| 10.01.2013 | 1.11.2013 |
| 10.01.2013 | 1.11.2013 |
Betreff: Berechnung der Dauer zwischen zwei Daten aus verschiedenen JahrenIch habe Ihre Formel ausprobiert. Sie funktioniert für einige Zellen. Sehen Sie sich meine Daten unten an. Verwenden Sie Ihre Formel. Die Zeilen 1 und 2 widersprechen sich.
| Geplanter Starttermin | Neues Abschlussdatum der Aufgabe | MS |
| 03.01.2013 | 03.01.2013 | 0 |
| 03.01.2013 | 04.01.2013 | 0 |
| 08.01.2013 | 08.01.2013 | 0 |
| 08.01.2013 | 08.01.2013 | 0 |
| 1.9.2013 | 1.9.2013 | 0 |
| 1.9.2013 | 1.9.2013 | 0 |
| 1.9.2013 | 1.11.2013 | 1 |
| 1.9.2013 | 1.9.2013 | 0 |
| 1.9.2013 | 10.01.2013 | 1 |
| 1.9.2013 | 1.9.2013 | 0 |
| 10.01.2013 | 1.11.2013 | 0 |
| 10.01.2013 | 1.11.2013 | 0 |
| 02.01.2013 | 02.01.2013 | 0 |
| 02.01.2013 | 08.01.2013 | 4 |
| 04.01.2013 | 04.01.2013 | -1 |
| 04.01.2013 | 04.01.2013 | -1 |
| 04.01.2013 | 04.01.2013 | -1 |
| 04.01.2013 | 01.07.2013 | 1 |
| 04.01.2013 | 04.01.2013 | -1 |
| 04.01.2013 | 04.01.2013 | -1 |
| 04.01.2013 | 04.01.2013 | -1 |
| 04.01.2013 | 08.01.2013 | 2 |
| 04.01.2013 | 04.01.2013 | -1 |
| 04.01.2013 | 04.01.2013 | -1 |
| 04.01.2013 | 04.01.2013 | -1 |
| 04.01.2013 | 01.07.2013 | 1 |
| 04.01.2013 | 04.01.2013 | -1 |
| 04.01.2013 | 04.01.2013 | -1 |
| 04.01.2013 | 04.01.2013 | -1 |
| 04.01.2013 | 08.01.2013 | 2 |
| 04.01.2013 | 04.01.2013 | -1 |
| 04.01.2013 | 01.07.2013 | 1 |
| 01.07.2013 | 08.01.2013 | 1 |
| 04.01.2013 | 04.01.2013 | -1 |
| 04.01.2013 | 04.01.2013 | -1 |
| 01.07.2013 | 01.07.2013 | 0 |
| 01.07.2013 | 1.9.2013 | 2 |
| 10.01.2013 | 10.01.2013 | 0 |
| 01.07.2013 | 01.07.2013 | 0 |
| 01.07.2013 | 01.07.2013 | 0 |
| 01.07.2013 | 01.07.2013 | 0 |
| 01.07.2013 | 08.01.2013 | 1 |
| 08.01.2013 | 1.9.2013 | 1 |
| 01.07.2013 | 01.07.2013 | 0 |
| 01.07.2013 | 01.07.2013 | 0 |
| 01.07.2013 | 08.01.2013 | 1 |
| 01.07.2013 | 01.07.2013 | 0 |
| 01.07.2013 | 01.07.2013 | 0 |
| 01.07.2013 | 08.01.2013 | 1 |
| 08.01.2013 | 08.01.2013 | 0 |
| 08.01.2013 | 08.01.2013 | 0 |
| 08.01.2013 | 1.9.2013 | 1 |
| 1.9.2013 | 16.01.2013 | 5 |
| 16.01.2013 | 22.01.2013 | 4 |
| 08.01.2013 | 08.01.2013 | 0 |
| 08.01.2013 | 08.01.2013 | 0 |
| 1.9.2013 | 1.9.2013 | 0 |
| 1.9.2013 | 10.01.2013 | 1 |
| 10.01.2013 | 10.01.2013 | 0 |
| 15.01.2013 | 15.01.2013 | 0 |
| 15.01.2013 | 16.01.2013 | 1 |
| 15.01.2013 | 16.01.2013 | 1 |
| 18.01.2013 | 19.02.2013 | 22 |
| 19.02.2013 | 19.02.2013 | 0 |
| 15.01.2013 | 15.01.2013 | 0 |
| 15.01.2013 | 16.01.2013 | 1 |
| 16.01.2013 | 18.01.2013 | 1 |
| 15.01.2013 | 15.01.2013 | 0 |
| 15.01.2013 | 16.01.2013 | 1 |
| 16.01.2013 | 18.01.2013 | 1 |
| 1.9.2013 | 1.9.2013 | 0 |
| 1.9.2013 | 1.9.2013 | 0 |
| 1.9.2013 | 10.01.2013 | 1 |
| 10.01.2013 | 10.01.2013 | 0 |
| 10.01.2013 | 10.01.2013 | 0 |
| 10.01.2013 | 10.01.2013 | 0 |
| 10.01.2013 | 10.01.2013 | 0 |
| 10.01.2013 | 10.01.2013 | 0 |
| 10.01.2013 | 1.11.2013 | 0 |
| 10.01.2013 | 10.01.2013 | 0 |
| 16.01.2013 | 29.01.2013 | 9 |
| 16.01.2013 | 29.01.2013 | 9 |
| 29.01.2013 | 01.02.2013 | 2 |
| 1.11.2013 | 1.11.2013 | -1 |
| 1.11.2013 | 1.11.2013 | -1 |
| 1.11.2013 | 1.11.2013 | -1 |
| 1.11.2013 | 14.01.2013 | 1 |
Betreff: Berechnung der Dauer zwischen zwei Daten aus verschiedenen JahrenHaben Sie jemals die Formel in meiner Antwort ausprobiert? Es sollte Wochentage ausschließen und funktioniert bei mir, wenn die Spalten im Datumsformat (keine Zeichenfolgen) vorliegen.
Betreff: Berechnung der Dauer zwischen zwei Daten aus verschiedenen JahrenDies ist die gleiche Berechnung wie die Verwendung der Datumsdifferenz, umfasst aber auch Wochenenden. Gibt es eine Möglichkeit, NUR Wochentage zu berechnen?
Betreff: Berechnung der Dauer zwischen zwei Daten aus verschiedenen JahrenDas funktioniert, aber ich möchte keine Wochenenden in meine Berechnung einbeziehen. Gibt es eine Möglichkeit, nur Wochentage zu berechnen?
Betreff: Berechnung der Dauer zwischen zwei Daten aus verschiedenen JahrenWenn Ihre Start- und Enddatumsspalten das fortlaufende, numerische oder Datumsformat haben; dann könnte die Formel für die Dauer zwischen den beiden Spalten in Tagen etwa so lauten: Datumsdifferenz(:Startdatum, :Enddatum, „Tag“)
Wenn Ihre Datumsspalten aus Zeichen bestehen, können Sie den Text wie oben von PMroz analysiert werden mit:
Datumsunterschied(
informat(:Startdatum, „m/d/j“),
informat(:Enddatum, „m/d/j“),
"Tag")
Betreff: Berechnung der Dauer zwischen zwei Daten aus verschiedenen JahrenDadurch erhalten Sie die verstrichene Zeit in Tagen.
Fügen Sie zunächst eine neue numerische Variable/Spalte hinzu.
Wählen Sie im Fenster „Formeleditor“ das erste Datum aus, klicken Sie auf „Subtrahieren“, wählen Sie das zweite Datum aus, dividieren Sie dann durch, wählen Sie die Funktion „Datum/Uhrzeit“, geben Sie in Tagen eine 1 in die Klammer ein und klicken Sie auf „Anwenden“.
(:diagnosis_date - :dob_date) / In Tagen( 1 )
Betreff: Berechnung der Dauer zwischen zwei Daten aus verschiedenen JahrenWie wäre es mit der Verwendung der Spalteninformationen und der Angabe der Spalten „Startdatum“ und „Enddatum“ mit Datentyp = Numerisch, Modellierungstyp = Kontinuierlich, Format = Datum = m/t/j, Eingabeformat = Datum = m/t/j? Fügen Sie dann eine zusätzliche Spalte hinzu und geben Sie mithilfe der Spaltenformel Enddatum-Startdatum an und wählen Sie außerdem Formatdauer: Tag: Std.: Min
Betreff: Berechnung der Dauer zwischen zwei Daten aus verschiedenen Jahrenkannst du es allgemeiner formulieren? Ich werde meine Daten klar erklären. Ich habe eine Spalte „Startdatum“ mit dem Format Datum (MM/TT/JJJJ) und eine weitere Spalte „Enddatum“ mit dem Format MM/TT/JJJJ. Ich möchte das Startdatum vom Enddatum subtrahieren, mein Datum ist
Anfangsdatum Enddatum
31.10.2012 31.03.2013
15.09.2012 13.02.2013
15.08.2012 29.01.2013
Jetzt möchte ich Enddatum - Startdatum subtrahieren, um den Wert in Tagen zu erhalten
Da das Startdatum im Jahr 2012 und das Enddatum im Jahr 2013 liegt, erhalte ich nicht den richtigen Wert, wenn ich einfach sage: Enddatum -: Startdatum
Betreff: Berechnung der Dauer zwischen zwei Daten aus verschiedenen Jahren1. Diese Spaltenformel sollte die Anzahl der Arbeitstage zwischen den beiden Tagen angeben:
Versuchen ( Summe ( Wochentag ( Index ( : A , : E , 86400 ) ) < 6 ) - 1 )
Fügen Sie dies in den Formeleditor ein. Try() wird nur benötigt, wenn in der Datumsspalte leere Zellen vorhanden sind. Die -1 dient dazu, das Start- (oder End-)Datum aus der Summe auszuschließen. 86400 ist die Anzahl der Sekunden in 24 Stunden.
2. Die Spaltenformel, die dem PMroz-Vorschlag entspricht, wäre:
( : E - : A ) / 86400
Betreff: Berechnung der Dauer zwischen zwei Daten aus verschiedenen JahrenKönnen Sie weitere Informationen bereitstellen?Welchen Datentyp und welches Format haben die Spalten A und E?Wenn Sie Datumsangaben subtrahieren, erhalten Sie außerdem die Anzahl der Sekunden dazwischen.Hier ist ein einfaches Beispiel, das die Datumsdifferenz in Tagen berechnet:
ein Treffen = informieren ( „31.10.2012“ , „m/t/j“ ) ;
edate = informieren ( „20.02.2013“ , „m/t/j“ ) ;
cdate = ( edate - ein Treffen ) / 3600 / 24 ;
Das führt zu
112