JSL 코드의 일부가 최종 스크립트에서는 작동하지 않지만 격리된 경우에는 작동합니다.경고: 초급 수준의 질문입니다.
특정 조건이 충족되면 항목을 채우기 위해 임시 열(:Parameter_new)을 추가하는 데이터 테이블이 있습니다. 그런 다음 항목을 다른 열(:Parameter_old)로 가져오고 싶습니다. 내 생각에는 코드가 최종 스크립트의 일부일 때 개별 줄을 다른 스크립트에 복사할 때와 다르게 동작한다는 것입니다. 스크립트 코드를 한 줄씩 적용하면 모든 것이 예상대로 작동합니다. 최종 스크립트에 구현하면 빈 값만 표시됩니다. 내가 어디로 잘못 가고 있습니까?
//Code works OK
dt << New Column ("Parameter_new", character);
dt << go to( :Parameter_new ) << move selected columns( After( :Parameter_old ));
For Each Row(
If(:Parameter_old == "Parameter x",
:Parameter_new = :Parameter_old || " " || "by" || " " ||:Method_description));
dt << select where(:Parameter_old == "Parameter x");
//Code does not work and deletes all entries in column "Parameter_old", i.e. cells come out blank
//Code does however work if applied individually, line by line
:Name("Parameter_old")[dt << get selected rows] = :Parameter_new;품질 및 프로세스 엔지니어링Re: JSL 코드의 일부가 최종 스크립트에서 작동하지 않지만 격리된 경우 작동합니다.안녕. 커뮤니티 플랫폼에 변화가 있는 것 같습니다. 지원팀에 문의했습니다. 그동안 버튼을 예상대로 사용할 수 있도록 하는 임시 수정 사항을 구현했습니다. 감사해요.
Re: JSL 코드의 일부가 최종 스크립트에서 작동하지 않지만 격리된 경우 작동합니다.여기 커뮤니티 포럼에 게시할 때 모든 코드 블록에 오류 플래그가 지정됩니다.특히 블록 내부의 `class=" 언어-jsl"`은 아래와 같이 제거됩니다.
Names Default To Here( 1 );
x = [10, 50, 90];
y = [10, 90, 10];
New Window( "Line Seg Example", g = Graph Box( Line Seg( x, y ) ) );
frame = g[FrameBox( 1 )];
seg = (frame << Find Seg( Line Seg( 1 ) ));

Re: JSL 코드의 일부가 최종 스크립트에서 작동하지 않지만 격리된 경우 작동합니다.문제를 해결할 수 있어서 다행입니다. 색상 코딩은 편집기 툴바에서 왼쪽에 있는 를 사용하고 있는 것으로 보입니다.
동일한 스니펫에서 두 가지를 모두 사용하려고 시도했지만 하나만 작동할 수도 있습니다. 두 게시물의 형식을 모두 수정했습니다.
Re: JSL 코드의 일부가 최종 스크립트에서 작동하지 않지만 격리된 경우 작동합니다.지금 Ifs에 대해 배우는 것이 바보 같다고 느끼나요?
또한 내 JSL 코드 조각이 모두 회색인 이유는 무엇입니까? 올바른 글꼴과 색상을 어떻게 얻을 수 있나요?
dt2 << New Column ("Parameter_new", character);
dt2 << go to( :Parameter_new ) << move selected columns( After( :Parameter_old ));
For Each Row(
If( :Parameter_old == "Parameter x", :Parameter_new = :Parameter_old || " " || "by" || " " || :Method_description,
:Parameter_old != "Parameter x", :Parameter = :Parameter_old));Re: JSL 코드의 일부가 최종 스크립트에서 작동하지 않지만 격리된 경우 작동합니다.감사해요. 흥미로워 보이네요. 이 접근 방식에 대한 세부 사항을 정리하고 초기 코드를 완전한 형식으로 게시하고 귀하의 게시물을 솔루션으로 수락하기 전에 잠시 시간을 주십시오.
(또한 내 게시물에서 JSL 코드가 색상 없이 형식화되어 있는 이유는 무엇입니까? 스니펫 삽입을 위해 아이콘을 사용하고 있습니다.)
편집: 구독에 관한 훌륭한 게시물입니다. 몰랐는데 흥미롭게 읽을 수 있게 만들어졌습니다. 그 이후로 나는 나 자신의 답변을 해결책으로 받아들였습니다. 그것이 나에게 직관적으로 더 쉬워 보였기 때문입니다.
Re: JSL 코드의 일부가 최종 스크립트에서 작동하지 않지만 격리된 경우 작동합니다.감사합니다. 답변 감사드립니다! 둘 다 시도했지만 작동하지 않았습니다. 스크립팅 가이드에서 낚시하는 동안 제안을 받아보세요.
Re: JSL 코드의 일부가 최종 스크립트에서 작동하지 않지만 격리된 경우 작동합니다.최종 명령문에는 왼쪽(LHS)에 행렬이 있고 오른쪽(RHS)에 열이 있습니다.
ForEachRow 내부와 외부의 두 가지 사례가 있습니다. 내부에 있는 경우 암시적 행이 있고 열은 스칼라로 확인됩니다. 외부인 경우 암시적 행이 없습니다. ForEachRow 내부에서 작동할 때 정확히 하나의 행이 선택되었을 것입니다.
열 행렬(LHS)은 RHS의 스칼라만 지원합니다. RHS의 행렬에서는 제대로 작동하지 않습니다.
당신이 사용할 수있는 데이터 테이블 첨자 대신에. 이는 테이블을 2D 행렬(이 작은 예에서는 3행, 1열)로 처리합니다.
dt = Open( "$sample_data/big class.jmp" );
dt[[2, 3, 4], {name}] = dt[[5, 6, 7], {name}];Re: JSL 코드의 일부가 최종 스크립트에서 작동하지 않지만 격리된 경우 작동합니다.JMP는 아마도 다음 줄로 이동하기 전에 Parameter_new의 공식을 평가하지 않을 것입니다.For Each Row 함수 뒤에 다음을 추가해 보세요.
dt << Run Formulas;
또한 대기를 사용할 수도 있습니다.
Wait(0);