2016-11-22 1 views
0

보고서의 필터로 사용되는 문서 속성이 있습니다. 다중 선택 목록 상자입니다. 나는이 표현을 사용하는 계산 된 필드 (플래그)를 만들었습니다 : I 목록 상자 속성 즉에서 값을 선택할 때 여기Spotfire 6.5 : 찾기 기능에서 정확한 값을 확인하는 방법

if(find(Upper(Concatenate([Col1],' | ',[Col2])),Upper('$map("sum([${Property}])", ",")'))>0,"Yes", "No") 

것은입니다. "TV | HDTV"그러면 데이터 테이블의 모든 값이 다시 시작됩니다. "TV | HD", "TV | HDTV"두 값 모두 그래프에 나타납니다. 값은 내가 원하지 않는 라인에서 합쳐집니다. 정확한 일치를 수행 할 수있는 방법이 있거나이 수식을 조정할 수 있습니까?

약 30 개의 계산이이 필드를 기반으로하므로이 플래그를 다른 데이터 유형으로 변경할 수 없습니다.

감사합니다,

Subro

답변

2

독자적으로 생각했습니다. 지도 함수가 템플릿처럼 작동한다는 것을 이해했습니다. 그래서 왜 템플릿을 수정하지 않는지 생각했습니다. 다음은 내가 사용한 코드입니다.

If(Upper(Concatenate([Col1],' | ',[Col2])) in ($map("'${Property}'", ",")),"Yes","No") 

내 값에는 문제가 없습니다. 나는 많은 시나리오들을 점검했다. 또한 속성을 위해 필드를 채워서 어퍼를 적용 했으므로 기본적으로 어퍼로 들어온 값을 보유합니다. @niko : 도와 주셔서 감사합니다. 나는 그것이 효과가 있었을 것이라고 확신한다. 저를 대신해서 낭비하는 시간을 사과하십시오.

감사합니다,

Subro

1

바꿀 비교 정규식을 시도 할 수 :

If(RXReplace(Concatenate([Col1], ' | ', [Col2]), Concatenate('^', '$map("sum([${Property}])", ",")', '$'), "", "i") = "", "Yes", "No") 

바늘과 건초 더미 문자열이 일치하는 경우를 RXReplace() 돌아갑니다 (나는 경우 감도를 줄이다하는 "i" 추가) 빈 문자열

은 파이프 외에 다른 결합 문자를 선택해야하며 그렇지 않은 경우 "\\|"과 연결해야 할 수도 있습니다.

+1

는 @niko 감사드립니다. 나는 이미 알아 냈어. 나는 좀 더 쉽게 뭔가를 사용했다. – Subro

+0

문제가 없습니다! 해결책으로 답을 공유하면 좋을 것입니다. 나는'$ map()'의 많은 예제를 보지 못 했으므로, 여러분이 생각해 낸 것이 유용 할 것입니다. – niko

+1

이미 완료된 동생입니다! :) – Subro