関数の返された変数を新しい変数に割り当てるにはどうすればよいですか?JoinTablesという関数を作成してテストしました。 この関数はデータテーブルを返します。 返されたデータテーブルをdtSlopeTable変数に割り当てたいのですが。
dtSlopeTable = JoinTables(dataTableList, columnGroup);
これを実行すると、出力テーブルは目的のコンテンツで作成されますが、変数名「dtSlopeTable」に関連付けられていません。
dtSlopeTableの値を確認すると、Data Table( "UnknownTable")と表示されます。
私はwait(0)とwait(10)を試しましたが、うまくいきません。
ただし、wait(0)を使用し、前の行に次のように設定すると、動作させることができます。
dtTest = New table();
これは奇妙な回避策であり、クリーンなソリューションを使用することをお勧めします。 テーブルを変数名に割り当てられない理由を知っていますか?
関数の定義を表示する必要がある場合は、添付させていただきます。
助けてくれてありがとう。
Re:関数の返された変数を新しい変数に割り当てるにはどうすればよいですか?呼び出し元のステートメントに返されるのは関数で処理された最後の項目であるため、新しいデータテーブルを呼び出しているハンドルを最後の項目として配置するだけで、呼び出し元の変数に返されます。以下の簡単な例を参照してください
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt2 = New Table( "lookup",
New Column( "Sex", character, values( {"F", "M"} ) ),
New Column( "Avg Height", values( {68, 70} ) )
);
joinTables = Function( {x1, x2, m1},{},
dtFinal = x1 << join( With( x2 ), Merge same name columns(1), Match Columns( Column( m1 ) == Column( m1 ) ) );
dtFinal;
);
dtSlopeTable=joinTables(dt,dt2,"Sex");
show(dtSlopeTable);