Comment faire pour que la variable renvoyée de ma fonction soit affectée à ma nouvelle variable ?J'ai créé et testé une fonction appelée JoinTables. Cette fonction renverra une table de données. Je souhaite que la table de données renvoyée soit affectée à la variable dtSlopeTable.
dtSlopeTable = JoinTables(dataTableList, columnGroup);
Lorsque je l'exécute, la table de sortie est créée avec le contenu souhaité mais elle n'est pas associée au nom de variable "dtSlopeTable".
Lorsque je vérifie la valeur de dtSlopeTable, il indique Data Table( "UnknownTable" ).
J'ai essayé d'attendre (0) et d'attendre (10) mais aucun travail.
Cependant, je peux le faire fonctionner si j'utilise wait (0) et la ligne avant a:
dtTest = New table();
C'est un travail étrange et je préférerais utiliser une solution propre. Avez-vous une idée de la raison pour laquelle je ne peux pas affecter la table au nom de la variable ?
Si vous avez besoin de voir la définition de la fonction, je serais heureux de la joindre.
Merci pour l'aide.
Re : Comment puis-je faire en sorte que la variable retournée de ma fonction soit affectée à ma nouvelle variable ?Ce qui est renvoyé à l'instruction d'appel est le dernier élément traité dans la fonction, donc tout ce que vous devriez avoir à faire est de placer le handle que vous appelez la nouvelle table de données comme dernier élément, et il le renverra à la variable d'appel.Voir l'exemple simple ci-dessous
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);