커뮤니티

NA 값 발생시 처리 문의합니다.

프로필 이미지
회원
2008-11-13 15:10:53
900
글번호 18115
답변완료
안녕하세요 ? 전에 교육 받을 때 수식 처리도중에 "NA" 값이 나오면 해당 문장을 Skip하고 다음 문장으로 진행한다고 들었습니다. 제가 아래와 같이 테스트한 결과 var : N(0); message("Start"); message("%f",N[1]); <- 첫 봉 진입시 NA 발생하여 "NA"라고 출력됨 message("End"); 위 수식은 정상적으로 "End" 문장까지 수행되어 처리되었습니다. 그런데 다음과 같이 작성하면 "NA" 발생한 이후에 문장은 수행되지 않고 로직이 종결됩니다. var : N(0); messageLog("Start"); condition1 = N[1] < N; <- 여기서 첫 봉 진입시 N[1]은 "NA"가 발생하고 이후 문장은 수행되지 않고 로직이 종결됩니다. messageLogc("End"); 또 다른 경우도 마찬가지입니다. var : N(0); messageLog("Start"); if N[1] < N then messageLog("True 문장"); else messageLog("False 문장"); <- 여기서도 첫 봉 진입시 N[1]은 "NA"가 발생하고 이후 문장은 수행되지 않고 로직이 종결됩니다. messageLog("End"); 아마도 "NA"가 할당문이나 제어문에서 발견되면 다음 문장을 수행하지 않고 로직이 종결처리되는 것 같습니다. 답변 바랍니다. 감사합니다.
시스템
답변 4
프로필 이미지

예스스탁 예스스탁 답변

2008-11-13 15:51:42

안녕하세요 예스스탁입니다. 이부분은 3.0과 3.1이 다릅니다. 올리신 식을 예로 들면 messageLog("Start"); if N[1] < N then messageLog("True 문장"); else messageLog("False 문장"); messageLog("End"); 메세지로그를 뿌리면 3.0은 첫봉에서 Start End 로 출력되고 3.1에서는 Start False 문장 End 로 출력됩니다. 즉 3.0에서는 if ~then에 N/A가 있어 결과를 계산하지 못할 경우 그 이하의 else문 아래까지 스킵이 되었지만 3.1에서는 if ~then에 N/A가 있어 결과를 계산하지 못할 경우 else문이 동작하게 됩니다. 참고하시기 바랍니다. 즐거운 하루되세요 > CJ_khkcj 님이 쓴 글입니다. > 제목 : NA 값 발생시 처리 문의합니다. > 안녕하세요 ? 전에 교육 받을 때 수식 처리도중에 "NA" 값이 나오면 해당 문장을 Skip하고 다음 문장으로 진행한다고 들었습니다. 제가 아래와 같이 테스트한 결과 var : N(0); message("Start"); message("%f",N[1]); <- 첫 봉 진입시 NA 발생하여 "NA"라고 출력됨 message("End"); 위 수식은 정상적으로 "End" 문장까지 수행되어 처리되었습니다. 그런데 다음과 같이 작성하면 "NA" 발생한 이후에 문장은 수행되지 않고 로직이 종결됩니다. var : N(0); messageLog("Start"); condition1 = N[1] < N; <- 여기서 첫 봉 진입시 N[1]은 "NA"가 발생하고 이후 문장은 수행되지 않고 로직이 종결됩니다. messageLogc("End"); 또 다른 경우도 마찬가지입니다. var : N(0); messageLog("Start"); if N[1] < N then messageLog("True 문장"); else messageLog("False 문장"); <- 여기서도 첫 봉 진입시 N[1]은 "NA"가 발생하고 이후 문장은 수행되지 않고 로직이 종결됩니다. messageLog("End"); 아마도 "NA"가 할당문이나 제어문에서 발견되면 다음 문장을 수행하지 않고 로직이 종결처리되는 것 같습니다. 답변 바랍니다. 감사합니다.
프로필 이미지

회원

2008-11-13 16:53:52

답변 내용중 실제 출력결과가 달라서 다시 문의합니다. 답변 내용에 메세지로그를 뿌리면 3.0은 첫봉에서 Start End 로 출력되고 제가 3.0으로 테스트 해보니 End 문장은 출력되지 않고 로직이 끝납니다. 한번 테스트 해보시기 바랍니다. 아예 "NA"로 걸리면 다음 문장은 수행도 되지 않습니다. 그리고 IF 문이 아닌 할당문에서 만약 "NA"가 걸리면 3.0 버전에서는 어떻게 처리되나요 ? 제가 테스트한 바로는 위 경우와 마찬가지로 "NA"가 걸리면 바로 로직이 종결됩니다. messagelog("End")가 출력되지 않습니다. 3.1 버전은 제가 테스트해보니 답변 하신대로 작동합니다. 위 문의사항에 답변 바랍니다. 감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : NA 값 발생시 처리 문의합니다. > 안녕하세요 예스스탁입니다. 이부분은 3.0과 3.1이 다릅니다. 올리신 식을 예로 들면 messageLog("Start"); if N[1] < N then messageLog("True 문장"); else messageLog("False 문장"); messageLog("End"); 메세지로그를 뿌리면 3.0은 첫봉에서 Start End 로 출력되고 3.1에서는 Start False 문장 End 로 출력됩니다. 즉 3.0에서는 if ~then에 N/A가 있어 결과를 계산하지 못할 경우 그 이하의 else문 아래까지 스킵이 되었지만 3.1에서는 if ~then에 N/A가 있어 결과를 계산하지 못할 경우 else문이 동작하게 됩니다. 참고하시기 바랍니다. 즐거운 하루되세요 > CJ_khkcj 님이 쓴 글입니다. > 제목 : NA 값 발생시 처리 문의합니다. > 안녕하세요 ? 전에 교육 받을 때 수식 처리도중에 "NA" 값이 나오면 해당 문장을 Skip하고 다음 문장으로 진행한다고 들었습니다. 제가 아래와 같이 테스트한 결과 var : N(0); message("Start"); message("%f",N[1]); <- 첫 봉 진입시 NA 발생하여 "NA"라고 출력됨 message("End"); 위 수식은 정상적으로 "End" 문장까지 수행되어 처리되었습니다. 그런데 다음과 같이 작성하면 "NA" 발생한 이후에 문장은 수행되지 않고 로직이 종결됩니다. var : N(0); messageLog("Start"); condition1 = N[1] < N; <- 여기서 첫 봉 진입시 N[1]은 "NA"가 발생하고 이후 문장은 수행되지 않고 로직이 종결됩니다. messageLogc("End"); 또 다른 경우도 마찬가지입니다. var : N(0); messageLog("Start"); if N[1] < N then messageLog("True 문장"); else messageLog("False 문장"); <- 여기서도 첫 봉 진입시 N[1]은 "NA"가 발생하고 이후 문장은 수행되지 않고 로직이 종결됩니다. messageLog("End"); 아마도 "NA"가 할당문이나 제어문에서 발견되면 다음 문장을 수행하지 않고 로직이 종결처리되는 것 같습니다. 답변 바랍니다. 감사합니다.
프로필 이미지

예스스탁 예스스탁 답변

2008-11-13 16:55:36

안녕하세요 예스스탁입니다. 답변에 오류가 있었습니다. 3.0에서는 그 이하의 문장이 수행되지 않습니다. 3.1은 기존답변과 같습니다. 할당문에서 NA가 발생되면 3.0은 나머지 문장이 실행되지 않고 3.1은 수행됩니다. 즐거운 하루되세요 > CJ_khkcj 님이 쓴 글입니다. > 제목 : Re : Re : NA 값 발생시 처리 문의합니다. > 답변 내용중 실제 출력결과가 달라서 다시 문의합니다. 답변 내용에 메세지로그를 뿌리면 3.0은 첫봉에서 Start End 로 출력되고 제가 3.0으로 테스트 해보니 End 문장은 출력되지 않고 로직이 끝납니다. 테스트 해보시고 답변 바랍니다. 아예 "NA"로 걸리면 다음 문장은 수행도 되지 않습니다. 그리고 IF 문이 아닌 할당문에서 만약 "NA"가 걸리면 3.0과 3.1 버전에서는 어떻게 처리되나요 ? 이것도 답변 주시기 바랍니다. 감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : NA 값 발생시 처리 문의합니다. > 안녕하세요 예스스탁입니다. 이부분은 3.0과 3.1이 다릅니다. 올리신 식을 예로 들면 messageLog("Start"); if N[1] < N then messageLog("True 문장"); else messageLog("False 문장"); messageLog("End"); 메세지로그를 뿌리면 3.0은 첫봉에서 Start End 로 출력되고 3.1에서는 Start False 문장 End 로 출력됩니다. 즉 3.0에서는 if ~then에 N/A가 있어 결과를 계산하지 못할 경우 그 이하의 else문 아래까지 스킵이 되었지만 3.1에서는 if ~then에 N/A가 있어 결과를 계산하지 못할 경우 else문이 동작하게 됩니다. 참고하시기 바랍니다. 즐거운 하루되세요 > CJ_khkcj 님이 쓴 글입니다. > 제목 : NA 값 발생시 처리 문의합니다. > 안녕하세요 ? 전에 교육 받을 때 수식 처리도중에 "NA" 값이 나오면 해당 문장을 Skip하고 다음 문장으로 진행한다고 들었습니다. 제가 아래와 같이 테스트한 결과 var : N(0); message("Start"); message("%f",N[1]); <- 첫 봉 진입시 NA 발생하여 "NA"라고 출력됨 message("End"); 위 수식은 정상적으로 "End" 문장까지 수행되어 처리되었습니다. 그런데 다음과 같이 작성하면 "NA" 발생한 이후에 문장은 수행되지 않고 로직이 종결됩니다. var : N(0); messageLog("Start"); condition1 = N[1] < N; <- 여기서 첫 봉 진입시 N[1]은 "NA"가 발생하고 이후 문장은 수행되지 않고 로직이 종결됩니다. messageLogc("End"); 또 다른 경우도 마찬가지입니다. var : N(0); messageLog("Start"); if N[1] < N then messageLog("True 문장"); else messageLog("False 문장"); <- 여기서도 첫 봉 진입시 N[1]은 "NA"가 발생하고 이후 문장은 수행되지 않고 로직이 종결됩니다. messageLog("End"); 아마도 "NA"가 할당문이나 제어문에서 발견되면 다음 문장을 수행하지 않고 로직이 종결처리되는 것 같습니다. 답변 바랍니다. 감사합니다.
프로필 이미지

회원

2008-11-13 16:57:23

> 예스스탁 님이 쓴 글입니다. > 제목 : Re : Re : Re : NA 값 발생시 처리 문의합니다. > 안녕하세요 예스스탁입니다. 답변에 오류가 있었습니다. 3.0에서는 그 이하의 문장이 수행되지 않습니다. 3.1은 기존답변과 같습니다. 할당문에서 NA가 발생되면 3.0은 나머지 문장이 실행되지 않고 3.1은 수행됩니다. 즐거운 하루되세요 > CJ_khkcj 님이 쓴 글입니다. > 제목 : Re : Re : NA 값 발생시 처리 문의합니다. > 답변 내용중 실제 출력결과가 달라서 다시 문의합니다. 답변 내용에 메세지로그를 뿌리면 3.0은 첫봉에서 Start End 로 출력되고 제가 3.0으로 테스트 해보니 End 문장은 출력되지 않고 로직이 끝납니다. 테스트 해보시고 답변 바랍니다. 아예 "NA"로 걸리면 다음 문장은 수행도 되지 않습니다. 그리고 IF 문이 아닌 할당문에서 만약 "NA"가 걸리면 3.0과 3.1 버전에서는 어떻게 처리되나요 ? 이것도 답변 주시기 바랍니다. 감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : NA 값 발생시 처리 문의합니다. > 안녕하세요 예스스탁입니다. 이부분은 3.0과 3.1이 다릅니다. 올리신 식을 예로 들면 messageLog("Start"); if N[1] < N then messageLog("True 문장"); else messageLog("False 문장"); messageLog("End"); 메세지로그를 뿌리면 3.0은 첫봉에서 Start End 로 출력되고 3.1에서는 Start False 문장 End 로 출력됩니다. 즉 3.0에서는 if ~then에 N/A가 있어 결과를 계산하지 못할 경우 그 이하의 else문 아래까지 스킵이 되었지만 3.1에서는 if ~then에 N/A가 있어 결과를 계산하지 못할 경우 else문이 동작하게 됩니다. 참고하시기 바랍니다. 즐거운 하루되세요 > CJ_khkcj 님이 쓴 글입니다. > 제목 : NA 값 발생시 처리 문의합니다. > 안녕하세요 ? 전에 교육 받을 때 수식 처리도중에 "NA" 값이 나오면 해당 문장을 Skip하고 다음 문장으로 진행한다고 들었습니다. 제가 아래와 같이 테스트한 결과 var : N(0); message("Start"); message("%f",N[1]); <- 첫 봉 진입시 NA 발생하여 "NA"라고 출력됨 message("End"); 위 수식은 정상적으로 "End" 문장까지 수행되어 처리되었습니다. 그런데 다음과 같이 작성하면 "NA" 발생한 이후에 문장은 수행되지 않고 로직이 종결됩니다. var : N(0); messageLog("Start"); condition1 = N[1] < N; <- 여기서 첫 봉 진입시 N[1]은 "NA"가 발생하고 이후 문장은 수행되지 않고 로직이 종결됩니다. messageLogc("End"); 또 다른 경우도 마찬가지입니다. var : N(0); messageLog("Start"); if N[1] < N then messageLog("True 문장"); else messageLog("False 문장"); <- 여기서도 첫 봉 진입시 N[1]은 "NA"가 발생하고 이후 문장은 수행되지 않고 로직이 종결됩니다. messageLog("End"); 아마도 "NA"가 할당문이나 제어문에서 발견되면 다음 문장을 수행하지 않고 로직이 종결처리되는 것 같습니다. 답변 바랍니다. 감사합니다.