if 문에 대한 도움말안녕,
아마도 여기에 기본적인 것이 빠졌을 것입니다. 다른 두 열 값의 조합을 사용하여 열 값을 변경하려고 합니다. 다음 if 문을 입력했는데 열 값이 변경되지 않았습니다. 내가 여기서 무엇을 놓치고 있는 걸까요? 어떤 팁과 조언이라도 감사드립니다.
Names Default To Here( 1 );
dt = Data Table( "20210811Miflezet_CAPCMP.jmp" );
dt << Begin Data Update;
If( :justice_decision_REC_RILE2 == "reject" & :RILE_Calc2a == "center"
,
:Rile_Calc3 == "center"
,
:justice_decision_REC_RILE2 == "accept" & :RILE_Calc2a == "center"
,
:Rile_Calc3 == "center"
,
:justice_decision_REC_RILE2 == "reject" & :RILE_Calc2a == "left"
,
:Rile_Calc3 == "right"
,
:justice_decision_REC_RILE2 == "accept" & :RILE_Calc2a == "left"
,
:Rile_Calc3 == "left"
,
:justice_decision_REC_RILE2 == "reject" & :RILE_Calc2a == "right"
,
:Rile_Calc3 == "left"
,
:justice_decision_REC_RILE2 == "accept" & :RILE_Calc2a == "right"
,
:Rile_Calc3 == "right"
);
dt << End Data Update;
소비자 및 시장 조사데이터 혼합 및 정리답: if 문에 대한 도움말실제로 효과가 있었습니다. 나는 다음을 사용하여 하나의 작은 조정을 수행했습니다. @jthi 님의 게시물에 약간의 변경을 가했습니다. @Craige_Hales 의 코드입니다. 나에게 도움이 된 최종 형식은 다음과 같습니다.
dt = Data Table( "20210812Miflezet_CAPCMP.jmp" );
For Each Row(
If(
:just_dec_rec == "reject" & :RILE_Rec == "center", :RILE4="center",
:just_dec_rec == "accept" & :RILE_Rec == "center", :RILE4= "center",
:just_dec_rec == "reject" & :RILE_Rec == "left", :RILE4= "right",
:just_dec_rec == "accept" & :RILE_Rec == "left", :RILE4="left",
:just_dec_rec == "reject" & :RILE_Rec == "right", :RILE4="left",
:just_dec_rec == "accept" & :RILE_Rec == "right", :RILE4="right"
));
답: if 문에 대한 도움말원래 JSL에서는 아마도 ( 편집: 또한 ) 변경하고 싶을 것입니다.
Rile_Calc3 == "center" // compare. the result of the compare (0 or 1) will be the result of the if(), see below
에게
Rile_Calc3 = "center" // assign value
JSL if 문은 값을 반환합니다. 당신은 그것을 쓸 수 있습니다
:Rile_Calc3 = If(
:justice_decision_REC_RILE2 == "reject" & :RILE_Calc2a == "center", "center",
:justice_decision_REC_RILE2 == "accept" & :RILE_Calc2a == "center", "center",
:justice_decision_REC_RILE2 == "reject" & :RILE_Calc2a == "left", "right",
:justice_decision_REC_RILE2 == "accept" & :RILE_Calc2a == "left", "left",
:justice_decision_REC_RILE2 == "reject" & :RILE_Calc2a == "right", "left",
:justice_decision_REC_RILE2 == "accept" & :RILE_Calc2a == "right", "right",
:Rile_Calc3 // or "Unknown" ? depends how you want to handle the unexpected case.
);
예상치 못한 경우가 없다는 것을 알고 있다면 마지막 else 절을 생략할 수 있습니다. 그러나 예상치 못한 사건의 본질은 전혀 예상하지 못한 순간에 나타나는 것입니다.
비밀이라면
답: if 문에 대한 도움말답변 해주셔서 감사합니다! 다양한 스크립팅 가이드에서 볼 수 있듯이 이는 올바른 것이어야 하지만 여기서는 작동하지 않았습니다. 나는 데이터 테이블과 이 변수에 대해 이미 수행한 모든 처리에 문제가 있다고 가정합니다. 결국 해결 방법은 두 개의 명목 열을 하나로 연결한 다음 얻은 표현식을 원하는 결과로 다시 코딩하는 것이었습니다. 다시 한 번 감사드립니다.
답: if 문에 대한 도움말각 행에 대해 또는 각 값 설정을 사용할 수 있습니다. 아래는 예입니다:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
For Each Row(
If(:sex == "F",
:age = .
);
);
dt:weight << Set Each Value(
If(:sex == "M",
.,
:height
);
);