
파워쿼리 데이터 소스 상대경로로 가져오는 방법
Taedi
·2021. 2. 2. 10:09
파워쿼리는 데이터 소스를 가져올 때 기본적으로 절대경로를 이용합니다. 그렇기 때문에 엑셀 파일과 데이터 소스를 타 pc로 옮겨서 활용하려면 아래와 같은 오류 메세지가 발생하면서 데이터가 갱신되지 않는 문제가 있어 파일을 공유하거나 작업물을 다른곳에서 수정하기 난처한 상황이 가끔 발생하곤 합니다.
이러한 문제는 데이터 소스를 상대경로로 불러오는 방법을 사용하면 쿼리를 사용하는 엑셀파일과 동일 폴더나 하위 폴더에 데이터 소스를 위치하는 것으로 어디서든 작업물을 실행시키고 수정할 수 있습니다.
| 1. 아래 수식을 파워쿼리를 이용하려는 Workbook 안의 편한 셀에 입력한다.
=LEFT(CELL("filename",$A$1),FIND("[",CELL("filename",$A$1),1)-1)
- 수식을 입력하면 아래와 같이 파일이 위치한 경로가 나타나게 되며, 파일 위치를 변경하여 다시 실행하여보면 값이 바뀌는 것을 볼 수 있다.
- 데이터를 갱신할 때 해당 경로를 참조해서 가져오게 된다.
| 2. "수식 - 이름 관리자" 에서 함수를 입력한 셀을 WBPath라는 이름으로 지정한다.
- "수식 - 이름관리자" 클릭
- "새로 만들기" 클릭
- 1번의 수식을 입력한 셀을 참조 대상으로 선택하고, 이름을 "WBPath"로 지정
(이름은 바꾸어도 무방하나 편의상 그대로 두시는 것을 추천)
- 정상적으로 등록된 모습
| 3. 쿼리 수정
데이터 소스는 csv나 xlsx에 관계없이 적용방법은 동일하다.
단, 폴더에서 가져올 때는 도우미 쿼리 또한 변경되었는지 확인이 필요하다.
- 가져 오고자 하는 데이터 파일 선택
- "데이터 변환"을 클릭하여 편집기 화면으로 진입
- 상단의 "보기 - 고급 편집기" 클릭
- 아래와 같이 데이터 소스가 절대경로로 지정되어 있는 것을 확인할 수 있으며 이 부분을 수정
- 아래의 줄로 수정
(두번째 줄의 data\data.xlsx는 파일 경로나 파일 명에 따라 임의로 수정해야하는 부분)
WBPath = Excel.CurrentWorkbook(){[Name="WBPath"]}[Content]{0}[Column1],
FullPathToFile1 = WBPath & "data\data.xlsx",
원본 = Excel.Workbook(File.Contents(FullPathToFile1), null, true),
- 변경이 완료 된 모습, "완료" 클릭
- 기타 쿼리 수정 완료 후, "로드"
| 4. 완료
과정을 모두 완료하면 폴더가 변경되더라도 쿼리가 정상적으로 갱신되는 것을 확인할 수 있다.
티스토리 아이디로 코멘트를 남기려면
여기를 눌러주세요!