Führen Sie das Datumsfeld aus, bevor Sie Daten löschenIm folgenden Skript werden alle Daten aus meiner Tabelle gelöscht, bevor ich die Datenfelder ausführen kann.
Ich versuche, Daten außerhalb meines Datumsbereichs zu löschen.
Kann ich modal irgendwie benutzen?
Thx - Matt
_____________________________________________________________
// Alle Namen öffnen und zurücksetzen, Datum abfragen
Names Default To Here (1);
dt_run = Open ("data.jmp");
// warte auf offen
warte (0);
dt_run << clear row states;
dt_run << Spaltenauswahl löschen ();
startNW = Neues Fenster ("Start",
/// << Modal, /// erlaubt es weder dem Skript noch dem Benutzer, fortzufahren, bis das Textfeld beantwortet wurde
StartDate << Max Date (Col Max (: Name ("Date"))) << Min Date (Col Min (: Name ("Date")));
StartDate = Kalenderbox (),
Button Box ("OK",
startNW << Fenster schließen;
StartDate << Set Function (Funktion ({this, date}, theStartDate = StartDate << Get Date));
)
);
runEndDate = Expr (
endNW = Neues Fenster ("Ende",
EndDate = Kalenderfeld (),
Button Box ("OK",
endNW << Fenster schließen;
runSelect;
)
);
endDate << Max Date (Col Max (: Name ("Date"))) << Min Date (Col Min (: Name ("Date")));
EndDate << Set Function (Funktion ({this, date}, theEndDate = endDate << Get Date));
);
runSelect = Expr (
dt_run << wähle wo (: Name ("Datum")> theStartDate &: Name ("Datum") );
dt_run << Zeilenauswahl umkehren ();
dt_run << Zeilen löschen ();
Betreff: Datumsfeld ausführen, bevor Daten gelöscht werdenIch glaube, dass Sie durch Verschieben der StartDate-Zeile nach dem Definieren der Fensterkomponenten das bekommen, was Sie wollen
//Open and reset all names, ask for date
Names Default To Here( 1 );
dt_run = Open( "data.jmp" );
//wait for open
Wait( 0 );
dt_run << clear row states;
dt_run << Clear Column Selection();
startNW = New Window( "Start",
<<MODAL> theStartDate & :Name( "Date" ) < theEndDate )
);
dt_run << Invert Row Selection();
dt_run << Delete Rows();</MODAL>
Betreff: Datumsfeld ausführen, bevor Daten gelöscht werdenIch habe Ihr Skript überarbeitet, um bedingten Datenfluss zu ermöglichen.
//Open and reset all names, ask for date
Names Default To Here( 1 );
dt_run = Open( "Data_date.jmp" );
//wait for open
Wait( 0 );
dt_run << clear row states;
dt_run << Clear Column Selection();
startNW = New Window( "Start Day (note: day after date)",
<<MODAL> theStartDate & :Name( "Date" ) < theEndDate );
dt_run << Invert Row Selection();
dt_run << Delete Rows();
dt_run << Save( "date_selection.jmp" );
Close All( Data Tables, No Save );
dt_run = Open( "date_selection.jmp" );
///Graphs
New Window( "ProtoCP_Monitor - Variability Chart",
V List Box(
Variability Chart(
Y( :PV waves ),
X( :Date, :Time ),
Std Dev Chart( 0 ),
SendToReport(
Dispatch( {"Variability Chart for PV"}, "2", ScaleBox, {Min( 0 ), Max( 2 ), Inc( 0.02 ), Minor Ticks( 0 )} )
)
),
//more charts but deleted script to shorten post
)
) << Journal();
// Save and Close The Journal
Current Journal() << save Journal( "stuff.jrn" );
);
</MODAL>Betreff: Datumsfeld ausführen, bevor Daten gelöscht werdenDer Löschvorgang sollte wie unten gezeigt funktionieren.
Gleiches Problem, obwohl das Skript startet und die Diagramme erstellt, bevor ich mit der Kalenderbox fertig bin ()
//Open and reset all names, ask for date
Names Default To Here( 1 );
dt_run = Open( "Data_date.jmp");
//wait for open
wait(0);
dt_run << clear row states;
dt_run << Clear Column Selection();
startNW = New Window( "Start Day (note: day after date)",
<<MODAL> theStartDate & :Name( "Date" ) < theEndDate );
dt_run << Invert Row Selection();
dt_run << Delete Rows();
dt_run << Save( "date_selection.jmp");
Close All( Data Tables, No Save );
);
Names Default To Here( 1 );
dt_run = Open( "date_selection.jmp");
///Graphs
New Window( "ProtoCP_Monitor - Variability Chart",
V List Box(
Variability Chart(
Y( :PV waves),
X( :Date, :Time ),
Std Dev Chart( 0 ),
SendToReport(
Dispatch(
{"Variability Chart for PV"},
"2",
ScaleBox,
{Min( 0 ), Max( 2 ), Inc( 0.02 ), Minor Ticks( 0 )}
)
)
),
//more charts but deleted script to shorten post
)<< Journal();
// Save and Close The Journal
Current Journal() << save Journal("stuff.jrn");</MODAL>
Wie halte ich das Skript so lange aufrecht, bis die Kalenderbox vollständig ist?
Vielen Dank