변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?만장일치로 참조하여 스크립트를 업데이트하여 내가 작성한 스크립트의 이전 "죄"를 수정하려고 합니다. 즉, 다른 테이블이 현재( 또는 "간섭") 테이블. 아래 문제를 재구성해 보았습니다.
Names Default To Here( 1 );
// this is the table i want to work with
dt = New Table( "Target table", invisible,
Add Rows( 3 ),
New Column( "Name_1",
Character( 1 ),
"Nominal",
Set Values( {"A", "B", "C"} ),
Set Display Width( 45 )
),
New Column( "Name_2",
Character( 1 ),
"Nominal",
Set Values( {"X", "Y", "Z"} ),
Set Display Width( 45 )
),
New Column( "NumericRight",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 2, 3] ),
Set Display Width( 78 )
),
New Column( "NumericAlso",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [7, 8, 9] )
)
);
dt2 = New Table( "Interfering table", invisible,
Add Rows( 3 ),
New Column( "Name_1",
Character( 1 ),
"Nominal",
Set Values( {"D", "E", "F"} ),
Set Display Width( 45 )
),
New Column( "Name_2",
Character( 1 ),
"Nominal",
Set Values( {"U", "V", "W"} ),
Set Display Width( 45 )
),
New Column( "NumericInterference",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [4, 5, 6] )
),
New Column( "MoreNumeric",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [7, 8, 9] )
)
);
// get lists
lstName_1 = Associative Array( dt:Name_1 ) << Get Keys;
lstName_2 = Associative Array( dt:Name_2 ) << Get Keys;
colList = dt << Get Column Names( "Numeric" );
// window with radio buttons & col list box
New Window( "Select values",
Show Menu( 0 ),
Show Toolbars( 0 ),
Border Box( Top( 0 ), Bottom( 20 ), Left( 20 ), Right( 10 ),
H List Box(
Panel Box( "Name_1",
Radio Box(
Eval List( lstName_1 )
)
),
Panel Box( "Name_2",
Radio Box(
Eval List( lstName_2 )
)
),
Panel Box( "Numeric Columns",
clb = Col List Box( )
),
clb << Append( colList ); // making me cry ...
)
)
);
내가 보고 싶은 것 :

내 "대상 테이블"이 현재 테이블이 아닌 경우 항상 표시되는 내용 :

나를 완전히 혼란스럽게 만드는 것은 내가 이름을 바꿀 때입니다. dt2:숫자 간섭 에게 dt2:숫자오른쪽 , 나는 이 결과를 얻었습니다 :

dt2가 내 스크립트가 내가 원하는 작업을 수행하도록 허용하지 않는 이유는 무엇입니까? dt2의 열 이름 변경이 열 목록 상자에 들어가는 항목에 영향을 미치는 이유는 무엇입니까? 나는 움직이는 몇 가지 변형을 시도했습니다. colList 변수를 사용하여 랩핑을 시도했습니다. 평가 목록() , "행운"없이.
커뮤니티에서 다시 검색해보니 이런게 있네요 Col 목록 상자를 채우는 데 도움이 필요합니다. 다른 해결방법이 있다면 알려주시면 감사하겠습니다. 아니면 이것이 의도된 방식인가요? 그렇다면 이것이 의미하는 바는 무엇인가요?
자동화 및 스크립팅Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?안녕,
언뜻 보면 테이블 dt에서 숫자 열 목록을 가져오려면 아래 구문만 사용하면 됩니다.
clb = Col List Box(dt, all, << Set Data Type ("numeric"))
또한 Get Column Names가 열이 아닌 이름 목록을 반환하므로 "clb <
마지막으로, 여러 테이블에 걸쳐 Col List Box를 사용할 수 없을 것 같습니다(여기서 제가 틀렸다면 정정해 주십시오).
최상의,
TS
Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?col 목록 상자는 col 목록 상자가 생성되었을 때 "현재"였던 데이터 테이블의 열을 받아들이는 것 같습니다.
dt2에 해당 열이 없으면 추가할 수 없습니다.
내 생각엔
current data table(dt);
// window with radio buttons & col list box
New Window( "Select values",
당신에게는 선택의 여지가 없나요?
그렇지 않다면 다음을 사용하십시오.
clb = Col List Box( Data Table(dt) )
열 목록 상자에 어떤 데이터 테이블을 사용해야 하는지 지정하려면 다음을 수행하세요.

Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?감사해요 @Thierry_S , 내일 시도해 보겠습니다. 그러나 dt2가 스크립트에서 주석 처리되면 Col List Box가 예상대로 업데이트되므로 확실히 작동합니다(원본 게시물의 첫 번째 스크린샷 참조).
Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?@호기 , 감사합니다. 저도 내일 이 방법을 시도해 보고 결과를 알려드리겠습니다.
Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?@Thierry_S , 이상하고 불행하게도 이것은 작동하지 않습니다. 처음에 게시한 스크립트에서 귀하의 제안에 따라 다음과 같이 변경했습니다.
// this part was revised ...
Panel Box( "Numeric Columns",
clb = Col List Box( )
),
clb << Append( colList ); // making me cry ...
// ... to look like this.
Panel Box( "Numeric Columns",
clb = Col List Box( dt, all, << Set Data Type ( "numeric" ) ) // this adds the numeric columns from dt2. Why???
)
이는 아래 결과를 제공했습니다. 즉, 열 목록 상자에 추가된 dt2의 숫자 열인 반면, 내가 원하는 것은 dt의 숫자 열입니다.

그래도 나에게는 매우 유용한 학습이다. 감사합니다!
Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?
@레셀 썼다:
@Thierry_S , 이상하고 불행하게도 이것은 작동하지 않습니다.</CODE></P><HR /></BLOCKQUOTE><P> </P><P>코드는 거의 정확하지만 사용해야 합니다.</P><PRE><CODE class=" language-jsl">clb = Col List Box(Data Table(dt), all, << Set Data Type ("numeric"))
당신은 또한 사용할 수 있습니다
clb = Col List Box(all, << Set Data Type ("numeric"), Data Table(dt))하지만 "표시기" *) 데이터 테이블()을 잊어서는 안 됩니다.
내 이전 게시물(아래)에 표시된 대로 스크립팅 가이드에 따르면

열 이름과 마찬가지로 이름을 사용하든 참조를 사용하든 상관없습니다.
하지만 지시자가 없는 인수만이 아닌 데이터 테이블(이름 또는 테이블 참조)이어야 합니다.
종종 Data Table(name)이 데이터 테이블 참조로 대체될 수 있기 때문에 이것은 약간 오해의 소지가 있습니다. 
그러나 여기서 데이터 테이블은 선택적 인수입니다. 따라서 Jmp가 그것이 무엇인지 알 수 있도록 표시기 *)가 있어야 합니다.
*) "지표"의 공식 명칭은 무엇입니까?
Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?@호기 , 놀랐습니다! 도움을 주셔서 감사합니다.
- 물론 원하는 테이블을 현재 테이블로 만드는 것은 가능합니다. 왠지 나는 아직도 이것을 피하고 싶었다.
- 그러나 아래 코드도 작동합니다.
Panel Box( "Numeric Columns",
clb = Col List Box(Data Table( dt ))
),
clb << Append( colList ); // this is still required, which I find interesting, since I thought the clb was already added above via Col List Box(...)
대조적으로, 아래는 작동하지 않습니다. 오히려 dt2의 숫자 열을 추가하는데 이는 나에게 이해가 되지 않습니다.
Panel Box( "Numeric Columns",
clb = Col List Box(dt, all, << Set Data Type ( "numeric" )) // adds numeric columns from dt2 :(...
),
/*clb << Append( colList );*/ // doesn't matter whether this is commented out or not
Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?안녕 @레셀 .
나는 인정해야 한다, 그것은 또한 나에게 약간 당황스러웠다 
그들은 사용했어야 했어
Col List Box(<FROM data="https://community.jmp.com/" table=""></FROM>
선택적 인수로 ... 또는 다른 것으로 - 그러나 다음과 다릅니다. 데이터 테이블("테이블 이름")
- 오해의 소지가 있는 것 같죠?
몇 년이 지나면 Jmp 사용자는 전체 표현을 다음과 같이 바꾸고 싶은 유혹을 받게 됩니다. dt - "지표"를 잊어 버리십시오.
반면에 데이터 테이블의 인수로 테이블 이름 대신 테이블 참조를 사용할 수 있다는 것은 좋은 일입니다. 
Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?여러분과 같은 사용자의 존재와 도움은 스크립팅 및 기타 JMP 관련 기술에 있어서 저를 포함해 많은 사람들의 능력을 향상시키는 원동력입니다. 이것은 친절이며 매우 감사한 일입니다.
Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?@Thierry_S , @호기 참고로 - https://www.pega-analytics.co.uk/blog/handling-lists-of-columns/
Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?링크 주셔서 감사합니다. @David_Burnham 블로그에는 멋진 보석 컬렉션이 포함되어 있습니다!
방금 배포 플랫폼의 열 참조에 대한 부분을 읽었습니다.
흥미롭습니다. 스크립팅 인덱스에 따르면 다음과 같습니다.

"가 없기 때문에 < >" Column() 인수 주변에서 다음과 같이 생각할 수 있습니다. 열() 선택 사항이 아닌 유일한 인수입니다.
- 그것을 사용합니까? 열() 열 참조를 생성하는 함수?
하지만 실제로는 똑같습니다 데이터 테이블() 이전 토론에서:
열() 이다 지시자 대한 선택 과목 논쟁:
- 어디에나 배치할 수 있고 생략할 수도 있음
- 열 또는 1개 이상의 열 목록(참조 또는 이름)을 허용합니다. - 이것이 column() 함수가 아니라는 명확한 표시
스크립팅 인덱스에서 Columns() 인수 앞뒤의 점이 해당 인수가 선택 사항임을 나타내는 또 다른 항목을 찾았습니다.
여기서는 GUI와 마찬가지로 Columns [복수형]입니다. 와이 또 다른 별칭입니다. 둘 다 기능으로 인해 주의가 산만해지지 않도록 도와줍니다. 열() .

// aliasDistribution(Column("height"));
Distribution(:height); // doesn't work<BR /><BR />Distribution(Columns("name", :sex)); // accepts >=1 arguments; column references and names<BR />Distribution(Columns({"name", :sex})); // accepts lists
<BR />Distribution(Continuous Distribution(Column( :height ))); // Distribution can be used without a Column() argument<BR />
Distribution("dummy 1st entry", Columns("height")); // Column at non-first position -> works<BR /><BR />Distribution("hello"); // not necessary to provide a meaningful (first) argument<BR /><BR />Distribution(Columns("name")); // alias<BR />Distribution(Y("name"));
Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?스크립팅 가이드에서는 용어에 대한 설명을 제공합니다. 스크립팅 안내서 > JSL 스크립트 작성 소개 > JSL 용어
Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?
그래서 용어는 명명 된 인수
- 명명된 인수는 항상 선택 사항입니다. 스크립팅 색인에 < >가 있거나 없거나 
안타깝게도 명시적으로 언급되지 않았습니다.
명명된 인수의 "표시자"의 공식 이름은 "입니다. 이름 "?
Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?공식 명칭은? 지시자?
스크립팅 가이드 > JSL 빌딩 블록 > JSL 구문 규칙 > 이름에 대한 JSL 규칙
JSL에서 이름은 단순히 항목을 호출하는 것입니다. 표현식의 변수에 숫자 값 3을 할당하는 경우 a = 3 , ㅏ 이름입니다.
Re: 변수에 저장된 목록을 사용하여 열 목록 상자를 업데이트하면 예상대로 작동하지 않습니다. 이게 원래 그런 뜻인가요?이것이 나를 당황하게 만드는 것입니다.
우리는 열("높이") ~에
Distribution(Columns("height"));(선택 사항)입니다 명명된 인수.
그래서, 무엇입니까? 열 ~에 Distribution(열("높이")); ?
문법적인 관점에서 이는 명명된 인수에 지정된 "이름"일 수 있습니다.
그러나 이는 표준 정의와 충돌합니다. 이름 JSL에서. (비교하다: 이름(x))
제가 이 질문을 하는 첫 번째 사람은 아닌 것 같습니다. 명명된 매개변수의 이름에 대한 공식적인 이름이 있는 것 같습니다.
하지만 운이 좋게도 문서에서 그 내용을 찾을 수는 없었습니다.
@마크_베일리 ?