TL;DR
Power BI는 파워쿼리를 이용한 순서가 중요한 그래프 그리기.
엑셀은 자동으로 순서대로 그래프를 그려준다.
하지만, Power BI는 자동으로 오름차순으로 정렬해서 순서가 중요한 데이터가 제대로 표현되지 않는다.
따라서, 순서를 정확히 표현하려면 인덱스 열을 사용하여 순서를 다시 정리해 주어야 한다.
파워BI는 파워쿼리를 이용해서 여러 개의 파일을 통합하고 간단하게 시각화를 구성할 수 있다.엑셀에서도 파워쿼리를 사용해서 여러 개의 파일을 통합 할 수는 있지만, 동시에 여러개의 그래프를 나타내기에는 시간이 많이 걸린다. 파워BI에서는 꺽은 선형 차트에서 축소 다중 항목을 이용하면 마우스 클릭 몇번만으로도 ggplot2의 facet과 같은 효과를 낼 수 있다.하지만, 파워BI와 엑셀의 그래프 그리기에는 약간의 차이점이 있다는 것을 알게 되었다.
히스테리시스 데이터 시각화에서 발생한 문제
히스테리시스(hysteresis)를 시각화하려는 데이터가 있었다. 이 데이터는 측정된 순서대로 라인으로 잇는 것이 중요하다. 하지만 Power BI는 엑셀과 달리 자동으로 숫자 값을 오름차순으로 정렬해버리려서, 데이터의 원래 순서가 무시되어 시각화 결과가 왜곡되었다.
이번 글에서는 대표적인 히스테리시스 데이터 중 하나인 흡착/탈착 등온선(N₂ isotherm) 데이터를 바탕으로, 파워 BI에서 이 데이터를 제대로 시각화하기 위한 방법을 직접 시도해보고자 한다. 특히 흡착과 탈착 과정에서 동일한 상대 압력(P/P₀) 조건에서도 흡착량이 다르게 나타나는 현상을 정확히 시각화하기 위해 데이터의 순서와 연결 방식을 어떻게 처리해야 하는지 다룰 예정이다.
과학 분야에서 히스테리시스 란?
히스테리시스는 과학, 공학 분야에서 흔히 나타나는 입력과 출력 사이에 시간 지연이나 경로 의존성이 존재하는 비선형 현상을 의미한다. 대표적인 예로는 다음과 같은 데이터가 있다:
- 자기장 vs 자화 곡선: 강자성체에서 외부 자기장을 증가시켰다가 감소시킬 때 자화 값이 원래 상태로 돌아가지 않고 경로가 다른 폐곡선 형태를 보인다.
- 응력-변형률 곡선: 고무와 같은 비선형 재료의 반복 하중-하중 해제 실험에서 히스테리시스 루프가 관측된다.
- 흡착/탈착 등온선 (예: N2 등온선): 다공성 재료에서 기체가 흡착될 때와 탈착될 때의 경로가 달라 히스테리시스를 형성한다.
- 전기/열적 시스템: 열 이력, 온도에 따라 반도체의 저항이 달라지는 특성 등에서도 나타난다.
이러한 데이터는 변화의 순서와 방향이 중요한 의미를 갖기 때문에, 시각화 시에도 반드시 데이터의 순서가 유지되어야 한다. 따라서 히스테리시스 곡선을 올바르게 표현하려면 데이터가 시간 혹은 측정 순서에 따라 정확히 연결되어야 하며, 파워BI와 같은 도구의 자동 정렬 기능을 우회할 필요가 있다.
1. 데이터를 불러와서 문제 확인
그래프를 그리고 마우스 오른쪽 버튼을 클릭 후 테이블로 표시하면 아래와 같이 그래프와 테이블이 동시에 나타난다. 테이블의 순서를 잘 확인해 보면 x축의 값이 오름 차순으로 정렬되어 있는 것을 볼 수 있다. 이것이 이상한 그래프를 나타내는 이유이다.

2. 인덱스 열을 추가
x축을 제대로 정렬하기 위해서, 열 추가 인덱스 열을 클릭하자. 0부터 / 1부터 두가지가 있는데 1부터를 선택했다.
아래와 같이 인덱스 열이 추가된 것을 확인 할 수 있다.

3. 인덱스 열 기준으로 정렬
마지막으로, x 축의 값을 인덱스 열 기준으로 정렬을 한다.
데이터에서 정렬할 데이터를 선택하고, 열 도구에서 인덱스를 클릭한다.

그러면, 다음과 같이 데이터가 순서대로 정렬되면서 제대로 그려지는 것을 확인할 수 있다. 한가지 아쉬움이 있다면 엑셀과 같이 데이터의 좌표는 점으로 표시되지 않는다. 이는 산점도를 이용해야만 가능한 것으로 보인다.

마치며
Power BI와 파워쿼리의 조합은 데이터 시각화와 전처리를 빠르고 직관적으로 수행할 수 있는 강력한 도구다. 하지만, 자동으로 내가 원하는 결과물을 얻기에는 어떠한 도구도 한계가 있으며, 이는 여전히 사용자가 직접 해결해야하는 몫으로 남아 있다.