So fügen Sie über JSL Wertebeschriftungen zu einer Spalte hinzuIn meiner Haupttabelle (Tabelle 1) habe ich eine Spalte namens „Bin“, die eine beliebige Zahl enthält (entsprechend den Einträgen der Spalte „Bin-Nummer“ in einer anderen Tabelle, nämlich Tabelle 2). Jetzt möchte ich dieser Spalte „Bin“ per Skript Wertebeschriftungen zuweisen. Die Wertebeschriftungen würden aus Tabelle 2 mit zwei Spalten stammen: „Bin-Nummer“ und „Beschreibung“.
So etwas hart codieren
Column( dt, 1 ) << Add Column Properties( Value Labels( {"1" = "Cool", "2" = "Awesome", "3" = "Bad"} ), Use Value Labels( 1 ) );ist einfach genug. Ich habe jedoch Probleme damit, den Ausdruck zu erstellen, da die Wertebeschriftungen dynamisch sind und aus dem, was in der anderen Tabelle steht, formuliert werden. Im obigen Code sind „1, 2, 3,…“ Einträge für „Bin Number“, während „Cool, Awesome, Bad,…“ Einträge für „Description“ aus Tabelle 2 sind.
Ich freue mich, wenn Sie mir ein paar nette Tricks zeigen können. Danke!
Betreff: So fügen Sie über JSL Wertebeschriftungen zu einer Spalte hinzuVielen Dank, es hat funktioniert. Durch Ihre Antwort sah es so einfach aus.
Betreff: So fügen Sie über JSL Wertebeschriftungen zu einer Spalte hinzuHier ist eine Möglichkeit, das Problem zu lösen. Im Grunde wird eine Zeichenfolge erstellt, die die erforderliche spezifische Struktur enthält. Fügen Sie es dann als Element in die Liste ein, die zum Hinzufügen der Wertebeschriftungen zur Spalte verwendet werden soll.
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 ) );