こんにちは
列を削除するスクリプトを作成しました。ただし、「数式で別の列を参照している間は、この列を削除できません」というエラーが表示されます。 「」
数式はありませんが、「参照の削除」オプションを手動で使用すると、列を手動で削除できます。
「参照の削除」を使用するには、スクリプトでこの関数を使用する方法を学ぶ必要があります
JMP16.1.0を使用しています
一歩下がって、使用しているアプローチを検討することをお勧めします。 この問題を修正する代わりに、そもそも回避できるかもしれません。 たとえば、他のデータ列で数式を使用しているのはなぜですか? なぜ列を削除したいのですか?
他の方法を使用して、数式をまったく含まないデータ列にデータを入力できる場合があります。 JMPのスクリプトを作成するときに数式を使用する唯一の理由は、データテーブルが変更されたときにデータ列を更新する必要がある場合です。 他の方法があります。
スクリプトを投稿できますか? または、スクリプトが実行する手順を説明してください。
隠された数式列があるのだろうか? 数式列が実際にない場合は、バグのように聞こえます。テーブルをテクニカルサポートに送信すると、修正に役立つ可能性があります。
問題は要約テーブルに関連していますか?
数式を削除しようとすると、今日、サマリーテーブルの奇妙な動作に気づきました。 私は現在問題をテストしており、適切な例を示した後、JMPサポートにチケットを送信します。 準備ができたら、ここに例を投稿することもできます。
編集:
これが私が今日遭遇した問題についての簡単な例です(私はかなりめったに数式を使用しません...):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//create some formula colums
dt << New Column("deduction", Numeric, "Continuous", Format("Best", 12), Formula(:height - :weight));
dt << New Column("concat_col", Character, "Nominal", Formula(:name||"_"||Char(:name)));
dt_summary = dt << Summary(
Group(:name,:sex, :concat_col),
Mean(:height),
Mean(:deduction),
Freq("None"),
Weight("None"),
Link to original datatable(0)
);
Try(
dt_summary << Delete Column("name");
,
show(exception_msg);
);
Try(
f = Column(dt_summary, "concat_col") << Get Formula;
show(f);
Column(dt_summary, "concat_col") << Delete Formula;
,
show(exception_msg);
);
/*
Cannot delete column "name" while it is referenced by the formula of column "concat_col".
Removing a formula leaves the data unchanged. Removing references replaces each reference with an empty value. These effects are permanent and cannot be undone.
f = :name || "_" || Char(:name);
exception_msg = {"Column concat_col has no formula"(1, 2, "Delete Formula", Delete Formula /*###*/)};
*/
左側の列リストに数式が表示されず、数式パネルボックスにも数式が表示されません。

[数式の編集]をクリックすると、数式が表示されます。 また、連結で「_」を「」に変更すると、数式が消え、列がロックされ、データテーブルの値が変更されます。


この場合の簡単な修正は、サマリーテーブルを作成する前に、最初に元のデータテーブルからすべての数式を削除することですが、数式は非常に奇妙な動作をする可能性があるため、(値だけで)サマリーテーブルにコピーしないでください。式に応じて。
Edit2:
説明したこの問題/機能に関するチケットをJMPサポートに送信しました。