0

필요에 따라 데이터 테이블을로드하고 이전 탭의 표시에 연결했습니다. 데이터 표 모양은 다음과 같습니다.사용자 지정 메시지를 표시하는 TIBCO Spotfire의 Python 스크립팅

ID  Values 
    1   365 
    2   65 
    3   32 
    3   125 
    4   74 
    5   98 
    6   107 

고유 한 ID 수에 따라이 새로운 시각화로 가져온 데이터를 제한하려고합니다.

현재이 속성에서 "식으로 데이터 제한"섹션을 사용하고 있습니다. 이 있지만, 완벽하게 작동

UniqueCount(ID) <= 1000 

내 표현이고, 나는 또한 같은 메시지를 표시 할 것 같은 "를 선택 너무 많은 ID를. 최대 한도는 1000"

나는 일을 생각하고 있었는데 이 속성 컨트롤을 사용하여 속성 컨트롤이 철 python 스크립트를 트리거합니다. 그 스크립트를 작성하는 방법에 대한 제안?

+0

이것은 커서 객체를 사용하여 명확하게 처리 할 수 ​​있지만 데이터 테이블의 모든 표시된 행을 구문 분석해야하므로 대용량 데이터 세트에 대해서는 제안하지 않습니다. 처리가 잠시 중단되기 때문입니다. 크기에 따라 선택한 데이터에서 고유 ID 수만 가져 오는 데이터 테이블을 추가하고 커서를 해당 데이터 세트 (1 행만 가능)를 통해 읽도록하는 것이 좋습니다. – Chelsea

답변

1

한 가지 해결 방법은 페이지에서 작은 텍스트 영역 (헤더로 사용)을 사용하는 것입니다. Insert Dynamic Item -> 계산 된 값 또는 아이콘을 사용하고 마킹 (선택)을 기반으로 카운트 또는 고유 카운트를 수행 할 수 있습니다. 예를 들어 Count (ID)가 1000을 초과하면 텍스트가 빨간색으로 변경되거나 아이콘이 색을 바꿀 수 있습니다. 이는 팝업을 만들 필요는 없지만 너무 많은 행이 선택되었다는 즉석 통보를 사용자에게 계속 제공 할 수있는 처리 방법입니다. 아래

편집 :

<!-- Invisible span to contain a copy of your value --> 
<span style="display:none;" id="stores-my-count"><span id="seek-ender"></span></span> 


\\Javascript below to grab dynamic item element's value and put it into a span 
\\To be executed every time the dynamic value changes 
$("#DynamicItemSpotfireID").onchange = function() { 
    var myCount = $("#DynamicItemSpotfireID").text(); 
    $("#stores-my-count").append(myCount); 
} 

#IronPython script to locate the value placed into the span by the JS above 
#and put only that portion of the page's HTML (only the value) into a document property 
parentSpan = '<span id="stores-my-count">' 
endingSpan = '<span id="seek-ender">' 
startingHTML = myTextArea.As[VisualContent]().HtmlContent 
startVal = startingHTML.find(parentSpan, startingIndex, endingIndex) + len(parentSpan) 
endVal = startingHTML.find(endingSpan, startingIndex, endingIndex) 
Document.Properties["myMarkingCount"] = startingHTML[startVal:endVal] 

는이 코드의 대부분을 테스트하지 않았으며 차라리 턴키 솔루션보다는 문제에 대해 생각하기 시작하는 장소로 제공합니다. 다행히 필요한 부분 만 조정하면되기를 바랍니다.

+0

감사합니다. 이것은 도움이되었다. 빠른 후속 조치. 동적 항목의 값을 사용자 지정 식 또는 속성 컨트롤에 전달할 수 있습니까? –

+0

처음에는 확실하지 않았지만 "불행히도"라고 쓸 준비가되었습니다. 잠시 생각한 후에 복잡한 회피책이 있습니다! IronPython 스크립트 – HalcyonicDays

+0

을 작성할 수있었습니다. 미안하지만, Enter]를 누르면 내 의견이 즉시 커밋됩니다. 먼저 JavaScript를 작성하여 동적 항목에서 값을 가져온 다음 IronPython 스크립트를 작성하여 텍스트 영역 내의 값을 찾아 낼 수 있습니다. 불행히도, 코드의 예제 (전체 답변조차도)는 주석 상자 제한을 초과합니다. – HalcyonicDays