[spotfire] 24. data table 간 변환 - 복사, 삭제



data table의 복사와 삭제는 기존의 data table이 존재해야 합니다. 또한 복사한 data table은 기존의 data table과 유기적인 연결을 연결되어 있기 때문에 data table 간 변환에서 소개해 드립니다. 즉 data table 2개를 합치는 merge 변환처럼, data table 의 복사는 data table 1개와 비어있는 data table의 merge 변환하는 거라고 볼 수 있습니다.

깊은 복사와 얕은 복사


data table의 복사를 다루기 전에 깊은 복사(deep copy)와 얕은 복사(shallow copy)의 개념을 알고 있으면 좋습니다. 깊은 복사와 얕은 복사 개념은 코딩과 관련된 개념입니다. 깊은 복사는 복사되는 객체(object)를 새로운 메모리에 부여하는, 즉 값은 같지만 완전히 별개인 객체를 만드는 복사입니다. 비유하자면 쌍둥이와 같이 모습은 동일하지만 서로 전혀 다른 사람인 것과 같은 개념입니다. 반면, 얕은 복사는 복사되는 객체는 새로운 메모리가 아닌 주소값만을 참조하는, 즉 값도 동일하며 사실 상 서로 같은 객체를 만드는 복사입니다. 비유하자면 거울에 비친 사람을 보는 것과 같이 모습이 완전히 동일하고 사실 상 동일한 사람인 개념입니다. 얕은 복사에서는 원본을 변경하면 복사본 역시 동일하게 바뀌는 복사라고 생각하면 좋습니다.

data table의 얕은 복사


spotfire에서 많이 사용하는 복사 기능은 주로 얕은 복사를 의미합니다. 따라서 위에서 기존의 data table과 유기적으로 연결되어 있다고 소개 드렸고, 주로 설명 드릴 내용도 얕은 복사에 관한 내용입니다. 본문에서 특별한 언급이 없는 복사는 모두 얕은 복사라고 생각하시면 좋습니다. 얕은 복사를 사용하는 이유는 데이터 구조를 최대한 단순화하기 위함입니다. 깊은 복사를 통해 동일한 내용의 data table이 여러개 존재하는 상태는 데이터 관리, 운영, 보수, 유지 등에 바람직하지 않습니다. 하나의 data table을 기준으로, 필요하다면 객체를 참조해서 사용하는 얕은 복사를 사용하는 것이 많은 경우 유리합니다.

data table의 얕은 복사는 아래의 위치에서 가능합니다.

위치 : Files and data - other - linked copy to data table in analysis - data table 선택

data table 복사

복사는 데이터를 불러오거나 붙여넣을 때 사용했던 files and data 에서 가능합니다. other 에는 기존의 data table들이 나열되어 있으며 이들 중 복사를 원하는 data table을 클릭합니다. 이후 나타나는 패널에서 data table을 클릭하면 3가지 사항을 선택할 수 있습니다.

add as new data table : data table을 얕은 복사하여 새로운 data table을 만듭니다.
add as rows to : 대상 data table을 다른 data table의 row 방향으로 merge 합니다.
add as columns to :대상 data table을 다른 data table의 column 방향으로 merge 합니다.

위의 3가지 항목 중에서 첫 번째 add as new data table을 선택해야 하며, 나머지 2개는 이후의 data table 간 변환에서 merge 기능을 합니다. 항목 아래에 transform data 을 선택할 수 있습니다. 앞선 시간에 배운 data table 내 변환을 뜻하며, data table 내 변환 후 new table을 복사합니다. new table에 data table 내 변환을 하려면 복사 후 data canvas 등을 활용해 진행하면 됩니다. 패널 위쪽에는 data table을 넣을 수 있습니다. 복사되는 new table 이름은 원본 (2) 라는 기본값을 가집니다. 이후 OK 버튼을 선택하면 복사한 새로운 data table이 생성됩니다.

data table의 깊은 복사


data table의 깊은 복사, 즉 별개의 data table을 만드는 것은 새로운 data table을 만드는 것과 동일합니다. spotfire 의 첫 부분에서 알려드린 data table 넣기, load 방법으로 가능합니다. 주로 사용하는 방법은 동일한 data table을 또 불러오거나, 시각화 표를 생성하고 전체 선택 후 crtl+c로 복사한 뒤 copy to clipboard를 통해 붙여넣는 방법을 많이 사용합니다. 또는 얕은 복사로 다른 객체를 만든 다음, 원본과 복사본과의 연결을 끊는 것으로 깊은 복사를 수행할 수 있습니다.

data table reload


데이터 테이블은 spotfire 사용 중에 reload 할 수 있습니다. 이는 기존에 설정되어 있는 데이터 소스에서 다시 로드 함에 따라 업데이트 하는 기능을 가지고 있습니다. 물론 데이터 소스 이후 각종 처리 작업들은 그대로 반복시행 됩니다.
reload는 data source 와 연결되어 있는 data table만 가능합니다. clipboard를 통한 copy&paste 또는 data source 로드 이후 stored data로 저장한 경우는 연결 없이 데이터만 있기 때문에 reload 가 작동하지 않습니다. 또한 data source와 네트워크 상으로 끊긴 경우나 권한에 제한되는 경우 등 접근할 수 없는 경우에도 reload를 하지 않습니다.

위치 : Data - reload linked data / Data - reload all data / Data - data table properties - reload data / data canvas - data source 클릭 - data loaded at

reload data table

Reload all data


데이터를 새로 불러와야 하는 경우가 있습니다. 단순히 data source에서 data를 업데이트 하기 위한 경우뿐만 아니라 기존 spotfire 파일을 when possible to load data 로 저장된 경우나 data source에서부터 연결하여 차트 완성까지의 경로가 제대로 작동하는지 확인하는 경우 등입니다.

위치 : Data - Reload linked data 또는 Reload all data (전체 또는 linked data만)

개별적으로 reload 하기 위해서는 data canvas - data table선택 - replace 또는 reload

data table source replace


데이터 소스 변경은 기존 data source와 연결을 끊고 새롭게 재설정하는 것을 의미합니다. 물론 기존 data source와 연결이 없었던 clipboard copy&paste 나 stored data 역시 설정을 통해 새롭게 연결 할 수 있습니다.

위치 : Data canvas - replace

data table source replace

data table의 삭제


data table의 삭제는 비교적 간단합니다. data canvas 또는 data table properites를 사용할 수 있습니다.

위치 : Data - Data table properties - delete / data canvas - data table 선택 - delete

data table 삭제


댓글 쓰기

0 댓글