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