So setzen Sie die Skriptausführung fort, wenn die Tabelle nicht vorhanden ist.Ich habe meine Hauptdatentabelle mithilfe der Teilmengenfunktion in einige Tabellen zerlegt. Dann führe ich einige Vorgänge durch und versuche, sie mithilfe der Aktualisierungsfunktion wieder zusammenzuführen. Aber manchmal habe ich nur einen Tisch und manchmal zwei Tische. Wie kann ich das Skript anweisen, fortzufahren, wenn die zweite Tabelle nicht existiert?
// Datentabellen aktualisieren
Datentabelle( "Material A" ) << Update(
With( Datentabelle( "Material B") ),
Match-Spalten( :SN = :SN )
Wie kann ich dem Skript mitteilen, dass die Ausführung trotzdem fortgesetzt wird, wenn die Tabelle „Material A“ oder „Material B“ nicht vorhanden ist?
Grundlegende Datenanalyse und ModellierungBetreff: So setzen Sie die Skriptausführung fort, wenn die Tabelle nicht vorhanden ist.Wenn Sie Variablen verwenden, können Sie auch Is Empty(dtref) verwenden.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Try(dt2 = Open("$SAMPLE_DATA/Big Class Families"));
Show(Is Empty(dt), Is Empty(dt2));
aber Sie müssen möglicherweise andere Methoden verwenden, je nachdem, woher Sie Ihre Tabellen beziehen (Sie können einen Weg finden, Try() zu verwenden, wenn nichts anderes zu funktionieren scheint).
Betreff: Wie kann ich die Skriptausführung fortsetzen, wenn die Tabelle nicht vorhanden ist?Vielen Dank für die Lösungen und den Rat , Variablen zum Speichern von Verweisen auf Tabellen zu verwenden, anstatt sich auf die Tabellennamen zu verlassen.
Betreff: Wie kann ich die Skriptausführung fortsetzen, wenn die Tabelle nicht vorhanden ist?Sie können Try-Anweisungen verwenden oder vor dem Aktualisieren prüfen, ob diese Tabellen vorhanden sind. Persönlich würde ich eine Prüfung durchführen, anstatt mich auf Try zu verlassen. Außerdem ist es normalerweise besser, Variablen zu verwenden, um Verweise auf Tabellen zu speichern, anstatt sich auf die Tabellennamen zu verlassen.
Bearbeiten: Die Verwendung von Try würde ungefähr so aussehen ( https://www.jmp.com/support/help/en/17.2/#page/jmp/throw-and-catch-exceptions.shtml )
Try(
Data Table("Big Class") << Update(
With(Data Table("Big Class Families")),
Match Columns(:name = :name)
)
);
und prüfen Sie die Tabellennamen
tablelist = Get Data Table List() << get name;
// Only join if both are found
If(Contains(tablelist, "Big Class") & Contains(tablelist, "Big Class Families"),
Data Table("Big Class") << Update(
With(Data Table("Big Class Families")),
Match Columns(:name = :name)
)
);