SCRIPT JMP : Création d'un graphe basé sur une variable de sélection utilisateurSalut tout le monde,
Je voudrais créer un graphique basé sur une sélection de filtre utilisateur.
Cependant, JMP ne reconnaît pas la variable « Y » choisie par l'utilisateur, et une erreur se produit.
Voici mon code:
Y = concat(Y," (ppm)");
graph = RAW_DATA_TABLE <<
Control Chart Builder(
Size( 534, 450 ),
Show Two Shewhart Charts( 0 ),
Show Control Panel( 0 ),
Sort by Row Order( 1 ),
Variables( Y( :"<U><STRONG>Y</STRONG></U>" ),Subgroup( :Numéro de lot ), Phase(:"Period")),
Get Limits(LIMIT_TABLE),
)
Quelqu'un a-t-il une suggestion pour m'aider à nommer le Y ?
Merci beaucoup,
Sébastien
Modélisation statistique avancéeOrganisation du contenuExploration et visualisation des donnéesPlanification d'expériencesPersonnalisation de masseRe : JMP SCRIPT : création d'un graphique basé sur une variable de sélection de l'utilisateurJe ne sais pas exactement ce que vous essayez de faire sur la ligne 1. Essayer de créer le nom de la colonne en fonction de quelque chose ? Comment Y est-il choisi par l'utilisateur ? D'où vient le " (ppm)" ?
Re : JMP SCRIPT : création d'un graphique basé sur une variable de sélection de l'utilisateurLa commande Column Dialog() permet aux utilisateurs de sélectionner des colonnes pour les rôles dans une analyse ultérieure. Vous devriez pouvoir supprimer/modifier l'exemple à partir de l'index de script pour obtenir ce dont vous avez besoin, c'est-à-dire conserver simplement les éléments relatifs à la colonne "Y".

Re : SCRIPT JMP : Création d'un graphique basé sur une variable de sélection de l'utilisateurLa sélection des utilisateurs est basée sur une liste. Cependant, la sélection faite par l'utilisateur dans une liste ne correspond pas à la table de données et j'ai besoin de concaténer avec " (ppm)" afin d'avoir le même nom de variable...
Ensuite, je veux faire en sorte que le graphique basé sur le "Y" soit concaténé avec "ppm".
Cependant, le "Y" n'est pas reconnu par le constructeur de graphes...
Avez-vous une suggestion pour m'aider à nommer le Y ?
Merci beaucoup pour votre réponse
Re : JMP SCRIPT : création d'un graphique basé sur une variable de sélection de l'utilisateurSi vous êtes sûr que la colonne existe, vous pouvez essayer d'envelopper la variable Y (j'utiliserais ici un nom de variable plus descriptif) à Eval
y_column = Concat(Y, " (ppm)");
graph = RAW_DATA_TABLE << Control Chart Builder(
Size(534, 450),
Show Two Shewhart Charts(0),
Show Control Panel(0),
Sort by Row Order(1),
Variables(Y(Eval(y_column)), Subgroup(:Numéro de lot), Phase(:"Period")),
Get Limits(LIMIT_TABLE),
);
Names Default To Here(1);
y_col = "Weight";
dt = Open("$SAMPLE_DATA/Quality Control/Coating.jmp");
dt << Control Chart Builder(Variables(Y(Eval(y_col)), Subgroup(:Sample)));
Re : SCRIPT JMP : Création d'un graphique basé sur une variable de sélection de l'utilisateur
Re : JMP SCRIPT : création d'un graphique basé sur une variable de sélection de l'utilisateurLa ligne 1 de votre code n'est pas une bonne pratique - vous redéfinissez Y en lui-même.
Essaye ça:
raw_data_table = New Table( "Test",Add Rows( 4 ),
New Column( "Col1 (ppm)", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] ) ),
New Column( "Numéro de lot", Character, "Nominal",
Set Values( {"a", "a", "b", "b"} ) ),
New Column( "Period", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] ) )
);
Y = "Col1"; // Selected from your dialog box
ycol = Y || " (ppm)";
graph = RAW_DATA_TABLE <<
Control Chart Builder(
Size( 534, 450 ),
Show Two Shewhart Charts( 0 ),
Show Control Panel( 0 ),
Sort by Row Order( 1 ),
Variables( Y( column(RAW_DATA_TABLE, ycol) ),Subgroup( :Numéro de lot ), Phase(:"Period")),
// Get Limits(LIMIT_TABLE),
);
J'ai commenté la référence à limit_table car je n'avais pas ces données.
Re : SCRIPT JMP : Création d'un graphique basé sur une variable de sélection de l'utilisateurSuper ! c'est exactement ce dont j'ai besoin.
Maintenant, je veux faire une sélection de colonne basée sur la y_column pour supprimer les colonnes non souhaitées par l'utilisateur :
a = {Eval(y_colums)};
limit_table << Invert Column Selection( a );
limit_table << Delete Columns;Cependant, cela ne fonctionne pas.
Avez-vous une idée pour m'aider ?
merci
Sébastien