앞에서는 data transform 가운데 column을 새로 만드는 calculated column 방법에 대해 살펴보았습니다. 이번에는
data transform
1. 새로 만들거나(data function, normalization)
2. 수정하거나(calculated and replace column, change column names, change data types, replace specific value, replace value)
3. 삭제하거나(exclude columns, filter rows)
방법에 대한 설명을 드리겠습니다. calculated column과 유사한 방법이기 때문에 쉽게 이해하실 수 있을 것 입니다.
normalization
normalization은 regularization으로도 불리며 한국어로는 정규화, 표준화라고 합니다. normalization은 scale이 다른 차원들 간의 scale을 동일하게 맞춰주는 것을 의미합니다. 대표적인 normalization 방법으로는 통계에서 사용하는 정규분포(normal distribution)로 변환하는 정규화 또는 z-score로 바꾸는 변환이나, 최대-최소 값을 활용하는 min-max normalization, 또는 norm을 활용하는 L1 normalization 등이 많이 알려진 normalization 방법입니다.
spotfire에서 제공하는 normalization 방법은 14가지이며 활용 방법에 따라 8개로 분류하여 설명 드리겠습니다.
calculated and replace column
이 기능은 column의 value를 바꿔줍니다. 기능 실행 시 calculated column과 유사한 모습의 윈도우 창이 나타납니다.
calculated and replace column
calculated column과 다른점은 data table 선택하는 곳에서 data table이 아닌 바꿀 column을 선택해야 한다는 것입니다. 또한 바꿀 column 선택 시 아래의 column 이름칸에는 기본 값으로 바꿀 column 이름이 들어가게 됩니다. 이 칸에서 column 이름을 수정하면 column 이름까지 바뀌게 됩니다. 이외에는 calucated column과 동일합니다.
change column names
이 기능은 column의 이름을 바꿔 줍니다. 기능 실행 시 data table의 column들을 선택하고 새로운 이름을 넣을 수 있는 윈도우 창이 나타납니다.
change column names
그림과 같이 윈도우 창 위쪽으로는 이름을 바꿀 column을 선택할 수 있고, 아래쪽으로는 바꿀 이름을 넣을 수 있습니다. 여러개의 column을 선택할 수도 있고 바꿀 이름에 function도 사용할 수 있도록 만들어져 있지만, 사실 상 제대로 사용하기 힘듭니다. 여러개의 column을 선택할 수 있지만 여러개의 다른 이름을 넣어 줄 수 없으며, function이 있지만 input 값을 제대로 넣어 줄 수 없어 사용에 문제가 있습니다. 따라서 본 기능은 한 개씩 column 이름을 바꾸는 용도로 사용하실 수 있습니다. 이 부분은 spotfire에서 다소 아쉬운 부분이라 할 수 있습니다.
change data types
앞서 데이터 처리를 다룰 때 데이터를 확인하는 방법으로 data in analysis로 column의 type, formatting 등을 바꾸는 방법을 배웠습니다. data table 내 변환에서도 데이터의 type을 바꾸는 것은 중요한 부분 중 하나이며, data transform에서도 tpye 변경 기능을 제공하고 있습니다. data in analysis에서의 type 변경과 data transform에서의 type 변경은 약간의 차이가 있습니다. data transform에서 변경하는 것은 type을 확정하는 것으로 이후 수정이나 삭제 등이 불가능하며, 원복하기 위해서는 원래의 type을 확인한 뒤 재설정하는 것이 필요합니다. 반면 data transform을 활용한 type의 변경은 canvas를 통해 실행되어 설정을 수정하거나 삭제 등이 가능합니다. 따라서 원복 시에도 간단하게 type 변경을 삭제하면 됩니다.
change data types
윈도우 창에서는 위쪽에서는 type과 formatting을 변경할 column을 선택하고, 중앙쪽에서는 선택한 column의 type과 formatting을 지정하고, 아래쪽에서는 변경 후의 preview를 볼 수 있습니다. 하나의 column 지정 후 다른 column 선택하여 type과 formatting을 설정 할 수 있습니다. 또는 드래그 또는 ctrl 클릭으로 여러 column을 선택하여 한번에 type과 formatting을 설정할 수도 있습니다.
replace specific value
본 기능은 column의 value를 바꿀 수 있는 기능입니다. 시각화 표에서 데이터 선택 후 데이터를 바꿨던 것과 마찬가지로 본 기능으로 데이터를 바꿀 수 있습니다. 이것 역시 시각화 표에서 직접적으로 바꾸었던 설정 내용은 수정이나 삭제가 불가능하며, canvas를 사용한 data transform인 replace specific value 기능은 수정과 삭제가 가능합니다. replace specific value 실행 시 아래와 같은 윈도우 창이 나타납니다.
replace specifiic value
윈도우 창은 간단한 구조로 되어 있습니다. 데이터를 바꾸길 원하는 column을 선택하고, 바꾸고 싶은 value를 넣고, 대체할 value를 넣으면 됩니다. 본 기능에서는 넣을 때 다른 column을 이용한 조건을 붙일 수도 있습니다. 아래쪽에 identify row by를 선택하면 replace할 column 이외의 다른 column을 선택할 수 있고, 해당 column 의 value에 해당하는 row에서만 replace 기능이 작동 됩니다. 본 기능은 하나의 값에 대한 replace 이기 때문에 column의 value가 특수한 값(empty value, 0, category type의 특정 value 등등)에서 유용하게 사용할 수 있습니다. number type의 column에서는 모든 value에 대해 일일이 변경할 수 없기 때문에 새로운 column을 만들거나 column을 변경하는 data transform 기능을 사용하는 것이 좋습니다.
replace value
replace value
replace는 시각화 표를 설명드릴 때 table에서 value를 변경했던 것과 유사한 설정창이 뜹니다. 그때와 마찬가지로 column 단위로 value를 바꿀 수 있습니다. 변경을 원하는 데이터가 속한 column을 선택하고, 변경 이전의 value와 대체할 value를 넣으면 값이 변경 됩니다. column 내에서 동일한 value를 가진 모든 데이터가 변경되기 때문에 신중하게 기능을 사용해야 합니다.
exclude columns
exclude columns
exclude columns는 data table에서 필요없는 column을 삭제하는 기능입니다. spotfire에서 column은 차원을 의미하기 때문에 데이터를 표현해주는 차원을 삭제하는 것과 동일합니다. exclude columns 기능 실행 시, 남길 column과 삭제할 column으로 나누는 설정창이 뜹니다. 처음에는 모든 column이 왼쪽 include 쪽에 있지만 삭제하고자 하는 column을 가운데 버튼을 통해 오른쪽으로 이동하면 됩니다. 설정창 아래쪽에는 미리보기가 있어 삭제 후 data table의 모습을 예상할 수 있습니다.
filter rows
filter rows
filter rows는 data table에서 필요없는 row를 삭제하는 기능힙니다. spotfire에서 row는 데이터를 의미하기 때문에 데이터를 삭제하는 것과 동일합니다. filter rows 기능 실행 시, calculated column과 유사한 설정창이 뜹니다. 차이는 설정창 아래쪽의 새로운 column 이름을 입력하는 칸이나 미리보기, 형식 내용이 없다는 것입니다. filter rows는 expression 결과가 true인 row는 남기고, false인 row는 거르는 방식입니다. 따라서 expression 에서는 계산 결과가 boolean 형식(true, false)인 결과가 나와야 합니다. 쉽게 생각하면 if 문이나 case when 의 조건문에 들어가는 내용을 입력하시면 됩니다.
0 댓글