본문 바로가기

Spotfire44

[Spotfire] Gauge Chart 연동하기 Spotfire에서도 KPI Chart를 제공하기는 하지만 시각적으로 아쉬움은 있습니다. 그래서 Text Area에서 직접 수치를 출력하거나 Bullet Chart를 이용하곤 하는데 그래도 대쉬보드를 구성하는데 있어서는 여전히 아쉬움이 남습니다. 목표수치를 놓고 얼마나 달성했는지 여부를 표현하기에는 개인적으로 Gauge 차트를 선호하는 편인데 Spotfire에서는 기본차트에는 없으며 JS Visualization Framework 의 예제로도 제공하지 않습니다. 그러던 차에 구글링을 통해서 관련 예제를 찾았습니다. 참고 : http://spotfired.blogspot.kr/search?q=gauge 아주 멋집니다. 이 예제는 Text Area에서 Javascript와 html을 활용한 예제인데 대충 동.. 2017. 10. 6.
[Spotfire] 바차트응용편 - 버터플라이 차트 만들기 Spotfire에서 제공하는 차트들은 종류가 많지는 않지만 약간의 응용을 통해 다른 차트를 만들 수 있다.주로 많이 사용하는 차트가 막대그래프(Bar Chart)인데 이를 이용하면 Butterfly Chart를 만들 수 있다.보통 Butterfly Chart는 인구통계학 자료를 표현할 때 주로 많이 쓰이는데 샘플데이터로 국가통계포털에서 제공하는 지역별 전입전출 인구수 데이터를 활용하려한다.데이터는 다음과 같다. 이중 시도간전입과 시도간전출 데이터로 표현해보자. 먼저 바차트를 생성한 후 Value axis(Y축)에는 시도간전입(명), 시도간전출(명), Categorical Axis(X축)에는 행정구역(시군구)별을 선택하여 아래와 같이 생성한다.다음 Bar Chart 위에서 오른쪽 마우스를 클릭하여 서브 메.. 2017. 9. 22.
[Spotfire] Web Popup 띄우기 2017/09/18 - [Data Analysis/Spotfire] - [Spotfire] Data Table에서 웹주소 연결하기Data Table에서 웹주소를 연결하는 방법은 열리는 창을 컨트롤할 수가 없다. 예를 들면 사이즈라던지 Scrollbar에 대한 여부를 결정할 수가 없다. 기본적인 Spotfire 기능으로는 불가능하지만 약간의 Javascript를 활용하면 선택한 행의 데이터를 활용하여 새창을 띄울 수가 있다.아래와 같이 Data Table이 존재하고 각 행을 선택한 후 버튼을 클릭하면 사전에 정의된 사이즈의 웹 윈도우를 띄워보자.먼저 Text Area를 추가하고 Edit HTML을 사용하여 아래의 html을 입력한다. 버튼 {값을 삽입할 부분} 그런 다음 위의 {값을 삽입할 부분}에 Cal.. 2017. 9. 18.
[Spotfire] Data Table에서 웹주소 연결하기 Spotfire에서 웹링크를 이용하여 다른 웹페이지로 연결하는 방법이 몇몇 있는데 가장 흔하게 쓰이는 경우가 Data Table에서 Column 값으로 웹링크를 연결하는 방법이다.아래와 같이 데이터가 존재할 때 URL의 Column은 연결하고자하는 URL이 된다Data Table의 속성으로 들어가서 URL을 선택하고 아래의 Renderer를 Text 에서 Link로 변경한다.그다음 Settings...를 클릭하면 아래의 창이 뜨는데 이를 활용하여 웹주소를 생성한다. 위의 예시 처럼 Column 값이 웹링크라면 아래와 같이 두면 되고 Column 값이 Parameter 가 되어 가변적으로 웹주소가 만들어져야 한다면 Example 처럼 만들어 주면 된다. 예를들어 웹주소 형태가 "http://bbs.doma.. 2017. 9. 18.
[Spotfire] Spotfire 7.5 Release. 역시나 7.5도 소리소문 없이 출시됐습니다. 아래의 그림에서 보는 바와 같이 아키텍쳐 측면에서는 기존 대비 매우 큰 변화가 있었고 그에 따라 서버 관리 화면도 많이 바꼈습니다. 그 외 기능적인 면에서 추가도 있지만 사실 Spotfire를 사용하는 입장에서는 큰 메리트를 느낄만한건 없는 것 같습니다. 가능 크게 와닿는 건 아래의 요구사항 축소정도? 7.0에서는 쓸데없이 Analyst Client 요구사항을 높게 잡아서 국내 실정과 안 맞다는 소리를 많이 듣던차라 이부분은 그나마 환영할만 한 부분 인듯합니다. 개인적으로는 이런거 하는 것도 좋지만 자잘한 기능도 개선해줬으면 하는데 매번 업그레이드 때마다 아쉽네요. 하다못해 다중 축 설정 시 선택적으로 축을 묶을 수 있는 기능이 있으면 좋겠는데 아직 추가가 안.. 2016. 4. 5.
Spotfire & Python : 특정일자를 Input Field에 설정하기 Spotfire에서는 Text Area를 활용해서 다양한 필터를 생성하여 조회 조건으로 사용할 수 있다. Input Field를 사용해서 특정 값을 입력 받을 수 있는데 예를 들면 날짜 같은 것을 말한다. 다만 아쉽지만 Default 값을 설정할 수 가 없으므로 가끔 버튼을 통해 특정일자를 입력하도록 할 수 있다. (물론 Trick을 이용하면 Default값을 줄 수 도 있다) import datetime from datetime import timedelta today = datetime.datetime.now() # 월 이동 계산 함수 def addMonth(date, num): return datetime.datetime(date.year + ((date.month + num)/12), (date... 2015. 8. 30.
Spotfire & Python : 특정값이 일치할 때 해당 행의 다른 값을 가져오기 아따 제목 어렵다. Join할 수도 없고 Relation을 할수도 없는데 주어진 특정값에 일치하는 행이 있다면 그 행의 특정 값을 가져오는 예제. 스샷은 귀찮아서 소스만 올립네다. from Spotfire.Dxp.Data import * table = Document.Data.Tables["Baseball"] keyColumn = table.Columns["팀명"] tarColumn = table.Columns["선수명"] result = "" for i in range(0, table.RowCount): if keyColumn.RowValues.GetValue(i).ValidValue == Document.Properties["test"]: if result == "": result = tarColum.. 2015. 8. 20.
Spotfire & Python : Marking 한 값을 가져오기 Spotfire에서 Marking은 다양한 용도로 사용되며 Spotfire를 특색있게 만드는 중요한 기능 중 하나입니다. 특히 Marking을 통해 선택한 행을 기준으로 시각화 차트의 조건으로 부여한다던지 다양한 시각화차트간의 연관관계를 시각적으로 확인할 수 있도록 구성할 수 있습니다. 다만 정형보고서를 만들다보면 아쉬운게 Marking 된 행의 특정 칼럼 값을 가져오고 싶을 때가 있는데 기본적으로는 지원하지 않는 기능입니다. (Spotfire 6.5 기준). 다행이라면 Ironpython의 도움을 받아서 구현이 가능합니다. 아래의 예제는 Baseball 데이터를 이용하여 Marking한 행의 칼럼 "선수명"의 값을 을 가져오는 예제입니다. (참조 : http://easyspotfire.blogspot... 2015. 8. 20.
Spotfire : 개발 관련 참조 자꾸 주소 까먹어서 여기다 넣어놔야겠다. Spotfire 관련 API 참조 사이트 구버전이지만 유용함 ㅋ http://stn.spotfire.com/dxp/Index.aspx 2015. 6. 29.
Spotfire & Python : BarChart 정렬 또는 역정렬 Spotfire 에서는 Ipython을 이용하여 Spotfire 개발 API를 일부 호출해서 쓸수 있다(고 한다 -_-) 이를 활용하면 좀더 다양한 화면을 구성하거나 기능을 표현할 수 있다. 예를 들면 버튼을 누를 때마다 차트를 정렬 또는 역정렬하는 기능을 만들 수 있다. Spotfire Analylst를 사용할 경우에는 마우스 클릭만으로 가능하지만 웹 상에서 버튼을 따로 두게 되면 좀 더 편하게 사용할 수 있지 않을까? 스크립트는 다음과 같다. from Spotfire.Dxp.Application.Visuals import BarChart if not myBarchart.As[BarChart]().SortedBars : myBarchart.As[BarChart]().SortedBars = True my.. 2015. 6. 29.