두 열의 값을 비교하는 JSL 조건부 다중 if 문내 데이터 테이블에서 서로 다른 두 열의 값을 비교하고 비교 결과를 새 열에 넣고 싶습니다. 수식을 사용하여 작동하도록 할 수 있지만 JSL로 변환할 수는 없습니다. JSL 스크립트로 아래 공식이 필요합니다.
MHD < MTV * -6인 경우 => 0
MHD > MTV * 6인 경우 => 0
그렇지 않으면 => 1
여기서 MHD와 MTV는 숫자 연속 값이 있는 두 개의 데이터 열입니다. 각 행에 대해 이 두 열의 값을 비교하고 있습니다.
아래 스크립트를 시도했지만 작동하지 않습니다.
새 열("P/F", 숫자, "명목", 공식(If(:MHD < :MTV * -6, 0, :MHD > :MTV*6, 0, 1)))
어떤 지침이라도 대단히 감사하겠습니다.
Re: 두 열의 값을 비교하는 JSL 조건부 다중 if 문훌륭한 팁을 주셔서 감사합니다. 이제 특수 문자를 사용하는 열 레이블을 변경할 필요가 없습니다.Re: 두 열의 값을 비교하는 JSL 조건부 다중 if 문JSL은 & 등을 이름의 일부가 아닌 계산 요소로 해석합니다.JSL이 열 이름을 올바르게 해석하는지 확인하기 위해 열 이름 주위에 배치할 수 있는 :Name() 함수를 살펴보십시오.
MDH 열의 이름이 MDH/PQR인 경우 JSL은 이름을 MDH라는 변수를 PQR이라는 변수로 나누는 수학적 계산으로 해석합니다.그러나 다음과 같이 참조하면
:이름( "MDH/PQR" )
모두 잘 작동합니다.
귀하의 코드에서 그것은 다음과 같습니다
New Column ("P/F", Numeric, "Nominal", Formula(If(:MTV *(-6) < :Name("MDH/PQR") < :MTV * 6,1,0)))Re: 두 열의 값을 비교하는 JSL 조건부 다중 if 문빠른 응답과 문제 해결을 위한 훌륭한 아이디어에 감사드립니다. 내 스크립트가 지금 작동 중입니다. 한 가지 더 알아차린 것은 열 레이블에 '-' 또는 '&'가 있으면 스크립트가 작동하지 않는다는 것입니다. 해당 특수 문자가 제거되면 스크립트가 문제없이 작동했습니다.Re: 두 열의 값을 비교하는 JSL 조건부 다중 if 문감사합니다. 이 솔루션도 완벽하게 작동했습니다.Re: 두 열의 값을 비교하는 JSL 조건부 다중 if 문Formula( If( :MDH < :MTV * -6 | :MDH > :MTV * 6, 0, 1 )
아마도?
Re: 두 열의 값을 비교하는 JSL 조건부 다중 if 문JSL 처리에 작은 문제가 있습니다.
:MTV * -6
JSL은 -6을 음수가 아닌 빼기로 볼 수 있습니다.따라서 다음과 같이 참조하는 것이 더 현명합니다.
:MTV * (-6)
JMP가 올바르게 해석하도록 합니다.
다음은 원하는 결과를 얻기 위해 수식을 설정하는 몇 가지 다른 방법입니다.
New Column ("P/F", Numeric, "Nominal", Formula(If(:MTV *(-6) < :MDH < :MTV * 6,1,0)))
//or
New Column ("P/F", Numeric, "Nominal", Formula(If(:MTV *(-6) < :MDH | :MDH > :MTV * 6,0,1)))