Datumsfunktion in jsl.Ich habe eine Tabelle mit einem Zeitstempel für alle Zeilen.
Ich benötige aber nur die Daten der letzten 7 Tage. Gibt es eine einfache Möglichkeit, alle Daten der letzten 7 Tage zu löschen?
Ich bin neu bei jsl und alle Eingaben werden hilfreich sein.
Betreff: Datumsfunktion in jsl.Hier ist ein vollständiges Skript, das Ihnen ein Ergebnis anzeigen sollte
Names Default to Here( 1 );
dt = New Table( "test",
add rows( 100 ),
New Column( "start date",
formula( Random Uniform( Today() - In Days( 12 ), Today() ) ),
Format( "m/d/y", 10 )
)
);
dt:start date << delete formula;
New Column( "START_SHORT_DATE",
Formula( :start date - Time Of Day( :start date ) ),
Format( "m/d/y", 10 ),
);
New Column( "Todays Date",
Formula( Today() - Time Of Day( Today() ) ),
Format( "m/d/y", 10 )
);
New Column( "Ref Date",
Formula( Today() - In Days( 7 ) ),
Format( "m/d/y", 10 ),
);
Current Data Table() << select where( :Ref Date < :START_SHORT_DATE );
Betreff: Datumsfunktion in jsl.Tut mir leid, dass ich das nicht früher mitbekommen habe. Sie benötigen Run Formulas(), um sicherzustellen, dass alle Formeln vor Select Where() ausgewertet werden.
Clear Symbols();
Delete Symbols();
clear globals();
//Open master data list
S = Open("~/Downloads/sample.xlsx");
New Column( "START_SHORT_DATE",
Formula( :start date - Time Of Day( :start date ) ),
Format( "m/d/y", 10 ),
);
New Column( "Todays Date",
Formula( Today() - Time Of Day( Today() ) ),
Format( "m/d/y", 10 )
);
New Column( "Ref Date",
Formula( Today() - In Days( 7 ) ),
Format( "m/d/y", 10 ),
);
s << run formulas();
s << select where( :Ref Date < :START_SHORT_DATE );
Übrigens: Dazu braucht man nicht unbedingt alle Formelspalten.
Clear Symbols();
Delete Symbols();
Clear Globals();
//Open master data list
S = Open( "~/Downloads/sample.xlsx" );
s << select where(
(Today() - Time Of Day( Today() ) - In Days( 7 )) < :start date - Time Of Day( :start date )
);
Betreff: Datumsfunktion in jsl.Ich habe genau den gleichen Code kopiert und versucht, ihn auszuführen. Alle Spalten werden ordnungsgemäß erstellt. Aber die folgende Zeile scheint nicht zu funktionieren:
"
<SPAN class="token function">current data table</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">)</SPAN> <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> select where</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Ref Date <SPAN class="token operator"><</SPAN> <SPAN class="token punctuation">:</SPAN>START_SHORT_DATE <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Es wird nichts ausgewählt. Ich habe versucht, die Operatoren „größer als“, „kleiner als“ und „gleich“ zu verwenden. Nichts scheint zu funktionieren.
Betreff: Datumsfunktion in jsl.Das Problem ist, dass die Funktionen Kurzes Date() Und Abkürzung Datum() Gibt Zeichenfolgen und keine Datumswerte zurück. Sie können einen Datumswert (der numerisch ist) nicht mit einer Zeichenfolge vergleichen.
Versuchen Sie stattdessen Folgendes:
New Column( "START_SHORT_DATE",
Formula( :start date - Time Of Day( :start date ) ),
Format( "m/d/y", 10 ),
);
New Column( "Todays Date",
Formula( Today() - Time Of Day( Today() ) ),
Format( "m/d/y", 10 )
);
New Column( "Ref Date",
Formula( Today() - In Days( 7 ) ),
Format( "m/d/y", 10 ),
);
current data table() << select where( :Ref Date < :START_SHORT_DATE );
Betreff: Datumsfunktion in jsl.Hier ist der Code -
Clear Symbols();
Delete Symbols();
clear globals();
//Open master data list
S = Open("C:\Enthu\sample.xlsx","invisible");
current data table(S);
New Column( "START_SHORT_DATE", Numeric, Formula( Short Date( :start date ) ), );
New Column("Todays Date", Character,Formula(Abbrev Date(today())));
New Column("Ref Date", Character,Formula(Abbrev Date(today()-In Days(7))));
S << select where( :Ref Date < :START_SHORT_DATE );
Betreff: Datumsfunktion in jsl.Können Sie den genauen Code zeigen, den Sie verwenden und der nicht funktioniert, und könnten Sie ein Beispiel Ihrer Datentabelle bereitstellen?
Betreff: Datumsfunktion in jsl.Vielen Dank für die Antwort. Wie oben erwähnt, habe ich eine neue Spalte erstellt und today() - In Days(7) gedruckt, was einwandfrei funktioniert.
Wenn ich danach versuche, zwei Spalten zu vergleichen, sehe ich kein Ergebnis/Fehler. Alle Datumsspalten sind numerisch.
Betreff: Datumsfunktion in jsl.Mir steht JMP 12 nicht zur Verfügung, um zu überprüfen, ob die Funktion „In Days()“ verfügbar ist.Da In Days() jedoch lediglich die Anzahl der Sekunden an einem Tag ermittelt und dann das Ergebnis mit der Zahl in (7) multipliziert, können Sie die Formel einfach wie folgt ändern:
today()-7*60*60*24
Betreff: Datumsfunktion in jsl.Dieses Skript funktioniert bei mir nicht.
Der Teil „today() - Indays(7)“ funktioniert, aber beim Datumsvergleich stimmt etwas nicht.
Der Debugger zeigt keinen Fehler an, aber wenn ich ihn ausführe, passiert nichts. Ich verwende JMP 12. Ist das ein Problem?
Betreff: Datumsfunktion in jsl.dt << select where( today() - In Days( 7 ) < :Your date column );
dt << delete rows;
Dadurch werden alle Zeilen ausgewählt, in denen Ihre Datumsspalte (ersetzen Sie ihren Namen in der ersten Zeile der JSL) kleiner als das aktuelle Datum/Uhrzeit ist – 7 Tage.Dann löscht die Funktion „Zeilen löschen“ alle ausgewählten Zeilen.
Wenn Sie möchten, dass die Zeilen 7 Tage vor Mitternacht und nicht 7 Tage vor diesem Zeitpunkt (today()) gelöscht werden, müssen Sie die aktuelle Zeit vom Wert der Funktion today() subtrahieren.
dt << select where( today() - Time of Day( today() ) - In Days( 7 ) < :Your date column );
dt << delete rows;