본문 바로가기
Data Analysis/Spotfire

[TIBCO Spotfire] Spotfire & R

by 불탄오징어 2019. 11. 26.
반응형

 

 

6. Spotfire & R


앞서 설명한 기능들은 Spotfire 내에서 제공하는 통계 분석 기능으로 통계를 잘 모르는 사용자 부터 중급 사용자까지 대상으로 기능을 제공하고 있습니다. 하지만 정해진 기능이고 통계분석 툴만큼 자세한 기능을 제공하지 않는데 이런 경우를 위해 Spotfire는 몇가지 통계 분석 언어와 연동이 가능합니다.

 

  • SAS
  • Matlab
  • S+
  • R(TERR)

 

SAS, Matlab의 경우 유명한 언어이나 상용이며 S+는 R의 상용버전입니다만 최근에는 더이상 업데이트를 하지 않는 것 같습니다. 가장 쉽게 접근 가능한 언어이자 인기 언어인 R과 연동이 가능하므로 R과의 연동을 통해 해당 기능에 대해서 설명을 하려 합니다. 다만 이런 통계 언어 연동을 위해서는 추가적인 프로그램이 필요합니다. 서버급 제품인 TIBCO Spotfire Statistics services (TSSS)와 개인용 제품인 TIBCO Spotfire Statistics services Local Adapter (TSSS Local Adapter) 가 있습니다. 두가지 모두 제품 설치 후 언어와 연동해줘야하는 설정이 필요합니다. 다행히 TIBCO Spotfire 내에는 TIBCO에서 제공하는 R인 TIBCO Enterprise Runtime for R(TERR)을 포함하고 있습니다. 별도의 설정없이 사용이 가능하므로 이후 예제 설명 시에는 TERR을 이용하여 진행하려 합니다.

 

6-1. Data Function

Spotfire에서 통계 언어와 연동하기 위해 제공하는 기능으로 Data Function 이라는 것이 있습니다. 메뉴상 위치는 Tool-Register Data Function으로 실행이 가능합니다. Data Function과 관련된 화면은 이를 생성하기 위한 Register Data Functions 이라는 화면 과 이를 실행하는 Edit Parameters로 구성됩니다.

 

6-1-1. Register Data Functions

 

Register Data Functions을 실행하면 아래와 같은 화면이 뜹니다.

 

1) Register Data Functions - Script

 

  • New Function : 현재 작성한 것을 지우고 새로 만듭니다.
  • Open : TIBCO Spotfire 서버 연동 시 활성화, 서버에 저장한 Data Function을 가져옵니다.
  • Import : Local PC 상의 Data Function을 가져옵니다.
  • Save, Save as : TIBCO Spotfire 서버 연동 시 활성화, 서버에 Data Funtion을 저장
  • Export : Local PC 상으로 Data Function을 내보냅니다.
  • Run : Data Function을 실행합니다.
  • Name : Data Function의 이름을 정합니다.
  • Type : 연동할 방식 및 연동 언어를 결정합니다.
  • Package : 불러올 R의 Package(Library)를 가져옵니다. 여러 개를 가져올 경우 ; 으로 구분합니다.
                Library('R library') 명령과 동일합니다.
  • Description :  설명
  • Allow Caching :  Data function 실행 결과를 Caching 합니다.
  • Script : R 스크립트를 작성합니다.

 

2) Register Data Functions - Input Parameters

하단 Script 옆 에 Input Parameters와 Output Parameters가 있습니다. Input Parameters는 Spotfire에서 R로 데이터를 가져올 때 지정하는 Parameters 이고 Output Parameters는 R에서 Spotfire로 가져갈 값을 지정하는 것입니다.

 

 

Input Parameters 에서 Add를 클릭하면 Input Parameter 창이 뜹니다.

 

  • Input Parameter name : Spotfire로 부터 가져온 값을 넣을 R 상의 변수명을 씁니다.
                                   예로 A 라고 입력한 후 Spotfire에서 1 이라는 값을 넣었다면
                                   R 상에서 별도로 선언하지 않아도 "A <- 1" 로 선언이 됩니다.
  • Display name : 표시되는 이름입니다.
  • Type :  입력 변수의 형식을 결정합니다. Value는 단일 값, Column은 열 또는 수열, Table 은 테이블 형식으로 입력값을 전달합니다.
  • Allow data types :  Spotfire로부터 가져올 때 허용할 데이터 타입입니다. 단 Currency는 절대 허용하지 않으니 가능하시면 형식을 integer로 변환하는 것이 좋습니다.
  • Required parameter :  변수를 필수값으로 할 지 선언합니다.

 

3) Register Data Functions - Output Paramters

 

Output Parameters 에서 Add를 클릭하면 Input Parameter 창이 뜹니다.

  • Result parameter name : R Script 상에서 실행되어 생성된 변수 중 가져올 값을 지정
  • Display name :  표시할 이름을 지정
  • Type : 가져올 값의 형식을 단일 값으로 가져갈 지, 칼럼으로 가져갈지, 테이블로 가져져갈지를 결정

 

 

6-1-2. Edit Parameters

Data Function을 생성한 후 Run을 클릭하게 되면 실행되는 화면으로 실제 Spotfire 상에 어떤 데이터를 가져오고 아웃풋을 가져올지를 지정하는 화면입니다. 아래 이미지는 임의로 설정한 Parameter로 만들었습니다.

 

 

  • Name : 실행한 Data Functions의 이름을 지정한다. 동일한 Data Function이더라도 투입되는 값이 달라질 수 있으니 각각 명칭을 지정할 수 있다.
  • Refresh function automatically : Spotfire 화면이 처음 Load 되거나, Input에 설정된 데이터가 변경되는 경우 자동으로 실행할지를 결정한다.
  • Input : Data Function 생성 시 지정한 Input Paramters 목록이 출력되며 각각 Parameter에 투입할 값들을 지정할 수 있다.
    • Input Handler : 지정한 Input Parameter의 Type에 따라 설정할 수 있는 형태가 달라지며 Column, Table의 경우 Spotfire에 Load된 테이블 전체 또는 일부 칼럼을 투입값으로 지정할 수 있다. 이 경우 Filter, Marking 에 따라 선택된 데이터만 전달하는 것도 가능하다.

 

 

  • Output handler : Output의 경우도 지정한 Parameter 속성에 따라 지정할 수 있는 형식이 달라지며 Data Table인 경우는 새로운 테이블을 생성하거나 기존 테이블을 대체할 수도 있다.

 

 

다음 포스트에서는 실제 Data Function을 생성, 실행하여 어떻게 Spotfire와 연동되는지를 알아보겠습니다.

댓글