Mettre à jour le nom de colonne à partir du fichier de configuration à l'aide de JSL pour le type de données caractèreSalut à tous,
Ceci fait suite à une question connexe que j'ai posée hier. Je voudrais vous demander comment mettre à jour un nom de colonne pour avoir des unités d'un autre fichier de configuration. Vous trouverez ci-dessous le code de solution que j'ai adopté dans le post d'hier, sauf que j'ai fait une modification pour tracer un tracé logistique au lieu de bivarié. J'ai découvert que cela fonctionne bien pour les tracés bivariés, mais lorsque j'essaie de tracer un tracé logistique, je ne suis pas en mesure de voir les unités dans le cadre de l'étiquette de l'axe y. Même si les unités font partie du titre, ce serait correct.
// This version of the script used Transform variables
// to temporarially change the name of the column just
// for the running of the Bivariate
Names Default To Here( 1 );
dt = open( "table_1.jmp" );
dt1 = open( "config_table.jmp" );
// Add the Units Column Property to the columns in the
// original data table
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1
:additional_name != ""
);
If( N Rows( foundRow ) > 0,
column( dt, i ) << set property("units", eval(dt1:additional_name[foundRow[1]]));
);
);
// Now run logistic
For( i = 2, i <= N Cols( dt ), i++,
dt << Logistic( Y( Column( i ) ), X( :id ) )
);Les tableaux de données sont joints.
Merci,
Simon
ScriptingRe: Mettre à jour le nom de la colonne à partir du fichier de configuration à l'aide de JSL pour le type de données caractèreApparemment, la plate-forme logistique ne prend pas en charge la gestion automatique des (unités).Cependant, le script ci-dessous s'en charge.

Names Default To Here( 1 );
dt = Data Table( "table_1.jmp" );
dt1 = Data Table( "config_table.jmp" );
// Add the Units Column Property to the columns in the
// original data table
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1:additional_name !=
""
);
If( N Rows( foundRow ) > 0,
Column( dt, i ) << set property(
"units",
Eval( dt1:additional_name[foundRow[1]] )
)
);
);
// Now run logistic
For( i = 2, i <= N Cols( dt ), i++,
log = dt << Logistic( Y( Column( i ) ), X( :id ) );
Report( log )[AxisBox( 1 )][Text Box( 1 )] <<
set text(
Char( Report( log )[AxisBox( 1 )][Text Box( 1 )] << get text ) || "("
|| Char( Column( i ) << get property( "units" ) ) || ")"
)
;
);Re: Mettre à jour le nom de la colonne à partir du fichier de configuration à l'aide de JSL pour le type de données caractèreSalut Jim,
J'ai exécuté votre script et j'ai eu l'erreur suivante:
Names Default To Here( 1 );
dt = Open( "table_1.jmp" );
dt1 = Open( "config_table.jmp" );
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1:additional_name != ""
);
If( N Rows( foundRow ) > 0,
Column( dt, i ) << set property(
"units",
Eval( dt1:additional_name[foundRow[1]] )
)
);
);
For( i = 2, i <= N Cols( dt ), i++,
log = dt << Logistic( Y( Column( i ) ), X( :id ) );
Report( log )[AxisBox( 1 )][Text Box( 1 )] <<
set text(
Char( Report( log )[AxisBox( 1 )][Text Box( 1 )] << get text ) || "(" ||
Char( Column/*###*/(i) << get property( "units" ) ) || ")"
);
);
invalid argument in access or evaluation of 'Column' , Column/*###*/(i)
/*:
Names Default To Here( 1 );
dt = Open( "table_1.jmp" );
dt1 = Open( "config_table.jmp" );
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1:additional_name != ""
);
If( N Rows( foundRow ) > 0,
Column( dt, i ) << set property(
"units",
Eval( dt1:additional_name[foundRow[1]] )
)
);
);
For( i = 2, i <= N Cols( dt ), i++,
log = dt << Logistic( Y( Column( i ) ), X( :id ) );
Report( log )[AxisBox( 1 )][Text Box( 1 )] <<
set text(
Char( Report( log )[AxisBox( 1 )][Text Box( 1 )] << get text ) || "(" ||
Char( Column/*###*/(i) << get property( "units" ) ) || ")"
);
);
invalid argument in access or evaluation of 'Column' , Column/*###*/(i)
Merci,
Simon
Re: Mettre à jour le nom de la colonne à partir du fichier de configuration à l'aide de JSL pour le type de données caractèreJ'ai exécuté le code jusqu'au JMP 11, sans erreur.Si vous remarquez, il y a un / * ### * / dans l'une des lignes de code que vous avez postées.Veuillez supprimer cela et essayez de réexécuter votre code.Voici le code que j'ai utilisé.Notez que j'ai changé votre code pour référencer les tables de données avec l'hypothèse que les tables de données sont ouvertes.Quelle version de JMP utilisez-vous.
Noms par défaut ici (1); dt = table de données ("table_1.jmp"); dt1 = table de données ("config_table.jmp"); For (i = 1, i <= N Cols (dt), i ++, foundRow = dt1 << obtenir des lignes où (: Column_name == Column (dt, i) << get name & dt1: additional_name! = ""); If (N Rows (foundRow)> 0, Column (dt, i) << set property ("units", Eval (dt1: additional_name [foundRow [1]]))););); For (i = 2, i <= N Cols (dt), i ++, log = dt << Logistic (Y (Column (i)), X (: id)); Report (log) [AxisBox (1)] [ Text Box (1)] << set text (Char (Report (log) [AxisBox (1)] [Text Box (1)] << get text) || "(" || Char (Column / * ### * / (i) << obtenir la propriété ("unités")) || ")"););Re: Mettre à jour le nom de la colonne à partir du fichier de configuration à l'aide de JSL pour le type de données caractèreJ'utilise JMP12. J'obtiens à nouveau la même erreur si j'exécute le code tel quel.
Lorsque je supprime la ligne ci-dessous, j'obtiens le graphique ci-joint sans unités sur les étiquettes.
// Char (Colonne / * ### * / (i) << get property ("units")) || ")"
Des idées?
Names Default To Here( 1 );
dt = data table( "table_1.jmp" );
dt1 = data table( "config_table.jmp" );
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1:additional_name != ""
);
If( N Rows( foundRow ) > 0,
Column( dt, i ) << set property(
"units",
Eval( dt1:additional_name[foundRow[1]] )
)
);
);
For( i = 2, i <= N Cols( dt ), i++,
log = dt << Logistic( Y( Column( i ) ), X( :id ) );
Report( log )[AxisBox( 1 )][Text Box( 1 )] <<
set text(
Char( Report( log )[AxisBox( 1 )][Text Box( 1 )] << get text ) || "("
//Char( Column/*###*/(i) << get property( "units" ) ) || ")"
);
);