본문 바로가기

Study/Data

[PowerQuery] 날씨 API를 통한 지역별 현재 날씨 추출

Open Weather API를 연동하여, 국가별 현재 날씨정보 추출

 

1. Weather API를 제공하는 사이트 가입 후 API Key 발급 및 필요한 API 확인

https://api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&appid={API key}

 

2. 발급받은 API Key 활용하여 위경도 지정후 데이터 가져오기

[데이터 > 웹에서 가져오기]

 

3. 이상없이 데이터가 불러와졌다면, 날씨 확인이 필요한 지역의 위/경도 정보 쿼리로 생성

[국가별 위도, 경도]

 

4. 입력된 위/경도 정보로 API 호출이 가능하도록, API통해 가져온 쿼리 정보 고급편집기 통해 수정

[수정전 고급편집기]

 

(lat as text, lon as text)=>
let
    원본 = Json.Document(Web.Contents("https://api.openweathermap.org/data/2.5/weather?lat="&lat&"&lon="&lon&"&appid=API_Key")),
    #"테이블로 변환됨" = Record.ToTable(원본),
    #"행/열을 바꾼 테이블" = Table.Transpose(#"테이블로 변환됨"),
    #"승격된 헤더" = Table.PromoteHeaders(#"행/열을 바꾼 테이블", [PromoteAllScalars=true]),
    #"변경된 유형" = Table.TransformColumnTypes(#"승격된 헤더",{{"coord", type any}, {"weather", type any}, ... , })
in
    #"변경된 유형"

 

5. 수정 후 위/경도 관리하는 쿼리에서 [사용자 지정 함수 호출] > 위도, 경도 정보 지정하면 끝.

[참조되는 위도, 경도 열 지정하여 사용자 지정함수 호출]