ループヘルプ!わかりました、私はJMPを愛していますが、ループの助けが必要です。私がやろうとしているのは、'Child'値が親テーブルにあるかどうかを調べることです(例は以下の2番です)。もしそうなら、私はその親(2)の子の値(下の3と4)を引っ張りたいです。それから私はコードが3,4のように親カラムをチェックしたい、等々....
親子
1 2
2 3
2 4
4 5
7 8
親子
1 2
1 3
1 4
1 5
7 8
私がこれについてよく説明していることを願っています...
再:ループヘルプ! @ cjs05 、
いくつかあります。
1。このコミュニティはJMPコミュニティであり、SASコミュニティではありません。両方に精通しているユーザーもいるかもしれませんが、このコミュニティがSASに関するコードガイダンスを提供することを期待しないでください。SASでコードを使用する場合は、community.sas.comでこの質問を試すことをお勧めします。
2。あなたがJMPでこれを達成したいのなら、あなたは正しい場所にいて、私たちはあなたのデータを見てみましょう。
表1 開始テーブルには、親とコンポーネントという2つの列があります。以下のようにしてみてください

dt = Current Data Table();
Mat = dt << Get As Matrix;
DesComponent = 6 ;
Check = Loc(Mat[0,2] == DesComponent); // To Initialize
While(N Rows(Check)!= 0,
Check = Loc(Mat[0,2] == DesComponent);
DesComponent = Mat[Check,1];
Print(DesComponent);
);再:ループヘルプ!2つの列を持つ1つのテーブルがあります。親とコンポーネント 私は次のことを行うプログラムを書き込もうとしています。
開始テーブル
親コンポーネント
1 2
1 3
1 4
2。5
2。6
6。7
これに
親コンポーネント
1。2
1。3
1。4
1。5
1。6
1。7
基本的に、コンポーネントが親の列にある場合(2のように)、2のコンポーネントをプルしたいのです。
私が本当に苦労しているのは、これをループさせることです。それは2の要素であったので、私は親の列で6を探す必要があります。そして、マッチがなくなるまで続けます。
このテーブルには約120万レコードがあります。いくつかの親は30の要素を持ち、いくつかははるかに少ないです。
ある時点で、私は以下のマクロを与えられました、しかし、私はJMPだけを持っていて、それを実行することができません(私が知っていること)...
%マクロループ ;
%行うまで% ( & カウント = 0 ) ;
proc SQL ;
つくる表として持っている選択する合体 ( b 。親 、ある 。親 ) 親として 、合体 ( ある 。成分 、 b 。成分 ) 構成要素として
から持っている左 bに参加する 。成分 = ある 。親 ;
走る ;
*親にコンポーネントがない場合は、終了します。
proc SQL ;
選択するカウント ( * ) に : カウント
から参加してください 。成分 = ある 。親 ;
走る ;
%終わり ;
%mend ;
%ループ ;
https://community.jmp.com/t5/forums/replypage/board-id / discussions / message-id / 34434
これさえもできるのであれば、どんな助けでも大歓迎です...
再:ループヘルプ! @ cjs05 、
私は手助けをしたいのですが、私は親テーブルとは何であり、あなたが後になっているのは何であるか理解していません。親と子の情報を持つ2つのテーブルがあり、検索しようとしている場合は、"JOIN"を使用できます。以下で調べてください。
テーブル - >結合
そうでない場合は、データのサンプルセットをアップロードしてください。以下はサンプルデータを使用してまとめた例です。これを試して自分のケースに合わせることもできます。
// Clean
Clear Globals(); Clear Log(); Close All(datatables,"No Save");
dt1 = Open( "$SAMPLE_DATA/Animals.jmp" );
dt2 = Open( "$SAMPLE_DATA/Animals Subset.jmp" );
// For Demo
Column(dt2,"miles") << Set Selected(1);
dt2 << Delete Columns;
// Look Up Information
dt3 = dt2 << Join(
With( dt1 ),
Select( :species, :subject, :season ),
SelectWith( :miles ),
By Matching Columns(
:species = :species,
:subject = :subject,
:season = :season
),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 )
);