취소
다음에 대한 결과 표시 
표시  만  | 다음에 대한 검색 
다음을 의미합니까? 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
언어 선택 변환 막대 숨기기
게시된 스레드 원본 보기

JSL을 사용하여 열 값에 대한 사용자 입력 값

adel922
Level I

저는 JSL 스크립팅을 처음 사용합니다.

패널 상자의 항목을 사용하여 열을 채우려고 합니다.

아래 코드의 일부에서 Price Code라는 열을 채우기 위해 ,34를 입력한 값을 가져오려고 합니다. 그러나이 코드를 실행하면 빈 열이 반환됩니다.

나는 사용해 보았다 값 가져오기(숫자) 대신에 설정값(숫자) 여전히 빈 가격 코드 열이 표시됩니다.

 

dataTable = New Table( "Data Table",
Add Rows( 3 ),
New Column( "Customer Name",
Character,
"Nominal",
Set Values( {"Jane", "Scott", "Abby"} )
),
New Column( "Dollar Amount",
"Continuous",
Set Values( [2002, 1323, 1954] )
)
);

popUp = New Window ("Number", << modal(),
        Panel Box("Enter a Number", lineup box ( N col (1)),
            number = Number edit box (34), ),
        Panel Box ("Actions", H List Box (  Button Box ("OK", keep_going = 1;                    
                    Num = :number << Get;),
           Button Box ("Cancel", keep_going = 0)   ),   ),
);

dataTable << New Column("Price Code",Numeric, "Continuous", Set Values(Num));

 

 

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

1 채택된 솔루션

채택된 솔루션
txnelson
Super User

Re: JSL을 사용하여 열 값에 대한 사용자 입력 값

간단한 2문제 문제입니다.  

1. 참고했을 때

Num = :number << Get;

변수 번호의 범위를 잘못 지정하고 있습니다. 변수 앞의 ":"는 JSL이 데이터 테이블에서 "Number"라는 열을 찾도록 지시합니다. 공백으로 두거나 "::"을 지정하면 메모리 변수를 찾습니다.

2. 메모리 변수 "NUM"의 스케일러 값을 테이블의 모든 행에 채우려면 다음을 지정해야 합니다.

dataTable << New Column( "Price Code", Numeric, "Continuous", Set each Value( Num ) );

따라서 완전한 스크립트는 다음과 같습니다.

Names Default To Here( 1 );
dataTable = New Table( "Data Table",
 Add Rows( 3 ),
 New Column( "Customer Name", Character, "Nominal", Set Values( {"Jane", "Scott", "Abby"} ) ),
 New Column( "Dollar Amount", "Continuous", Set Values( [2002, 1323, 1954] ) )
);

popUp = New Window( "Number",
 <

 

17 응답 17
txnelson
Super User

Re: JSL을 사용하여 열 값에 대한 사용자 입력 값

간단한 2문제 문제입니다.  

1. 참고했을 때

Num = :number << Get;

변수 번호의 범위를 잘못 지정하고 있습니다. 변수 앞의 ":"는 JSL이 데이터 테이블에서 "Number"라는 열을 찾도록 지시합니다. 공백으로 두거나 "::"을 지정하면 메모리 변수를 찾습니다.

2. 메모리 변수 "NUM"의 스케일러 값을 테이블의 모든 행에 채우려면 다음을 지정해야 합니다.

dataTable << New Column( "Price Code", Numeric, "Continuous", Set each Value( Num ) );

따라서 완전한 스크립트는 다음과 같습니다.

Names Default To Here( 1 );
dataTable = New Table( "Data Table",
 Add Rows( 3 ),
 New Column( "Customer Name", Character, "Nominal", Set Values( {"Jane", "Scott", "Abby"} ) ),
 New Column( "Dollar Amount", "Continuous", Set Values( [2002, 1323, 1954] ) )
);

popUp = New Window( "Number",
 <

 

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

adel922
Level I

Re: JSL을 사용하여 열 값에 대한 사용자 입력 값

매우 감사합니다 tx넬슨

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

adel922
Level I

Re: JSL을 사용하여 열 값에 대한 사용자 입력 값

매우 감사합니다 tx넬슨 .

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

shah47
Level II

Re: JSL을 사용하여 열 값에 대한 사용자 입력 값

이 솔루션과 관련하여 궁금합니다. 샘플 이름과 관련하여 사용자로부터 입력을 받고 이를 샘플 번호로 설정하는 방법은 무엇입니까?

 

dt << New Column("Sample Number",Character,Formula(Left(:Sample, Length(:Sample) - 1)),EvalFormula);


InputWindow = New Window( "Enter Input", <

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

Re: JSL을 사용하여 열 값에 대한 사용자 입력 값

레이블에 대한 String Col Box()를 구성하는 Table Box()와 입력 값에 대한 Text Edit Box()의 V List()를 사용하여 더 깨끗하고 간단한 UI를 만들 수 있다고 생각합니다.

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

shah47
Level II

Re: JSL을 사용하여 열 값에 대한 사용자 입력 값

이 같은? 그러나 샘플 번호를 샘플 이름에 대한 사용자 입력으로 대체하려면 어떻게 해야 합니까?

 

// Create a new column for sample names
dt << New Column("Sample Number",Character,Formula(Left(:Sample, Length(:Sample) - 1)),EvalFormula);
dt = current data table();

InputWindow = New Window( "Enter Input", <

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

Re: JSL을 사용하여 열 값에 대한 사용자 입력 값

다음은 한 가지 방법입니다.

 

Names Default To Here( 1 );

InputWindow = New Window( "Enter Input",
 <

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

shah47
Level II

Re: JSL을 사용하여 열 값에 대한 사용자 입력 값

도움을 주셔서 감사합니다. 그런데 오류가 발생합니다. 어디가 잘못되었나요?

dt << New Column("Sample Number",Character,Formula(Left(:Sample, Length(:Sample) - 1)),EvalFormula);
dt = current data table();

Names Default To Here( 1 );

InputWindow = New Window( "Enter Input",
 <

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

txnelson
Super User

Re: JSL을 사용하여 열 값에 대한 사용자 입력 값

로그의 오류 메시지는 무엇입니까?

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.