こんにちは、
Tables/Summary に 2 つの厄介なバグが検出されました。
そのうちの 1 つは、どの PC でも JMP をクラッシュさせるために使用できます (!!!)
バグ 1) 次のコードを読んで、Jmp が何を行うかを予測してください。
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Summary(
Local Data Filter( Add Filter( columns( :sex ), Where( :sex == "X" ) ) ),
Group( :sex ),
Mean( :height ),
Link to original data table(0),
output table name( "average o students with sex = \!"X\!"" )
);
BigClass には、性別が「X」の生徒はいません。そのため、リストは空になることを期待しました。
フィルター: 性別 = "X" / テーブルに "X" がない -> 空の概要テーブル
残念ながら、Jmp のロジックは驚くほど異なります。
データフィルターが一致するものを見つけられない場合、データフィルターはリセットされ、すべてのデータが表示されます。
ダッシュボードの場合、 Jmp ダッシュボードを使用した外れ値 (:alien:) スクリーニング - 方法? TS-00046650、制限が適用されないのは「ただ」面倒です - テーブル/サマリーによる自動統計分析の場合、問題はさらに深刻です。最後に間違った結果が表示されます - ダッシュボードの左側にデータ フィルターがないため、ユーザーは問題を検出して修正できません。
Jmp 17以降、除外行の削除という便利な新機能が追加されました。
残念ながら、次のものがあります:
バグ#2:
Jmp 17 または Jmp 18 EA をお持ちの場合は、このコードを 2 回実行してください。データを保存しないと、Jmp がクラッシュします。
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Summary(
Local Data Filter( Add Filter( columns( :sex ), Where( :sex == "F" ) ) ),
Group( :sex ),
Mean( :height ),
Remove Excluded Groups,
Link to original data table(0)
);
// today no females
dt << Select where( :height < 67 ) << Exclude;
コードを初めて実行した後、データ フィルターの制限により、要約テーブルには女性エントリの平均身長が表示されます。次に、コードの最後の行で、身長が 67 未満のすべての行 (女性エントリすべてを含む) を除外します。
ここで、コードをもう一度実行します。
sex="F" の行はまだ存在し、単に除外されているだけです。したがって、バグ #1 と比較すると、ここではデータ フィルターはリセットされません。
性別が「F」の行に分析が制限されます。これらの行は、データ テーブルのデータ フィルターによって除外されます。
合計すると、一致する除外されていない行はありません。結果として、 「除外された行の削除」には多くの処理が必要になり、怒りが爆発します。
怒りすぎてJmpがクラッシュします。
行が一致しないと、ユーザーは結果からほとんどメリットを得られないことは明らかです。しかし、長いスクリプトでは次のようなものになる可能性があります。
メイン テーブルで適用された追加のフィルター設定にも一致するクラスの女子生徒の身長の平均を計算してください。
下の行:
あるクラスの女子生徒の数を数えて、平均身長を計算したいとします。データ フィルターを使用して、 Jmp/Tables/Summaryを使用します。
- クラスに女子生徒がいない場合は、Jmp は男子生徒を数えて年齢の平均を計算します (!!!)
- クラスに女子生徒が 1 人以上いるのに、それぞれの行が除外されている場合、Jmp はクラッシュします (!!!)
[除外行の削除が有効になっている場合]
@hogi さんが書きました:
ダッシュボードの場合、 Jmp ダッシュボードを使用した Outlier (:alien:) スクリーニング - どのように? TS-00046650、制限が適用されないのは「ただ」迷惑です - テーブル/サマリーによる自動統計分析の場合、問題はより深刻です: 最後に間違った結果が表示されます - ダッシュボードの左側にデータ フィルターがありません。ユーザーは問題を検出して修正できます。
同じトピック - > 同じ解決策:
ローカル データ フィルター: オプション: 現在のデータに制限するか制限しない
こんにちはマンディ、早速調べていただきありがとうございます。
今日 TS トラックを受け取りました。調査して、見つかったものはすべて投稿します。
はい、チケット番号を受け取りました: TS-00124252
@ホギ
とても興味深い。
私はあなたの調査結果を JMP 17 と 18 で再現しました。
この問題は support@jmp.com に送信されたと思います。
2 番目のバグは JMP18.1 (またはそれ以前。今気づいた) で修正されました。
最初のバグに対する優れた回避策:
:folded_hands: 列プロパティ: 包含値