JSL을 통해 열에 값 레이블을 추가하는 방법내 기본 테이블(표 1)에는 숫자를 포함하는 "Bin"이라는 열이 있습니다(표 2인 다른 테이블의 "Bin Number" 열 항목에 해당). 이제 스크립트를 통해 이 열 "Bin"에 값 레이블을 할당하고 싶습니다. 값 레이블은 "Bin Number" 및 "Description"이라는 두 개의 열이 있는 표 2에서 가져옵니다.
다음과 같은 하드 코딩
Column( dt, 1 ) << Add Column Properties( Value Labels( {"1" = "Cool", "2" = "Awesome", "3" = "Bad"} ), Use Value Labels( 1 ) );충분히 간단합니다. 그러나 나는 값 레이블이 동적이고 다른 테이블의 내용에서 공식화되는 표현식을 만드는 방법에 대해 고심하고 있습니다. 위의 코드에서 "1, 2, 3,..."은 "Bin Number"에 대한 항목이고 "Cool, Awesome, Bad,..."는 표 2의 "Description"에 대한 항목입니다.
몇 가지 깔끔한 트릭을 알려 주시면 감사하겠습니다. 감사!
Re: JSL을 통해 열에 값 레이블을 추가하는 방법정말 감사합니다. 당신의 응답은 그것을 너무 쉽게 만들었습니다.
Re: JSL을 통해 열에 값 레이블을 추가하는 방법다음은 문제를 처리하는 한 가지 방법입니다. 기본적으로 필요한 특정 구조를 포함하는 문자열을 생성합니다. 그런 다음 값 레이블을 열에 추가하는 데 사용하는 데 필요한 목록에 요소로 추가합니다.
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 ) );