스택 출력 테이블 이름안녕,
스택 테이블에 대한 일부 정보를 동적으로 구문 분석하고 스택 테이블을 새 데이터 테이블로 저장하고 싶은 스크립트가 있습니다.
ystr1 = ":INFRASTRUCTURE 값, :INFRASTRUCTURE 값 1"
infr = "인프라 가치";
데이터 = "PPT";
output_name = "infra_updated.jmp";
gbStr = EvalInsert("dt << 스택(
열(
^ystr1^
),
소스 레이블 열(^infr^ ),
누적 데이터 열(^data^),
출력 테이블(^output_name^ )
)"
);
Eval(Parse(gbStr));
다음 오류가 발생합니다.
이름이 확인되지 않음: 'infra_updated.jmp' 액세스 또는 평가 시 infra_updated..jmp
EvalInsert가 출력 테이블에 대해 작동하지 않는 이유를 알 수 없습니다.
자동화 및 스크립팅Re: 스택 출력 테이블 이름따옴표는 출력 테이블() 지정된 이름 주위에 있어야 합니다. 따라서 해당 항목을 output_name 변수의 문자열 값에 추가해야 합니다.
ystr1 = ":INFRASTRUCTURE Value, :INFRASTRUCTURE Value 1";
infr = "Infrastructure Value";
data = "PPT";
output_name = "\!"infra_updated\!"";
gbStr = Eval Insert(
"dt << Stack(
columns(
^ystr1^
),
Source Label Column(^infr^ ),
Stacked Data Column(^data^),
Output Table(^output_name^ )
)"
);
Eval( Parse( gbStr ) );
Re: 스택 출력 테이블 이름Jim은 이미 스크립트에서 무엇이 잘못되었는지 이유를 제시했습니다. 디버깅하기가 매우 어렵고 스크립트 편집기에 구문 강조 표시가 없으므로 Eval(Parse()) 이외의 다른 방법을 사용하는 것이 좋습니다.
Names Default To Here(1);
/*
dt = Open("$SAMPLE_DATA/Big Class.jmp");
cols = {"age", "height"};
*/
cols = {"INFRASTRUCTURE Value", "INFRASTRUCTURE Value 1"};
infr = "Infrastructure Value";
data = "PPT";
output_name = "infra_updated";
dt_stacked = dt << Stack(
Columns(Eval(cols)),
Source Label Column(infr),
Stacked Data Column(data),
Output Table(output_name)
);
Re: 스택 출력 테이블 이름문제를 설명해 주셔서 감사합니다.Re: 스택 출력 테이블 이름저는 JSL 스크립팅을 처음 접했고 아직 익숙해지는 과정에 있습니다. 하지만 귀하의 솔루션이 디버깅하기 더 쉬워 보인다는 데 동의합니다. 감사해요Re: 스택 출력 테이블 이름귀하의 솔루션을 시도했지만 이 오류가 표시됩니다. 목록에 올바른 열 이름이 있습니다.
"'Stack' 액세스 또는 평가에서 열을 찾을 수 없습니다. 잘못된 인수입니다."
Re: 스택 출력 테이블 이름나에게는 코드에 남겨둔 예제로 테스트하면 JMP18(및 17)에서 잘 작동합니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
cols = {"age", "height"};
infr = "Infrastructure Value";
data = "PPT";
output_name = "infra_updated";
dt_stacked = dt << Stack(
Columns(Eval(cols)),
Source Label Column(infr),
Stacked Data Column(data),
Output Table(output_name)
);

열 이름이 올바르게 작성되었으며 목록에 있습니까?