이전에 Query를 변경한 이력이 있을 경우,
원본데이터에서 삭제한 Coulmn명이 이전 Query에 그대로 남아있을 경우 문제발생.
즉, Query가 Coulmn명에 종속적이지 않게 하는 방법으로 해결 가능
Power Query 편집기 실행 후. 우측에 적용된 단계를 보면, 승격된 헤더 밑에 DynamicNameHeader가 추가된 것을 확인할 수 있다.
고급 편집기 실행 후, DynamicNameHeader 정의
DynamicNameHeader = Table.ColumnNames(#"승격된 헤더"),
고급편집기에 코드 작성 후, 완료버튼을 클릭하면,
적용된 단계에 DynamicNameHeader 가 생성된다.
Header이름을 리스트 형태로 저장하고 있다.
RowNum은 1부터 시작하지만, 리스트는 0부터 시작한다.
예를 들어, 1번 Row의 Header명 BAS_ID를 가져오기위해서는,
Table.ColumnNames(#"승격된 헤더"){0} 처럼 작성해야 한다.
이후, Power Query 편집기에서 바꾸고자 하는 Column명을 원본데이터의 Column명과 동일하게 변경한다.
적용된 단계탭에 이름을 바꾼 열 수 단계가 주차된다.
다시 고급편집기 실행 후,
Table.RenameColumns(~~~~)부분에 바꾸기 이전의 컬럼명을 Table.ColumnNames(#"승격된 헤더"){리스트번호}
와 같이 변경한 후, 고급 편집기를 종료한다.
이제, 원본데이터의 Column명을 변경하여도, Power BI에서 오류가 발생하지 않고, Column명이 동일하게 변경된다.
Tip: 적용된 단계 탭의 각 단계들의 순서를 변경할 수 있다. Query간의 영향을 잘 고려해 순서를 바꿔도 무방한 듯.
가장 좋은건, 처음에 대시보드를 생성하는 단계에서 부터, 정말 컬럼명을 신중히 결정하는 것....