Speichern einer leeren Tabelle mit JSLIch öffne mehrere Tabellen aus einer Datenbank und speichere diese dann in CSV-Dateien. Das Skript funktioniert einwandfrei, solange die Tabelle Daten enthält, aber leere Tabellen (die ich auch speichern möchte, um anzuzeigen, dass sie leer sind) geben mir diesen Fehler:
Die Datentabelle ist leer.
Die Datei konnte nicht gespeichert werden.
Die Datei konnte nicht gespeichert werden.{2}
Ich kann die Tabellen manuell im JMP-Format speichern, jedoch nicht als Textexport. Irgendwelche Ideen?Betreff: Eine leere Tabelle mit JSL speichernNach einiger Lektüre im Forum wurde mir klar, dass die Funktion „Is Empty()“ nicht angibt, ob die Tabelle Daten enthält ... Ich habe einen Kommentar gesehen, dass es besser ist, N Row (dt) zu verwenden, um dies zu tun:
If( N Row( dt ) == 0,
// then
Print( "Data table is empty" );
// else
Print( "Data table is not empty" );
);
Betreff: Eine leere Tabelle mit JSL speichern@chungwei
Ich bin kürzlich auf diese Fehlermeldung gestoßen und war ziemlich überrascht.
Dann wurde mir klar, dass ich nur mit dem einen neuen Tisch gemacht hatte Standard „Spalte 1“ und keine Zeilen.
Ich würde es vorziehen, die Tabelle als leere Tabelle zu speichern, aber in meinem Fall war die Lösung so einfach wie die Benennung der einzigen Spalte, als ich die Tabelle erstellte.
Der ursprüngliche Bericht hat offenbar etwas anderes als die Funktion „NewTable()“ ausgeführt, daher wäre es möglicherweise schwieriger gewesen, die Spalte zu benennen.
sentinelDt = New Table( "sentinel", "private", New Column( "a") ); // needs a col name to save it with no rows!
sentinelDt << save( root || sentinelName );
Betreff: Eine leere Tabelle mit JSL speichernWenn Sie die Funktion „Ist leer()“ verwenden, können Sie eine if-Anweisung verwenden, um die Daten nur zu speichern, wenn die Tabelle nicht leer ist:
Beispiel:
dt = Open( "Path\DataTable" );
If( Is Empty( dt ),
// Then Do this if the table is not empty:
dt << Save( "Path\DataTable" )
,
// Else Do nothing
Print( "the table is empty and will not be saved" )
);