列の式を更新する方法こんにちは、
私は 85 列 (かなりの数の数式列) を持つ最大 300,000 行のファイルを扱っています。 すべての列とその依存関係を更新するように促すボタンまたは JSL コマンドがあるかどうか疑問に思っています。
一部の列が自動的に更新されないことがわかりました。
ありがとう
Re: 列の式を更新する方法@ ジェフ・パーキンソン
遅ればせながら、ご返信ありがとうございます。 Today() が自動更新されないことに気づいたことで、JMP の使用方法が変わりました。
数式が更新されない場合に共有できる条件は他にもありますか? 最近、JMP がアクティブなテーブル内の数式を自動的に更新しないという別のケースに遭遇しました。 パラメーターがテーブル変数を参照している、次のような数式をいくつか作成しました。
If( :Name( "Age" ) <= 2000,
Parameter( {mu = :WBmu, sigma = :WBsigma}, 1 - Exp( -Exp( (Log( :Name( "Field Life" ) ) - mu) / sigma ) ) ) * :SampleCt
,
1
)
数式の結果は、最初はテーブル変数の値の変更に応答しませんが、何らかの方法で数式を編集すると、テーブル変数の変更の影響を反映して計算された更新が行われ、その後、結果がすぐに応答するようになります。テーブル変数の値が変更されます。
Re: 列の式を更新する方法@ロビンフリードマン投稿ありがとうございます。 データ テーブルを開いたときに、データ テーブル内の数式は再評価されません。 データ テーブルが保存される前に数式が評価され、何も変更されないため、再評価する必要はないと考えられます。
また、データ テーブルでは次の数式は扱われません。今日()それらを特別なものとして捉え、常に日付を見て再評価してください。
したがって、あなたの場合、データテーブルを開いたときにその列を再評価して今日の日付を反映させたい場合は、という名前のスクリプトを追加して強制する必要があります。開く時データテーブルに。 このスクリプトは、データテーブルが開かれるたびに実行されます。
使用できます評価式列にメッセージを送信して再評価を強制します。 したがって、OnOpen スクリプトは次のようになります。
col<<EVAL formula=""></EVAL>
データテーブルを開いたときにそのテーブル内のすべての数式を評価したい場合は、式を再実行するデータテーブルへのメッセージ:
dt<<RERUN formulas=""></RERUN>
Re: 列の式を更新する方法Jeff、私は最近 (JMP 14.3.0)、Date Difference 関数を使用して固定日付 (データ テーブルの列) と現在の日付 (today()) の間の時間を計算する数式でこれを目にしました。 サンプルファイルが添付されています。 今日 (2019 年 6 月 14 日) に作成されたものは問題ありませんが、明日以降にチェックすると、更新されるまで数式が適切に評価されません。
Re: 列の式を更新する方法こんにちは、ジェフ。今のところ問題を再現できないようです。 おそらく起こったと考えられるのは、数式を変更した後、気付かずに「適用」ではなく「キャンセル」をクリックしてしまったことです。
Re: 列の式を更新する方法素晴らしい! 確認しようとも思いませんでした。 ありがとう
Re: 列の式を更新する方法データ テーブル名の左側 (スクリプト領域の左上、ツールバーのすぐ下) にある赤い三角形をクリックします。
表示されるドロップダウンの下部: 式の再実行
それを教えてくれたジェリー・クーパーに感謝します!
Re: 列の式を更新する方法@txnelson良い解決策を教えていただきましたが、数式が自動的に再評価されない状況が心配です。
@bio_grad 、これに関する詳細を下記まで送ってもらえますか? support@jmp.com ?対処する必要がある問題がある場合は、検討していきたいと思います。
ありがとう。
Re: 列の式を更新する方法ありがとう!
Re: 列の式を更新する方法このステートメントはすべての式を再実行します。必要に応じてツールバーに追加できます
current data table() << Rerun Formulas.