나는 많은 열에 대한 두 측정 사이의 델타를 찾기 위해 스크립트를 만들기 시작했습니다.
열 이름에 대시가 있는 경우 열 수식을 만드는 데 어려움이 있습니다....
따옴표를 제거하는 parse 명령은 대시를 빼기 피연산자로 변경한 다음 내가 달성하려는 것을 엉망으로 만듭니다.
오류 기록:
예기치 않은 "_92MHz_test_data". 아마도 누락된 ";" 또는 ",".
다음은 열의 이름에 피연산자가 없는 경우 작동하는 스크립트입니다.
예,
dt = 현재 데이터 테이블();
Col_Name = "차이"; // 컬럼(5) - 컬럼(300)
Col_Name1_char = char(열 이름(5)); // "DWK112079-01_92MHz_test_data의 빈""
Col_Name2_char = char(열 이름(300));// "DWK112079-01_90MHz_test_data의 bin""
Col1_Name = (concat(":",(Col_Name1_char))); //":DWK112079-01_92MHz_test_data의 bin";
Col2_Name = ((concat(":",Col_Name2_char))); // ":DWK112079-01_90MHz_test_data의 bin";
Formula_I = ((concat(col1_Name, " - ", Col2_Name))); //수식을 만든다
a = Expr(새 열(X, 공식(Z))); // 이름이 Diff인 새 열
b = 대체(이름 expr(a), Expr(X), Col_Name, Expr(Z), parse(Formula_I)); // Colnames 이름에 "-"가 있으면 오류가 발생합니다.
평가(b);
//메모:
show(수식_I, parse(수식_I));
//참고: Formula_I = ":DWK112079-01_92MHz_test_data의 bin - DWK112079-01_new_updated_test_data의 bin";
//참고 Parse(formula_I) = DWK112079의 bin - 1; 이것은 내가 원하는 것이 아닙니다
열 이름 중간에 있는 "-"는 JMP에서 빼기로 해석됩니다.따라서 전체 용어가 열 이름임을 JMP에 표시해야 합니다.이를 수행하는 가장 쉬운 방법은 다음의 명명 구조를 사용하는 것입니다.
":열 이름"n
아래는 변경 사항이 적용된 스크립트의 재작업입니다.
names default to here(1);
dt = Current Data Table();
Col_Name = "diff"; // column(5) - Column(300)
Col_Name1_char = Char( Column Name( 5 ) ); // "bin of DWK112079-01_92MHz_test_data""
Col_Name2_char = Char( Column Name( 300 ) );// "bin of DWK112079-01_90MHz_test_data""
Col1_Name = (Concat( ":\!"", (Col_Name1_char), "\!"n" )); //":bin of DWK112079-01_92MHz_test_data";
Col2_Name = ((Concat( ":\!"", Col_Name2_char , "\!"n" ))); // ":bin of DWK112079-01_90MHz_test_data";
Formula_I = ((Concat( col1_Name, " - ", Col2_Name ))); //Make the formula expression
a = Expr(
New Column( X, formula( Z ) )
); // New column with name Diff
b = Substitute( Name Expr( a ), Expr( X ), Col_Name, Expr( Z ), Parse( Formula_I ) ); // This has error when Colnames has "-" in the name
Eval( b );
//Note:
Show( Forumula_I, Parse( Formula_I ) );
//Note : Formula_I = ":bin of DWK112079-01_92MHz_test_data - :bin of DWK112079-01_new_updated_test_data";
//Note Parse(formula_I) = :bin of DWK112079 - 1; This is not what I want나는 이것을 알아낼 수 없었을 것입니다.정말 감사합니다, 완벽하게 작동합니다!