Cómo agregar etiquetas de valor a una columna a través de JSLEn mi tabla principal (Tabla 1), tengo una columna llamada "Contenedor" que contiene cualquier número (que corresponde a las entradas de la columna "Número de Contenedor" en otra tabla que es la Tabla 2). Ahora quiero asignar etiquetas de valor a esta columna "Contenedor" a través de un script. Las etiquetas de valor provendrían de la Tabla 2 con dos columnas: "Número de contenedor" y "Descripción".
Hard-codificando algo como
Column( dt, 1 ) << Add Column Properties( Value Labels( {"1" = "Cool", "2" = "Awesome", "3" = "Bad"} ), Use Value Labels( 1 ) );es lo suficientemente simple Sin embargo, estoy luchando con la forma de crear la expresión con las etiquetas de valor dinámicas y formuladas a partir de lo que está en la otra tabla. En el código anterior, "1, 2, 3, ..." son entradas para "Número de contenedor", mientras que "Cool, Awesome, Bad, ..." son entradas para "Descripción" de la Tabla 2.
Te agradezco si puedes señalarme algunos trucos. ¡Gracias!
Re: Cómo agregar etiquetas de valor a una columna a través de JSLMuchas gracias funcionó. Tu respuesta hizo que pareciera tan fácil.
Re: Cómo agregar etiquetas de valor a una columna a través de JSLAquí hay una manera de manejar el problema. Básicamente crea una cadena que contiene la estructura específica necesaria. Luego, agréguelo como un elemento en la lista que debe usarse para agregar las etiquetas de valor a la columna.
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 ) );