<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
Update関数に潜在的に危険な「バグ」を見つけました。 "By Matching Columns"を使用してデータテーブルを更新するとき、最後の "s"が省略されていると、このスクリプトは行ごとに更新されます。 これは簡単なミスであり、(エラーが発生しないため)捕捉が困難です。 次回のJMPアップデートで対処できますか。この問題はJMP12で見つかりました。
ありがとうございます。
ここにデフォルトの名前 ( 1 ) ;
dt = 開いた ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
dt << 新しいコラム ( "一意のID" 、
キャラクター 、
公称 、
式 ( : 名 || 「」 || チャー ( : 年齢 ) || 「」 || : 性別 || 「」 || チャー ( : 高さ ) || 「」 || チャー ( : 重量 ) )
) ;
dt << 新しいコラム ( "数" 、数値 、連続的 、フォーマット ( "ベスト" 、 12年 ) 、式 ( シーケンス ( 1 、 N行 () 、 1 、 1 ) ) ) ;
カラム ( dt 、 "一意のID" ) << 式を削除 ;
カラム ( dt 、 "数" ) << 式を削除 ;
dt2 = dt << サブセット ( 列 ( "一意のID" 、 "数" ) ) ;
dt2 << ソート ( テーブルを交換 、によって ( : 数 ) 、注文 ( 降順 ) ) ;
dt2 << 新しいコラム ( 「いくつかのコラム」 、キャラクター 、公称 、各値を設定 ( "バツ" ) ) ;
dt << 更新 ( あり ( dt2 ) 、マッチング列 ( : 一意のID == : 一意のID ) ) ;
// dt << Update(With(dt2)、列のマッチングによる(:UniqueID ==:UniqueID));
dt << 前面にウィンドウを持って来る ;
JMPプラットフォーム、要素、およびメッセージに固有の正確な表現を使用するという要件は、JMP全体にあります。 あなたは構文の正しい仕様を意識しなければなりません。
こんにちはロボット 、
JMP11でも発生することを確認できます。
代わりに "match column"を使用しても問題は解決しません。真実は、"by Matching columns"または "match columns"ではない文字の任意の組み合わせで、JMPはそれを無視し、行ごとに更新します(列で指定されていない限りデフォルト)。
dt << 更新 ( あり ( dt2 ) 、一致列 ( : 一意のID == : 一意のID ) ) ; //行によるマッチング
// dt << 更新 ( あり ( dt2 ) 、マッチカラム ( : 一意のID == : 一意のID ) ) ; //これは問題なく動作します - 列単位
// dt << 更新 ( あり ( dt2 ) 、 Msfgsdfsfgatvvch列 ( : 一意のID == : 一意のID ) ) ; //エラーメッセージもなし - 行で一致
まさに脅威です。
唯一の快適さは、私を含むほとんどの人がupdateコマンドを書くことはほとんどなく、手動で行った後にJMPから入手することです。そうでなければ、今ではいくつかの厄介な結果が浮かんでいたでしょう。