JSL を使用して空のテーブルを保存するデータベースからいくつかのテーブルを開き、それらを CSV ファイルに保存しています。 テーブルにデータがある限りスクリプトは正常に機能しますが、テーブルが空の場合(空であることを示すために保存したいと思います)、次のエラーが発生します。
データテーブルが空です。
ファイルを保存できませんでした。
ファイルを保存できません。{2}
テーブルを JMP 形式で手動で保存することはできますが、テキスト エクスポートとしては保存できません。 何か案は?Re: JSL を使用して空のテーブルを保存するフォーラムをさらに読んだ後、Is Empty() 関数はテーブルにデータがあるかどうかを示していないことに気付きました。 これを行うには N Row (dt) を使用する方が良いというコメントを見ました。
If( N Row( dt ) == 0,
// then
Print( "Data table is empty" );
// else
Print( "Data table is not empty" );
);
Re: JSL を使用して空のテーブルを保存する@chungwei
最近このエラー メッセージに遭遇し、非常に驚きました。
それから、デフォルト「列 1」で行はありません。
テーブルを空のテーブルとして保存したいのですが、私の場合、解決策はテーブルの作成時に唯一の列に名前を付けるだけでした。
元のレポートは明らかに NewTable() 関数以外のことを行っていたため、列に名前を付けるのはもっと難しかったかもしれません。
sentinelDt = New Table( "sentinel", "private", New Column( "a") ); // needs a col name to save it with no rows!
sentinelDt << save( root || sentinelName );
Re: JSL を使用して空のテーブルを保存する「Is Empty()」関数を使用する場合は、if ステートメントを使用して、テーブルが空でない場合にのみデータを保存できます。
例:
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" )
);