[spotfire] 18. 데이터 처리 - marking, data relation 그리고 drill down



spotfire에서 marking과 data relation은 각각 동작하는 별개의 기능이지만, 같이 사용하면 drill down 분석이 가능하게 합니다. 물론 marking과 data relation을 각각 따로 사용하는 경우도 있지만, spotfire의 강력한 분석 기능 중 하나인 drill down 분석을 위해 marking과 data relation을 함께 사용하는 경우가 많습니다. 이번에는 marking, data relation, 그리고 drill down 기능에 대해 살펴 보겠습니다.

marking


marking은 선택한 데이터를 보여주는 기능입니다. marking이 뭔지 생소할 수도 있으나, spotfire를 사용하면서 알게 모르게 많이 사용해 왔습니다. 차트에서 데이터를 선택하면 해당 데이터만 highlight, 나머지는 불투명해진다거나, 표에서 데이터 선택하면 해당 데이터만 바탕색이 highlight, 나머지는 이상 없는 모습들을 많이 봐왔을 것 입니다. 이것은 모두 데이터를 선택한 동작에 대해 marking 기능이 작동하여 차트나 표에서 시각적으로 구현된 모습입니다. 아래 그림은 데이터 선택 시 선택된 데이터가 표시되는 모습, 즉 marking이 표시된 모습입니다.

표와 차트에서 marking 표시

marking은 단순히 하나가 아니라 여러개로 구별 할 수 있습니다. marking은 아래의 위치에서 편집과 설정이 가능합니다. marking은 이름과 표시 색 정도만 설정 가능하며 다른 설정할 것은 특별히 없습니다.

위치 : File - Document properties - Markings

marking 설정 위치

차트나 표 등의 시각화 자료 한 개에서는 marking을 하나만 선택할 수 있지만, 여러개의 차트나 표는 각기 다른 marking을 가질 수 있습니다. 이 말은 A 차트에서 선택한 데이터와 B 차트에서 선택한 데이터를 구별할 수 있다는 것입니다. 여러가지 marking을 구별할 수 있어 drill down 분석이 가능해 집니다. 각 계층의 marking을 달리 사용할 수 있고 이는 더 하위 계층을 선택할 수 있게 합니다.
spotfire에서는 marking이 단순히 선택한 데이터를 표시하는 것에 그치지 않습니다. 위 그림에서는 선택되지 않은 데이터도 보이지만, marking 된 데이터만 보이게 표시할 수도 있습니다. 이러한 data limit 기능은 차트의 특수 특성 설정에서 가능합니다.

위치 : 차트 or 표 - properties - data

차트와 표에서 marking과 data limit 설정

위 그림에서 오른쪽 표는 marking 이 영향을 주는 모습을 표현 하였습니다. marking으로 설정한 파란색 1st_marking은 해당 표에서 파란색 row로 표시 됩니다. data limit로 설정한 빨간색 2nd_marking의 경우 해당 표에서 보여지는 데이터를 2nd_marking 데이터로 제한합니다. 따라서 원본 original data에서 2nd_marking에 포함되지 않은 나머지들은 그림에는 불투명으로 표시하였지만 실제로는 보이지 않습니다. 여기서 한 가지 의문점이 들 수도 있습니다. 차트나 표에서는 하나의 marking 밖에 설정하지 못하는데, 1st_marking을 marking으로 선택 후에는 어떻게 2nd_marking이 해당 차트나 표에 영향을 주는지에 대한 의문입니다. 이는 다음에 소개할 data relation으로 가능합니다.

data relation


data relation은 서로 다른 data table 내 column의 데이터가 동일한 관계라고 설정하는 것을 뜻합니다. 즉, table A에서의 column 1과 table B에서의 column 2를 동일하다고 설정하는 것을 의미하며, 실제로 두 column의 value 값은 동일해야 data relation을 설정할 수 있습니다. data relation 설정 후 table A의 column1에서 a value 선택 시, table B의 column 2에서 a 값을 가지는 모든 row가 선택됩니다. table A의 column1과 table B의 column2를 merge 한 결과와 동일한 결과입니다. merge를 하면 직접적으로 table 이 합쳐지지만, data relation은 겉으로 합쳐지는 모습은 보이지 않습니다. data relation은 data table properties에서 설정할 수 있습니다.

위치 : Data - Data table properties - Relation

Data relation 설정

설정 방법은 data table 간의 merge보다 간단합니다. 의미 그대로 table A의 column1과 table B의 column2를 선택해주면 됩니다. 또한 merge의 경우에는 하나의 data table에 다른 data table을 표현해줘야 되기 때문에 붙이는 data table, 붙여지는 data table의 선택과 left inner, full outer 등 붙이는 방법도 중요 했었지만, data relation에서는 표시할 필요없이 가상의 연결을 설정하기 때문에 어떤 data table이 붙이던 붙여지던 상관이 없고 붙이는 방법도 상관이 없습니다. data table과 column을 잘 확인하고 sample data를 보면서 의도대로 진행하고 있는지만 체크하면 됩니다. data relation은 marking 이외에는 연결시킬 상황이 없습니다. 따라서 data relation은 marking과 하나의 세트이자 서로 필수적인 기능이라고 생각하시면 좋을 것 같습니다.

data relation 설정 후 marking 변화

data relation을 적용하고 난 후 marking은 위의 그림과 같이 설정 됩니다. estate_index table에서 지역 column과 population_change table에서 지역 column을 data relation으로 설정하였습니다. 또한 marking은 두 테이블에서 동일한 파란색 marking을 적용 하였습니다. estate_index에서 하나의 row 선택 시, 해당 row의 지역 column은 전국 이었고, population_change의 지역 column에서 전국 인 row들이 모두 선택된 모습을 볼 수 있습니다. 또한 marking은 estate_index의 파란색 marking이 적용되어 population_change에도 파란색 marking이 적용된 것을 볼 수 있습니다. 반대로 population_change에서 하나의 row 선택 시, 해당 row가 전국이었다면, estate_index의 지역 column에서 전국 인 row들이 모두 선택되었을 것 입니다.

drill down


drill down 분석은 일반적으로 문제를 해결하기 위해서 문제를 여러 하위 계층으로 분할하고 분할된 문제에 대한 해결방법 제시, 구조 파악 등을 통해 최종적으로 문제의 구조와 해결방법을 총합하는 분석 기법입니다. drill down 분석을 위해 하위 계층을 나누고 파악하는 것을 spotfire에서는 marking과 data relation으로 구현하였습니다. 따라서 marking과 data relation만 잘 적용해도 spotfire의 강력한 기능 중에 하나를 사용할 수 있는 것 입니다. 앞서 배운 marking과 data relation 기능을 조합해 drill down 분석하는 방법을 설명 드리겠습니다.

drill down이 구현되기 위해서는 문제와 하위 계층을 보여줄 수 있어야 하고, 하위 계층에서의 분석이 가능해야 합니다. spotfire에서는 data relation과 marking을 다음과 같이 설정합니다.

drill down

data table

marking

data limit

data relation

문제

table A

marking 1

x

table A, table B

하위 계층 1

table B

marking 2

marking 1

table B, table C

하위 계층 2

table C

marking 3

marking 2

x


위의 표에서는 하위 계층을 2개까지 라고 가정하고 나타 내었고, 하위 계층은 문제에 따라 사용자에 따라 바뀔 수 있습니다. 위의 estate_index, population_change 예제를 사용하여 실제 예시를 들어 보겠습니다. 우리는 전국의 부동산 지수를 분석하려고 하고, 특히 인구에 따른 부동산 지수를 분석하려고 합니다. drill down 분석을 하위 계층 1개만 적용시킬 것이고, 지역별로 나누어 분석한 후 전체적인 결론을 도출하려고 합니다.

drill down을 위한 설정

위와 같이 부동산 지수 내용을 가지는 table A, 인구 내용을 가지는 table B에 대해 marking과 data limit 그리고 data relation을 각각 설정 하였습니다. 하위 계층에서 분석하기 위해 data table B에 대한 그래프를 그렸습니다. 결과는 아래와 같습니다.

drill down 결과

부동산 지수 문제를 해결하기 위해 하위 계층으로 지역별 인구 데이터를 추가하여 분석 진행하였으며, 하위 계층인 인구 데이터에서는 각 연도 별로 출생건수는 증가하고 사망건수는 감소하는 결과를 보았습니다. 지역별로 분석을 진행하기 위해 table A에서 지역을 변경하며 하위 계층인 table B의 그래프 변화를 살펴 보았습니다. 추가적으로 인구 증가가 보이는 지역에서는 부동산 지수가 상승, 인구 감소가 보이는 지역에서는 부동산 지수가 감소하는 모습을 보였으며, 이는 drill down 분석을 통해 얻을 수 있는 결론입니다. spotfire에서 이러한 marking, data relation을 이용해 최종적인 drill down 분석과 결론을 도출 할 수 있었습니다.



댓글 쓰기

0 댓글