utiliser une variable comme nom de colonne lors de la création d'un graphique
The script below loads some data and should create twice the same plot.<BR />The first one by referring to the column name by using a variable (test1), the second one by calling the column name directly.
The second one works fine, but for the first one I get an empty plot area. I guess there is a problem with how I define or call test1. I have tried different approaches, but so far nothing worked.
Names Default To Here( 1 );
// Import the Excel file with specified settings
dt = Open(
"/Y:/.../file.xlsx",
Worksheets( "Pivot table for JMP" ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Headers Start on Row( 2 ),
Data Starts on Row( 3 )
)
);
// Filter rows to include only "AAA" in "Common Designation"
dt_AAA = dt << Subset(
Rows( :Common Designation == "AAA" ),
Include All Columns,
Name( "Filtered AAA" )
);
size = "AAA" ;
Match( size,
"AAA", test1 = column ("PL (min)"),
);
New Window( size,
V List Box(
Graph Builder(
Size( 500, 297 ),
Show Control Panel( 0 ),
Variables( X( :test1 ), Y( :Chemistry ), Color( :Chemistry ) ),
Elements( Points( X, Y, Legend( 106 ) ) )
),
Graph Builder(
Size( 500, 297 ),
Show Control Panel( 0 ),
Variables( X( :"PL (min)"n ), Y( :Chemistry ), Color( :Chemistry ) ),
Elements( Points( X, Y, Legend( 106 ) ) )
),
),
);
Automatisation et scriptageRe : Utilisation d’une variable comme nom de colonne lors de la création d’un graphiqueSi je comprends bien, il suffit de supprimer les deux points devant « test1 » dans le premier script Graph Builder. Voici un exemple de script fonctionnel :
Names Default To Here (1);
dt = open ("$SAMPLE_DATA/big class.jmp");
test1 = column ("weight");
Graph Builder (
Variables (X(test1), Y(:height), color (:sex))
);
Re : Utilisation d’une variable comme nom de colonne lors de la création d’un graphiqueUne astuce sympa pour trouver des bugs comme celui-ci :
Supprimez progressivement les lignes du script défectueux, jusqu'à ce qu'il n'en reste que suffisamment pour reproduire l'erreur.
Important : le code doit contenir tous les éléments nécessaires pour reproduire l'erreur - pour tous ceux qui exécutent le code *)
Cela présente 2 avantages :
— Dans la plupart des cas, le bug est détecté automatiquement. Une ligne supprimée, et le bug disparaît.
- Le code restant est très court, ce qui facilite grandement la recherche du bug.
*) Sur mon système, il a planté avec le message d'erreur suivant :

Bien mieux : utilisez l’un des fichiers d’exemple, comme dans l’exemple de @Jed_Campbell .
Cela présente un autre avantage : vous pouvez faire la distinction entre :
- Il y a une erreur dans mon tableau de données (et l'erreur disparaît avec les données d'exemple).
- Il y a une erreur dans mon script (car je peux reproduire l'erreur avec les données d'exemple).