Hallo, erstes Projekt hier und erster Beitrag. Ich bin übrigens ein sehr neuer JMP- und JSL-Neuling und habe in den wenigen Tagen, die ich damit verbracht habe, viel gelernt.
Ich muss also Daten aus einer riesigen Tabelle abrufen, die das zuletzt aufgezeichnete Datum und eine Woche zurück enthält (wie der Titel schon sagt).Ich verwende einen lokalen Datenfilter und habe die Funktion Today() verwendet und In Days(7) subtrahiert, was funktioniert hätte ... nur wenn die Daten täglich aktualisiert würden, was nicht der Fall ist.Meine Frage wäre also, ob es eine Möglichkeit gibt, den lokalen Datenfilter zu verwenden, um das aktuellste Datum in einer Spalte zu finden und von diesem Tag aus eine Woche zuvor zurückzugehen, ohne es hart zu codieren (muss täglich aktualisiert werden, falls vorhanden). sind Daten), wie unten beschrieben.
Verwenden Sie zum Beispiel die wöchentlichen Wetterdaten:
Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Analysis Columns( :LATITUDE ), Statistics( Mean ) ),
Row Table( Grouping Columns( :NAME ) )
),
Local Data Filter(
Add Filter(
columns( :DATE ),
Where( :DATE >= 19Dec2016 & :DATE <= 26Dec2016 )
)
)
);
Da heute der 22. Juni 2020 ist und das letzte aufgezeichnete Datum der 26. Dezember 2016 war, wie könnte ich dann automatisch jeden Tag vorwärts nach neuen Daten suchen, aber, wenn nichts hinzugefügt wird, zu den neuesten Daten gehen und zurückgehen? Woche?
Hoffentlich macht das, was ich gesagt habe, Sinn. Vielen Dank an alle für jeden Rat.
Ich wusste, dass es etwas Einfaches sein musste. Ich habe es so viel schwieriger gemacht, als es sein musste. Es funktioniert bisher großartig (auf einem viel, viel größeren Tisch), also vielen Dank!Wenn sich etwas ergibt, werde ich etwas sagen, aber vielen Dank!
Schauen Sie sich die Col-Max-Funktion an:
names default to here(1);
dt = open("$Sample_Data\Functional Data\Weekly Weather Data.jmp");
dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Analysis Columns( :LATITUDE ), Statistics( Mean ) ),
Row Table( Grouping Columns( :NAME ) )
),
Local Data Filter(
Add Filter(
columns( :DATE ),
Where( :DATE >= col max(:Date) - in days(7) )
)
)
);