Comment ajouter des étiquettes de valeur à une colonne via JSLSur ma table principale (Tableau 1), j'ai une colonne appelée "Bin" qui contient n'importe quel numéro (correspondant aux entrées de la colonne "Bin Number" sur une autre table qui est le Tableau 2). Maintenant, je souhaite attribuer des étiquettes de valeur à cette colonne "Bin" via un script. Les étiquettes de valeur proviendraient du tableau 2 avec deux colonnes : « Numéro de bac » et « Description ».
Codage en dur quelque chose comme
Column( dt, 1 ) << Add Column Properties( Value Labels( {"1" = "Cool", "2" = "Awesome", "3" = "Bad"} ), Use Value Labels( 1 ) );est assez simple. Cependant, j'ai du mal à créer une expression avec des étiquettes de valeur dynamiques et formulées à partir de ce qui se trouve sur l'autre table. Sur le code ci-dessus, "1, 2, 3,..." sont des entrées pour "Bin Number" tandis que "Cool, Awesome, Bad,..." sont des entrées pour "Description" du tableau 2.
J'apprécierais que vous puissiez m'indiquer quelques astuces intéressantes. Merci!
Re : Comment ajouter des étiquettes de valeur à une colonne via JSLMerci beaucoup cela a fonctionné. Votre réponse a rendu les choses si faciles.
Re : Comment ajouter des étiquettes de valeur à une colonne via JSLVoici une façon de gérer le problème. Il crée essentiellement une chaîne contenant la structure spécifique nécessaire. Ajoutez-le ensuite en tant qu'élément dans la liste à utiliser pour ajouter les étiquettes de valeur à la colonne.
Names Default To Here( 1 );
dt = New Table( "Untitled 36", Add Rows( 3 ),
New Column( "Column 1", Character, "Nominal",
Set Values( {"1", "2", "3"} ) ) );
NamesList = {"Cool", "Awsome", "Bad"};
ValuesList = Column( dt, 1 ) << get values;
NamesValuesList = {};
// Build the Value Labels List
For( i = 1, i <= N Items( NamesList ), i++,
Insert Into( namesvalueslist,
Parse( "\!"" || ValuesList[i] || "\!" = \!"" || NamesList[i] || "\!"" ) )
);
// Create the Value Labels
Column( dt, 1 ) << set property( "Value Labels", Eval( NamesValuesList ) );