N_ELEMENTS함수 오류?

게시판 IDL Q&A N_ELEMENTS함수 오류?

이 게시글은 2개 답변과 3명 참여가 있으며 마지막으로  Sangwoo에 의해 3 월 전에 업데이트 됐습니다.

  • 글쓴이
  • #5381

    JEK
    회원

    N_ELEMENT(WHERE())을 이용해서 조건에 맞는 값을 가지는 요소의 갯수를 세는데
    그런 조건의 요소가 없으면 0이 나와야 할 텐데 자꾸 1이 나옵니다.
    왜 이런 결과가 나오는 걸까요?..

  • #5382

    Kyecw
    회원

    WHERE 함수의 경우 기본 옵션으로 사용시, 조건에 맞는 요소가 없는 경우 결과로 -1을 돌려주게됩니다.
    그로인해 N_ELEMENTS 함수가 -1을 세어 결과로 1을 돌려주게 된 상황으로 보입니다.

    만약 조건에 맞는 값을 갖는 요소의 수를 세고 싶으시다면, 사용하신 것처럼 N_ELEMENTS를 이용하여 WHERE함수의 결과물 갯수를 직접 세시는 것 보다는 WHERE 함수에 탑재되어있는 COUNT 기능을 사용하시는 것이 더 편할 것입니다.

    Result = WHERE(조건, count)
    위의 예시처럼 WHERE 함수를 사용하실때 COUNT 인자에 해당하는 변수명을 입력해주시면 해당 변수로 조건에 맞는 원소의 갯수를 돌려받으실 수 있으실 겁니다.

  • #5383

    Sangwoo
    회원

    아래 링크의 내용도 한번 참조해보시길 권합니다.

    http://blog.daum.net/swrush/310

답변은 로그인 후 가능합니다.