JSLを使用した式で参照されている列/テーブル変数の削除やあ、
この投稿のトピックで述べたように、列に関数がある場合、またはテーブル変数が関数の一部である場合、JSL コマンドの「列の削除」または「テーブル変数の削除」が機能しないことがわかりました。
このアクションを「手動で」実行すると、追加の警告ウィンドウが表示され、そのようなアクションの結果がユーザーに通知され、アクションを選択できるようになります。
この動作が意図的に導入されたことを理解しており、まったく問題ありません。
JSLを使用して列/テーブル変数を削除するときに、このウィンドウをバイパスするオプション/引数/フラグ/コマンドがあるかどうかを尋ねたいですか?
ご協力ありがとう御座います。
データ表スクリプティングRe: JSLを使用した数式で参照されている列/テーブル変数を削除するあなたが質問している問題として私が理解していることを再現することはできません。以下のスクリプトは、式内のテーブル変数と列、および各式内の関数を削除しています。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt << New Table Variable( "Days", 42 );
Wait( 5 );
dt << New Column( "test",
formula(
delTVar = Function( {theVar},
dt << Delete Table Variable( theVar )
);
rc = delTVar( "Days" );
:weight;
)
);
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
Wait( 5 );
dt << New Column( "test",
formula(
delCol = Function( {theCol},
dt << delete columns( theCol )
);
rc = delCol( "height" );
:weight;
)
);Re: JSL を使用して数式で参照されている列/テーブル変数を削除するこれを実行できるフラグはないと思います。ウィッシュ リスト項目のための場所かもしれませんが、参照、数式、またはキャンセルを削除するように要求する対話型バージョンと同様にフラグを構成できる必要があると思います (Throw も追加するかもしれません)。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("f", Numeric, Continuous, Formula(:height*weight));
dt << Delete Columns({"height", "weight"});
ログに出力されます:
残りの列の数式によって参照されている列があるため、選択した列を削除することはできません。
数式を削除してもデータは変更されません。参照を削除すると、各参照が空の値に置き換えられます。これらの影響は永続的であり、元に戻すことはできません。
スクリプト可能[]
このメッセージを Log Capture() でキャプチャし、いくつかの JSL トリックを実行して事前に参照/数式を削除することができます。