みなさん、こんにちは!
たとえば、このコードでは、データを「copydt」に読み取り、JSLを使用して「copydt」の「KATIE」を1ステップで読み取る方法を、コードで2ステップ使用しました。
dt = Open("$SAMPLE_DATA\Big class.jmp");Wait(0);
copydt = dt[0,0];
dt[0,0] = .;
a=copydt[1,1];
b=a[1,1];
c={copydt[1,1][1,1]};
dt[0,0] = copydt;Wait(0);
さらに、「copydt」のデータをJSLで直接変更する方法は?
たとえば、最初の行の名前を「KATIE2」に変更し、最初の行の年齢を18に変更します。
変更されたデータを元のデータテーブルに書き込みます。
ありがとう!

この議論の主題で提起された質問に答えるには、データテーブルから形成されたデータを保持する変数に添え字を使用します。デバッガーまたはログを使用して、例を進めながら結果を調べることができます。ログを使用します。
dt = Open("$SAMPLE_DATA\Big class.jmp");
copydt = dt[0,0];
dt [0,0]で使用される添字は、すべての行とすべての列、つまりテーブル全体を参照します。変数copydtにはリストのリストが含まれています。各サブリストは、元のデータテーブルの行です。
dt[0,0] = .;
欠落の割り当ては、すべての行とすべての列(テーブル全体)で発生します。これで、データテーブルには、5つのデータ列に対して40行の欠損値が含まれています。
a = copydt[1,1];
この式では、標準のリスト添え字が使用されます。リストの最初のアイテムを取得しています。値は、元のデータテーブルの最初の行を表すリストです。リストを下付きにする方法を学ぶと、この式が同じことを2回要求していることがわかります(最初の要素)。次の式はすべて同じです。
a = copydt[1];
a = copydt[1,1];
a = copydt[1,1,1];
したがって、最初の形式はより簡潔で優先されます。
b = a[1,1];
前の式と同じです。 リストの最初のアイテムを取得しています。値は、元のデータテーブルの最初の行の最初の列の文字列です。
c = { copydt[1,1][1,1] }; // c = { copydt[1][1] } is equivalent, sufficient, and preferred
1つの要素のリストを変数に割り当てました。リストアイテムの評価は行われませんでした。
dt[0,0] = copydt;
データテーブル全体にリストのリストを割り当てました。各サブリストは、データテーブルの新しい行になります。この手順は、2行目と最後の行の間の対称的な動作を示しています。
ディスカッションの本文で提起された質問に答えるには、下付き文字を使用します。
copydt[1][1] = "Katie2";
copydt[1][2] = 18;
添え字はネストされています。読んで copydt [1] [1] = "Katie2" 最初のアイテム内の最初のアイテムに「Katie2」を割り当てます。読む copydt [1] [2] = 18 最初のアイテム内の2番目のアイテムに18を割り当てます。
データテーブル、マトリックス、リストのデータ構造の間でデータをシャッフルする機能は、JMPの各バージョンで変わることに注意してください。一般に、機能は増加し、構造間の差異は減少します。
それで、私はあなたが何をしたかを説明しましたが、なぜあなたがそれをしたのか、何を達成したいのか分かりません。あなたの主題は非常に広く曖昧です。何をしたいですか?
選択する助けて > 本 > スクリプティングガイドデータテーブル、リスト、およびマトリックスのより完全な情報と説明については、JMPを参照してください。