끝에 단위가 있는 문자로 입력된 값 2라는 데이터 세트가 있습니다. 그 중 일부는 ml/min으로, 일부는 ul/s로 입력되는데, ul/s로 되어 있는 항목을 완전히 새로운 컬럼으로 분리하고 싶습니다. 문자열의 특정 하위 집합이 포함된 행을 선택하려면 어떤 함수를 사용해야 합니까? "ul/s"가 포함된 행을 선택하여 새 열에 입력한 다음 값 2 열에서 삭제하려고 했습니다. 나는 "포함" 기능이 내가 원하는 것을 할 것이라고 생각했지만 지금까지는 작동하지 않는 것 같습니다.

current data table () << Select where (contains (:Value 2, "ul/s"))
이는 contain() 함수를 사용하여 이를 수행하는 방법입니다. 이를 수행하는 또 다른 방법은 Cols...Utilities...Text to Columns를 사용하여 값 2 열을 여러 열로 분리하는 것입니다.
스크립트를 작성하려면 다음을 수행하십시오.
dt = data table( "your datatable name" );
dt << new column( "Value 3", Character );
for each row(
dt:"Value 3"n = Char( If( Contains( :"Value 2"n, "ul/s" ) != 0, :Value 2, "" ) );
dt:"Value 2"n = Char( If( Contains( :"Value 3"n, "ul/s" ) != 0, "", :Value 2 ) );
);
첫 번째 줄에 실제 테이블 이름을 바꾸십시오.
그러나 혼합 단위를 처리하고 비교 가능하게 하려는 경우 다음과 같은 수식을 사용하여 새 열을 만들어 볼 수 있습니다.
Num( Regex( :Value 2, "[0-9]+" ) ) *
If( Contains( :Value 2, "ul/s" ) != 0, 60 / 1000, 1 )
그러면 Regex를 사용하여 숫자 값을 추출한 다음 셀의 문자열에 따라 변환 계수를 적용하여 ul/s 데이터가 ml/min으로 변환되는 열이 생성됩니다. 결과 열의 단위는 모두 ml/min입니다.