파워쿼리/데이터 전처리와 파워쿼리

파워쿼리 에디터 - 적용된 단계 창에서 알아 두어야 할것

규우 2021. 12. 20. 13:13

쿼리 세팅에서 적용된 단계에 대해 잠시 알아보겠습니다.

이전에 설명해 드린 데로 명령을 수행할 때마다 단계별로 저장을 하고 그 단계를 보여줍니다.

모든 프로그램이 그렇듯 파워쿼리도 실행할 때 사용되는 프로그래밍 언어가 있는데, M-Code 혹은 M 언어라고 하는 프로그램으로 명령을 수행합니다.

M 코드 (M-Code)를 확인하는 방법은 파워쿼리 에디터에서 고급 편집기를 클릭하면 지금껏 작업한 모든 것이 기록되어 있다는 것을 확인할 수 있습니다.

파워쿼리 에디터는 M 코드를 몰라도 에디터 리본에서 제공하는 버튼만으로 데이터 전처리가 가능하도록 만든 프로그램이라 M 코드를 모른다고 해서 큰 문제가 될 것은 없습니다. 하지만 때로는 M 코드를 수정하거나 직접 명령어를 입력하는 것이 필요할 때가 있기 때문에 이렇게 M 코드 에디터를 따로 두고 있습니다. (특별한 경우를 제외하고는 명령문을 직접 입력하는 경우는 없습니다)

파워쿼리 에디터에 어느 정도 익숙해진 뒤 M 코드를 읽고 수정할 수 있게 되면 나중에 파워쿼리를 다루기가 훨씬 쉬워지게 됩니다. 코드를 만드는 것보다 읽는 단계는 그리 어렵지 않으니 읽는 단계까지 도전해 보시길 바랍니다.


서두가 길었네요.

파워쿼리 에디터의 가장 큰 장정이 아닐까 하는데요, 지금까지 수행한 모든 명령이 단계별로 저장되며 그 단계가 어떤 것인지를 한눈에 쉽게 파악할 수 있게 구성이 되어있습니다.

아래의 이미지를 보면, 지금껏 수행한 명령이 순서대로 나열되어 있으며, 클릭 한 번으로 원하는 단계로 이동할 수 있습니다.

이동뿐만이 아니라 그때그때 수행된 명령의 결과물을 바로 작업 창에 보여주고 수식 창에는 M 코드도 보여줍니다.

그리고 작업 중 이전에 진행된 단계에 언제든지 수정, 추가, 삭제를 할 수 있습니다. 만일 이전에 필요 없다고 생각하는 열을 지웠는데 지금에 와서 사용해야 한다면 필요한 단계로 돌아가 수정하고 다시 마지막 단계로 돌아와 작업을 계속 진행할 수 있다는 이야기입니다.


하지만 여기서 주의해야 할 점은 수정, 삭제, 추가 모든 것이 수행된 이후의 단계에 영향을 미친다는 것입니다. 예를 들어 아래와 같은 스텝이 있는데 여기서 11단계 전으로 이동해 Merged Queries 3을 지우겠습니다.

그럼 현재 단계에서 에러가 발생하는데 이유는 12 - 22단계 중 11단계의 결과물을 바탕으로 명령이 수행해야 하는데 11단계의 결과물 없어졌으니 수행할 대상이 없어진 것이겠죠, 그래서 에러가 발생하게 되는 것입니다.

이런 이유로 전에 수행단 단계를 수정, 삭제, 추가할 때는 다음 단계에 미치는 영향이 있는지 충분히 검토해야 합니다.

 

검토가 필요한 가장 중요한 이유는 파워쿼리 에디터는 Undo 기능을 제공하지 않는다는 것입니다. 자세한 이유는 모르겠지만 Undo 기능이 없다 보니 혹시라도 실수로 잘못 지우거나 수정을 했는데 마지막 단계에서 에러가 발생한다면 지운 단계로 다시 돌아가 똑같은 명령을 실행해야 하기 때문에 신중히 처리해야 합니다.

M 코드에 대한 약간의 이해만 동반된다면 큰 문제가 되지 않을 수 있으나 그렇지 않다면 수정 혹은 삭제 전 반드시 전후의 진행을 꼼꼼히 확인 후 실행하기 바랍니다.

좀 더 직관적으로 데이터 전처리를 진행할 수 있도록 도와주는 적용된 단계 창을 이용해 좀 더 쉽게 원하는 결과물을 얻길 바랍니다.