行を使用しているときに[選択した行を取得]を選択するとエラーになります。こんにちは、
理解できないのですが、なぜ次のようなエラーになるのでしょう。
For( i = 1, i <= N Items(list), i++,
item = list[i];
rows = dt << Get Rows Where(
dt:foo == item
);
Column(dt, "bar" )[rows] = "foobar";
);
エラーは次のとおりです。
"行番号(-1)が無効なため、列 'bar'に値を設定できません。{941}"
誰かが私を悟らせることができますか?
ありがとうございました!
行を使用すると、Re:Get Selected Rowsでエラーが発生するこのエラーは現在のデータテーブルが原因で発生する可能性があると思います。 以下のスクリプトはエラーになりますが、Current Data Table(dt)行をコメントアウトしても期待通りに動作します。 なぜこれがこのように機能するのかわかりません - 現在のデータテーブル()を変更する必要性を回避するために変更が可能かどうかを確認するためにさらに調べます。
dt=Open("$SAMPLE_DATA/Big Class.jmp");
dt<<SELECT where=""></SELECT>行を使用すると、Re:Get Selected Rowsでエラーが発生するあなたの推測は一種の正しいです。"dt"は実際には元のデータテーブルです。そこから私は他のテーブルを派生させ、それから私が選択したいアイテムを識別します。
項目を取得したら、"dt"に戻って "<< Get Rows Where(取得したい項目)"を実行して行番号を取得します。それから私は "dt:colum [取得した行数] = ..."を設定します。
申し訳ありませんが、それを説明したりデータを提供したりすることはできません。
行を使用すると、Re:Get Selected Rowsでエラーが発生するあなたの 'dt'テーブルは他のテーブルから派生したものですか?あるテーブルから別のテーブルに行番号をマッピングしようとしている可能性がありますが、データについて詳しく知らないと確実に言うことは困難です。
行を使用すると、Re:Get Selected Rowsでエラーが発生する素早い回答者をありがとう!
列が正しく定義されていて、私は今多くの変種を試してみました。行列をリストに変換したり繰り返したりする - >うまくいかない。
うまくいくはずです。私は実際には同じスクリプト内で "<< Get Rows Where"を使用していますが、これは機能します。
しかし、ここでは問題ありませんが、古き良きFor Each Rowループに切り替えました。
行を使用すると、Re:Get Selected Rowsでエラーが発生するこれがJMP 12またはJMP 14の実行時に問題のないいくつかのサンプルデータで実行されるスクリプトです。 あなたのデータをチェックすると、列 "bar"は文字列として定義されています。
names default to here(1);
dt=New Table( "Example",
Add Rows( 3 ),
New Column( "foo", Character, "Nominal", Set Values( {"a", "", "a"} ) ),
New Column( "bar", Character, "Nominal", Set Values( {"", "", ""} ) )
);
list = {"a","b"};
For( i = 1, i <= N Items(list), i++,
item = list[i];
rows = dt << Get Rows Where(
dt:foo == item
);
Column(dt, "bar" )[rows] = "foobar";
);