Salvataggio di una tabella vuota con JSLSto aprendo diverse tabelle da un database e quindi salvandole in file CSV. Lo script funziona bene finché la tabella contiene dati, ma le tabelle vuote (che voglio anche salvare per mostrare che sono vuote) mi danno questo errore:
La tabella dati è vuota.
Impossibile salvare il file.
Impossibile salvare il file.{2}
Posso salvare manualmente le tabelle in formato JMP, ma non come esportazione di testo. Qualche idea?Ri: Salvataggio di una tabella vuota con JSLDopo qualche ulteriore lettura nel forum mi sono reso conto che la funzione Is Vuoto() non dice se la tabella contiene dati... Ho visto un commento secondo cui è meglio usare N Row (dt) per fare questo:
If( N Row( dt ) == 0,
// then
Print( "Data table is empty" );
// else
Print( "Data table is not empty" );
);
Ri: Salvataggio di una tabella vuota con JSL@chungwei
Recentemente mi sono imbattuto in questo messaggio di errore e sono rimasto piuttosto sorpreso.
Poi mi sono reso conto che avevo realizzato un nuovo tavolo solo con il predefinito "Colonna 1" e nessuna riga.
Preferirei che la tabella fosse salvata come tabella vuota, ma nel mio caso la soluzione era semplice come nominare l'unica colonna quando ho creato la tabella.
Apparentemente il report originale stava facendo qualcosa di diverso dalla funzione NewTable(), quindi dare un nome alla colonna potrebbe essere stato più difficile.
sentinelDt = New Table( "sentinel", "private", New Column( "a") ); // needs a col name to save it with no rows!
sentinelDt << save( root || sentinelName );
Ri: Salvataggio di una tabella vuota con JSLSe usi la funzione 'Is Vuoto()' puoi usare un'istruzione if per salvare i dati solo quando la tabella non è vuota:
Esempio:
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" )
);