2013-03-01 2 views
1

Ab Initio 그래프에서 행에 파이프 구분 값이있는 입력 파일이 있습니다. 내가 파이프로 구분 된 모든 문자열을 만들고 싶어 다른 데이터와 이후 평등 비교에 사용하기 위해Ab Initio에서 문자열 구분 기호를 변경하는 방법은 무엇입니까?

record 
    decimal("|",0, maximum_length=19, sign_reserved) v1 = NULL(""); 
    utf8 string("|", maximum_length=10) v2 = ""; 
    utf8 string("|", maximum_length=10) v3 = ""; 
    utf8 string("|", maximum_length=40) v4 = ""; 
    utf8 string("|", maximum_length=255) v5 = ""; 
    utf8 string("\n", maximum_length=40) v6 = ""; 
end 

, 그래서 나는 V6 값을 변경해야합니다 나는 그것을 구문 분석 유사한 DML 파일을 사용합니다. I 시도

비어 변환 기능이 하나의 출력 DML 변경, 두어 단순한 재 포맷 함께 수행

record 
    decimal("|",0, maximum_length=19, sign_reserved) v1 = NULL(""); 
    utf8 string("|", maximum_length=10) v2 = ""; 
    utf8 string("|", maximum_length=10) v3 = ""; 
    utf8 string("|", maximum_length=40) v4 = ""; 
    utf8 string("|", maximum_length=255) v5 = ""; 
    utf8 string("|", maximum_length=40) v6 = ""; 
    string(1) newline = "\n"; 
end 

그러나,이 쓰레기 왼쪽 문자 V6 내부. 나중에 적절한 문자 만 포함하도록 v6 값을 필터링해야했습니다. 이 솔루션은 깔끔하게 보이지 않습니다.

이 휴지통을 v6 안에 남겨 두지 않으려 고 reinterpret_as, string_concat 등을 사용해 보았지만 아무 것도 좋은 해결책이 없었습니다. 간단한 방법으로 v6의 구분 기호를 어떻게 변경해야합니까?

+0

당신의 솔루션을 실행했지만 잘 작동했습니다. o/p 파일에 휴지통 문자가 없습니다. 이미 휴지통 문자가 있으면 입력 내용을 확인하십시오. 그렇다면 문자를 가져올 확률에 따라 데이터를 적절히 정리해야합니다. – chanchal1987

답변

3

A == B는 A의 값과 B의 값을 비교합니다. A와 B의 구분 기호가 같은지 여부와 관계없이 비교 결과는 동일한 결과를 반환합니다. 실제로 필드의 구분 기호를 변경해야하는 경우 제안하는 Reformat 메서드가 올바른 것입니다. v6 값에서 쓰레기가 나오면 v6에 가비지가 있음을 의미합니다.

더 광범위하게 말하면 스택 오버플로는 Ab Initio에 대해 논의하기에 적합한 장소가 아닙니다. Ab Initio 지원이나 GDE를 통해 액세스 할 수있는 전용 Ab Initio 포럼에 질문을하는 것이 좋습니다. 포럼은 수많은 Ab Initio 사용자 및 직원들에 의해 모니터링되며, 즉각적인 응답을 보장받을 수 있습니다.