Créer une nouvelle colonne et ajouter des notesJe trouve la propriété Notes dans une colonne JMP utile pour ajouter automatiquement des étiquettes aux graphiques résultants. Le problème que je rencontre concerne la génération de nouvelles colonnes de données liées aux colonnes parentes et l'application automatique des notes parentes. Dans le script ci-dessous, j'avais espéré que la ligne
<< set property( "Notes", Notes );
ferait l'affaire mais il me manque quelque chose. Voici le script principal.
Names Default To Here( 1 );
dt = Current Data Table();
colList = dt << get column names( numeric, string );
foundCols = "";
For( i = 1, i <= N Col( dt ), i++,
Spud = ":" || colList[i];
Spuds = Parse( Eval Insert( Spud ) );
Show(Spuds);
spec = Column( dt, colList[i] ) << get property( "Spec Limits" );
Notes = Column( dt, colList[i] ) << get property( "Notes" );
Show(Notes);
dt << clear select;
If( Is Empty( spec ) == 0,
dt << New Column(
(Column( dt, colList[i] ) << get name) || " % Delta From Target",
Formula(
If( Spuds > (Spuds << get property( "Spec Limits" ))["Target"],
Num(
(Spuds - (Spuds << get property( "Spec Limits" ))["Target"])
/ ((Spuds << get property( "Spec Limits" ))["USL"] - (Spuds
<< get property( "Spec Limits" ))["Target"])
) * 100,
If( Spuds < (Spuds << get property( "Spec Limits" ))["Target"],
Num(
((Spuds << get property( "Spec Limits" ))["Target"]
-Spuds) / ((Spuds << get property( "Spec Limits" ))[
"LSL"] - (Spuds << get property( "Spec Limits" ))[
"Target"]) * 100
),
0
)
)
)
) << set property( "Notes", Notes );
If( Is Missing( Try( spec["LSL"], . ) ) == 0,
dt << select where( As Column( dt, colList[i] ) + spec["LSL"] );
Try( Column( dt, N Cols( dt ) )[dt << get selected rows] = 0 );
);
If( Is Missing( Try( spec["USL"], . ) ) == 0,
dt << select where(
As Column( dt, colList[i] ) - spec["USL"],
current selection( "extend" )
);
Try( Column( dt, N Cols( dt ) )[dt << get selected rows] = 0 );
);
dt << select where(
Is Missing( As Column( dt, colList[i] ) ),
current selection( "extend" )
);
dt << invert row selection;
Try( Column( dt, N Cols( dt ) )[dt << get selected rows] = 1 );
Column( dt, N Cols( dt ) );
If( foundCols == "",
foundCols = ":Name(\!"" || (Column( dt, colList[i] ) << get name) ||
" % Delta From Target\!")",
foundCols = foundCols || ", " || ":Name(\!"" || (
Column( dt, colList[i] ) << get name) || " % Delta From Target\!")"
);
);
);
Toute aide appréciée
Au revoir
Tête de clé
Automatisation et scriptsRe : Créer une nouvelle colonne et ajouter des notesSoit séparez le paramètre de note pour qu'il se produise après la nouvelle colonne
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
For Each({colname}, dt << Get Column Names("String"),
curnote = Column(dt, colname) << Get Property("Notes");
new_col = dt << New Column("A", Character, Nominal);
new_col << Set Property("Notes", curnote);
);
ou déplacez-le dans une nouvelle colonne
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
For Each({colname}, dt << Get Column Names("String"),
curnote = Column(dt, colname) << Get Property("Notes");
new_col = dt << New Column("A", Character, Nominal, Set Property("Notes", curnote));
);
Vous pouvez avoir une idée du script en sélectionnant une colonne avec une propriété de note, cliquez sur l'en-tête avec un clic droit et sélectionnez Copier Copier les colonnes ou vous pouvez créer une nouvelle colonne et ajouter la propriété immédiatement et obtenir le script à partir du journal amélioré.
Data Table("Big Class") << New Column("Column 6",
Numeric,
"Continuous",
Format("Best", 12),
Set Property("Notes", "asdasd")
);
Re : Créer une nouvelle colonne et ajouter des notesJarmo
J'ai choisi le deuxième, ça marche parfaitement !
Merci
Au revoir
Tête de clé