이전 강좌에서 정렬하면 정렬 기준이 생긴다는 것을 확인했습니다. 그리고 그 정렬 기준을 삭제해도 원래의 정렬로는 돌아갈 수 없으며 마지막 정렬이 유지된다는 것 또한 알아보았죠. 그런 이유로 정렬 시 장단점이 생긴다고 했습니다. 이번에는 그 때문에 생기는 장점에 대해 알아보겠습니다.
이전 강좌와 이어지는 내용이니, 정렬 시 주의 사항을 모른다면 반드시 이전 강좌를 확인하고 돌아와 주세요.
예제 파일은 지난 강좌와 동일한 파일입니다.
위 데이터를 "고객ID별로 평점이 높은 순에서 낮을 순으로 정렬"하고 싶다면 어떻게 해야 할까요? 살짝 헷갈리죠? 지금까지는 하나의 항목에 대한 정렬만 생각했는데 이제는 두 가지 항목을 정렬해야 하기 때문입니다. "고객ID" 정렬, "평점" 정렬이 되겠죠. 그럼 2번의 정렬이니, 정렬 순서의 문제가 생깁니다. 무엇을 먼저 해야 할까요? 퀴즈입니다.
- 고객ID 정렬을 먼저하고 평점 정렬한다.
- 평점 정렬을 먼저하고 고객ID 정렬한다.
이전 강좌에서 알아본 정렬 시 주의 사항을 다시 생각해 보면 어렵지 않게 해답을 찾을 수 있습니다. "정렬 시 마지막 정렬이 유지된다"라는 것입니다.
먼저 고객ID 정렬을 진행하면 마지막 정렬은 일단 고객ID별로 정렬된 상태가 됩니다. 이 상태에서 다시 평점 정렬하면 평점이 우선 정렬되니 고객ID는 분리될 것입니다. 평점이 동일한 경우에만 고객ID 정렬되는 상태가 되겠죠. 즉 평점별 고객ID 정렬이 됩니다.
반면 평점을 먼저 정렬하고 고객ID 정렬하면, 일단 평점으로 정렬된 상태에서 다시 고객ID 정렬이 되어 우선 정렬된 고객ID별 평점 정렬이 되는 것이죠. 답은 ②번이 되겠습니다.
어렵게 느껴질 수 있는데 해 보면 금방 이해하실 수 있습니다.
- 평점 정렬을 먼저 진행해야 하니 평점 항목의 아무 셀이나 클릭하여 선택합니다.
- 홈 > 정렬 및 필터 > 숫자 내림차순 정렬을 클릭합니다.
결과 평점이 내림차순으로 정렬됩니다. 이 상태에서 다시 고객ID별로 정렬하면 당연히 같은 고객ID를 순서대로 찾아 정렬할 테니, 평점은 높은 점수에서 낮은 점수로 정렬될 수밖에 없겠죠. 고객ID도 내림차순 정렬하겠습니다.
- 고객ID 정렬을 위해 고객ID 항목의 아무 셀이나 클릭하여 선택합니다.
- 홈 > 정렬 및 필터 > 텍스트 내림차순 정렬을 클릭합니다.
결과, 그림처럼 고객ID가 내림차순으로 정렬되고, 동일한 고객ID 안에서 평점 또한 내림차순으로 정렬된 결과를 얻을 수 있게 됩니다. 고객ID별 평점 정렬이 완성된 것이죠.
즉, "정렬 시 마지막 정렬이 유지된다."라는 점 때문에 "정렬 순서만 잘 지키면 원하는 정렬 상태를 만들 수 있다"라는 것입니다.
대분류, 소분류로 생각해 보면 더 쉽게 정렬 순서를 정할 수 있습니다. 홍길동이란 사람이 작성한 평점을 내림차순으로 보고 싶다면, 홍길동이 대분류로, 평점이 소분류가 됩니다. 그럼, 정렬의 순서는 소분류 → 대분류 순으로 진행하면 되는 것이죠.
그럼, 위 표에서 "고객ID별 제품분류별 평점 정렬"은 어떤 순서로 정렬해야 할까요?
이 경우에는 "제품분류별"이라는 분류가 하나 더 추가돼서,
대분류 = 고객ID, 중분류 = 제품분류, 소분류 = 평점
이 되고, 정렬 순서는 소분류 → 중분류 → 대분류 순으로 진행해야 되니, 평점, 제품분류, 고객ID 순서가 됩니다.
결론은 작은 분류에서 큰 분류의 순으로 진행하라는 것입니다.