From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



DIAdem 에서 채널 데이터를 조건적으로 삭제하는 방법



주요한 소프트웨어:
주요한 소프트웨어 버전: 10.1
문제가 해결된 소프트웨어 버전: 10.1
부차적인 소프트웨어: DIAdem

문제점:

한계점 값 혹은 다른 조건들에 의해 데이터를 지우고 싶습니다. 이 부분이 DIAdem Calculator 혹은 DIAdem script 를 이용하여 가능합니까?



솔루션:

조건적으로 데이터를 삭제하는 방법은 DIAdem 의 버전에 따라 두 가지 방법이 존재합니다. 각 방법은 아래 설명되어 있습니다.

DIAdem 10.0 이하 버전
아래의 함수에 의해 Calculator 에서 제거

Channel := Channel + Removal condition * NoValue

:= operator 는자동으로 채널의 각 데이터에 대해 동작합니다. DIAdem 10.1 혹은 그 이하의 버전에서는 NoValue 를 포함한 계산은 아래 예외를 제외하고 NoValue 에 결과를 표시합니다.

0 * NoValue = 0

이 경우에는 참 조건일 때 (1)*NoValue 는 NoValue 를 반환하고 거짓 조건일 때 (0)*NoValue 는 0 을 반환합니다. 따라서 조건이 거짓일 때에만 기존의 값을 반환합니다.
Ch('Example') := 'Example' + ('Example'>10) * NoValue

DIAdem 10.1 이상 버전
CTNV 함수는 DIAdem 10.1 혹은 그 이상의 버전에서만 데이터를 삭제하는 조건에서 사용할 수 있습니다. CTNV 함수는 아래의 방법에 따라 사용할 수 있습니다.

Channel = Channel + CTNV(Counter condition)

CTNV 는 거짓 조건일 때 채널 데이터 값은 0을 반환하고 참 조건일 때 NoValue 를 반환합니다. 이 채널을 데이터 채널에 추가함으로써 조건에 맞는 모든 값은 NoValue 로 대체됩니다.

노트: Settings >> Options>>General 에서 Compatibility 버튼을 클릭하고 VBS syntax in Calculator 를 선택해야만 이 계산식을 실행할 수 있습니다.

아래의 공식은 10 보다 큰 모든 데이터를 NoValue 로 대체합니다.

Ch("Example") = Ch("Example") + CTNV(Ch("Example")>10)

CTNV 함수를 script 에서 사용하기 위해 chncalculate() 커맨드를 사용합니다. 아래 코드가 script 에서 사용될 수 있습니다.

chncalculate("Ch(""example"") = Ch(""example"")+CTNV(Ch(""example"")>10)")

chncalculate() 커맨드의 모든 구문은 문자열이고 쌍따옴표 안의 내용들은 두 개의 쌍따옴표로 되어 있고 이는 문자열의 일부라는 것을 가리킵니다.

더 많은 정보들을 위해 DIAdem Help 에서 Eliminating Outliers Using NoValues 를 참고하십시오.



관련 링크: DIAdem: Data Mining, Analysis, and Report Generation Developer Zone Tutorial: DIAdem - Automating Your Analysis and Reports
Community: Programmatically Separate Even and Odd Data Points from a Channel

첨부:





리포트 날짜: 03/29/2007
마지막 업데이트: 04/06/2015
문서 번호: 4609E156