こんにちはエキスパート
リンクされたサマリーテーブルがあり、そこでは基準に基づいて行を選択します。
メインテーブルでは、選択した行に対して、列に特定の値を設定する必要があります。
次のような基本的な表を作りました。
サンプルエラー
s1 0
s1 0
s1 0
s2 0
s2 0
s2 0
例として、非常に単純化されたコードがあります。
dt =現在のデータテーブル()。
dt_sum = dt <<概要(
グループ(サンプル)
Freq( "なし")、
重さ( "なし")
;
dt_sum << whereを選択します(:sample == "s1");
r = dt <<選択された行を取得します。
close(dt_sum、nosave);
column(dt、"error")[r] = 1;
dt_sumがクローズされると、コードが実行されます。しかし私のコードでは、後で必要になるのでこれは不可能です。
dt_sumが閉じられていないと、次のエラーが発生します。
"行番号(-1)が無効なため、列 'error'に値を設定できません。{1}"
さらに、1行目と4行目のエラー値は1に変更されますが、それ以外は変更されません。
これがうまくいかない理由を私に説明できますか、または可能な回避策を教えてください。
どうもありがとう、Anders
1。 この問題はJMPサポートに提出してください。 あなたが直接 "dt"データテーブルを指しているにもかかわらず、それはまだ "dt_sum"データテーブルを探していて、そこで更新しているようです。
2。これは、コードが機能するようにするための回避策です。
dt = current data table();
dt_sum = dt << Summary(
Group( :sample),
Freq( "None" ),
Weight( "None" )
);
dt_sum << select where (:sample == "s1");
r = dt << get selected rows;
//close(dt_sum, nosave);
current data table(dt);
column(dt, "error")[r] = 1;