본문 바로가기
Data Analysis/Spotfire

[TIBCO Spotfire] Information Designer

by 불탄오징어 2019. 8. 18.
반응형

 

 

4-2. Infromation Designer


  Add Data Tables - Database는 매번 sql문 쿼리를 입력해야합니다. 만일 동일한 쿼리를 여러 장표에서 사용해야 할 경우가 생기면 필요한 횟수만 큼 반복해야하는 문제가 생기며 이런 쿼리들을 수정해야한다면 역시 이 작업을 반복해야겠지요. Information Designer를 활용하게 되면 좀더 수월한 관리가 가능합니다. Information Designer로 생성한 하나의 Information Link는 다수의 사용자, 다수의 장표에서 사용이 가능하며 한번 수정으로 여러 장표에 동시 적용이 가능한 장점이 있습니다. 단 익숙치 않은 사용자에게 있어서는 매우 불편할 수 있으며 복잡한 쿼리를 적용하기에는 자체기능으로 구현하기 힘든 부분이 있습니다. 

 

  일단 이번 장에서는 먼저 자체 기능으로 Information Link를 만드는 방법을 설명하고 다음 장에서 약간의 편법을 이용하는 방법을 이어 설명하겠습니다. 

 

4-2-1. 화면

 

좌측에 Elements, Data Source를 나타내는 탭이 있고 우측에는 순서대로 아래의 기능들이 있습니다.

 

  • Create Information Link : Information Link를 생성합니다. SQL Query문을 생성하는것으로 생각하면 됩니다.
  • Create Elements -  Column : Information Link에 넣을 단일 Column을 등록합니다.
  • Create Elements - Multiple Columns : 다수의 Column 들을 등록합니다.
  • Create Elements - Filter : SQL에 적용하는 Where문을 생성합니다.
  • Create Elements - Procedure  : 요건 패스
  • Create Join : Join 조건에 대한 요건을 등록합니다.
  • Setup Data Source : 데이터를 가져올 데이터 소스를 등록합니다.

 

4-2-2. Data Source 등록

 

Information Link를 만들기전에 어떤 데이터베이스에서 데이터를 가져올지 연결 설정을 해줘야합니다. 이것이 Data Source를 만드는 것인데 클릭하면 아래와 같은 화면이 출력됩니다.

 

 

기본적으로 사용가능한 Data Source는 두가지입니다. Oracle(Data Direct)와 SQL Server (Data Direct) 입니다. 물론 다양한 Data Source를 추가할 수 있으나 이부분은 서버관리기능에 속하니 제외하겠습니다. 본 예제에서는 SQL Server(Data Direct)를 사용합니다. 미리 3개 테이블을 생성해두었습니다.

 

 

  • Name :  Data Source의 명칭을 입력합니다.
  • Type : SQL Server (Data Direct)를 선택합니다.
  • Connection URL에서 아래와 같이 입력합니다.
    jdbc:tibcosoftwareinc:sqlserver://<서버IP>:<서버Port>;databaseName=<데이터베이스Name>
  • Username : 접속 계정
  • Password : 접속 비밀번호

 

다른것들은 그대로 두고 저장합니다. 그 후 Data Sources에서 연결된 Data Source를 열어보면 등록된 것을 확인할 수 있습니다. 예제에서는 3개 테이블이 보입니다.

 

 

각각 테이블에 대해서 기본적으로 데이터를 모두 가져오는 쿼리문, SELECT 구문이라면 우측마우스를 클릭하여 "Create Information Model"을 선택하여 생성할 수 있습니다. 이렇게 생성하는 Information Link는 아래와 같은 형태라고 생각하시면 될거 같습니다.

 

SELECT * FROM ORD;

 

3개 테이블에 대해서 Information Link를 생성한 후 Add Data Tables로 불러옵니다.

 

Add Data Tables에서 Information Link를 선택
가져올 Information Link를 선택하고 
OK를 눌러서 Spotfire로 가져옵니다.

 

가져온 데이터들을 보면 아래와 같습니다.

 

 

붉은색, 파란색 박스로 표기한 부분이 각 테이블을 서로 연결하기 위한 Key 값입니다. 그럼 테이블 JOIN을 위해서는 Information Designer에서 Join Element를 만들어야합니다.

 

4-2-3. Join Element

Join Element는 테이블간 Join을 위해 어떤 칼럼을 어떤 형식으로 Join할 것인지에 대한 정보를 가지고 있습니다. 이렇게 등록된 Join Element는 Information Link를 생성할 때 등록된 Column에 따라 추천 기능올 사용할 수 있으며 알아서 적당한 join Element를 넣어줍니다.

 

  그럼 예제로 돌아가서 ORD 테이블에 ITEM 정보들을 JOIN해보겠습니다. 먼저 JOIN Element를 만들어봅시다. Join Element를 클릭하면 좌측 탭이 Data Source로 바뀝니다. (주의. Join Element 생성 시 등록하는 Column은 Data Source에서 가져옵니다.). ORD 테이블에서 ITEM, ITEM 테이블에서도 ITEM, Column들을 가져옵니다.

 

 

일단 Condition은 기존 대로 Inner Join으로 두고 저장합니다.

 

 

같은 방법으로 ORD_STAT에 대한 Join Elements도 생성합니다.

 

 

그런 다음 두 테이블을 Join하는 Information Link를 만듭니다. Create Information Link를 열어서 필요한 Column들을 등록합니다. 먼저 ORD 테이블에서 아래  Column들을 등록합니다. ORD_NO, ITEM, ORD_STAT_CD, ORD_QTY 입니다.

 

 

그 다음 ITEM 테이블에서 Column들을 가져옵니다. SULP_PRC. SELL_PRC 칼럼입니다.

 

 

두 테이블을 Join하기 위한 Join Element가 필요하니 Join Path를 열어서 등록합니다.

 

 

이제 이 Information Link를 저장합니다.

 

 

Add Data Tables를 통해서 해당 Information Link를 가져옵니다.

 

 

결과를 보면 아래와 같습니다. 두 테이블이 Join된 ORD_ITEM 결과입니다.

 

 

추가로 ORD_STAT 테이블도 join해보겠습니다. Information Link인 ORD_ITEM 를 열어서 ORD_STAT 테이블의 ORD_STAT_NM을 추가합니다.

 

 

이번에는 수동 등록하지 않고 Join Path에서 Suggest Joins 버튼을 클릭합니다. 그럼 관련성 있는 Join Elements를 가져옵니다.

 

기존 것을 바꿀지 한번 물어봅니다. 예를 누르면...
관련 join Element가 등록됩니다.

 

Information Link를 저장한 후 Add Data Table를 통해 불러 옵니다. 

저장할 때 ORD_ITEM_STAT으로 저장

 

ORD_ITEM_STAT 테이블을 불러서 보면 아래와 같습니다.

 

 

ORD_STAT_NM 칼럼이 JOIN되어 ORD 테이블 맨 뒷쪽에 붙은것을 확인할 수 있습니다.

 

댓글