Power BI(Power Query(M 언어))에서 Excel 날짜 데이터의 시간대 변경

개요



Power Apps에서 앱을 만들어 데이터를 Excel로 출력할 때 날짜는 표준 시간(UTC)으로 출력되므로 Power BI에서 그대로 읽으면 일본 시간이 되지 않으므로 변환해야 했습니다.
그건 그렇고, 파워 앱은 자동으로 일본 시간으로 변환합니다.
게다가, Power Automate는 일자의 시리얼치를 취하는 치구하구나 사양이 되어 있습니다.

하고 싶은 일



단순히 일본 시간으로 옮기는 것만이라면, 시간에 9를 가산하면 됩니다만, 날짜가 변하지 않기 때문에 타임 존을 변경하는 방법을 취하기로 했습니다.

목표로 하는 결과



Excel 데이터를 읽고 Power BI 측에서 일본 시간으로 변환합니다.


Excel 데이터(표준 시간)
Power BI 데이터(일본 시간)


2020/8/7 15:46
2020/8/8 00:46

2020/8/6 23:58
2020/8/7 08:58


Excel 데이터



Excel에서 다음과 같이 등록됩니다.


전환까지의 절차



여기에서 Step By Step으로 변환까지의 순서를 소개합니다.

Power BI로 로드


  • Power BI를 시작하고 "데이터 가져오기"를 클릭합니다.
  • Excel 커넥터를 선택하고 "연결"을 클릭합니다.
  • 대상 Excel 파일을 선택합니다.
  • 대상 데이터를 선택하고 "데이터 변환"을 클릭합니다.
  • 지금은 아무것도하고 있지 않기 때문에 그대로 Excel 데이터가 읽혀지고 있습니다.
  • 고급 편집기를 클릭하여 상세 편집기를 엽니다.
  • 코드를 다음과 같이 다시 작성하고 《완료》를 클릭한다.

  • 다시 쓰기 전
    let
        ソース = Excel.Workbook(File.Contents("C:\タイムゾーン変換.xlsx"), null, true),
        テーブル1_Table = ソース{[Item="テーブル1",Kind="Table"]}[Data],
        変更された型 = Table.TransformColumnTypes(テーブル1_Table,{{"timeRec", type datetime}})
    in
        変更された型
    

    다시 쓰기 후
    let
        ソース = Excel.Workbook(File.Contents("C:\タイムゾーン変換.xlsx"), null, true),
        テーブル1_Table = ソース{[Item="テーブル1",Kind="Table"]}[Data],
        変更された型 = Table.TransformColumnTypes(テーブル1_Table,{{"timeRec", type datetime}}),
        変更された型2 = Table.TransformColumns(変更された型, {{"timeRec", each DateTime.AddZone(_, 0, 0)}}),
        変更された型3 = Table.TransformColumns(変更された型2, {{"timeRec", each DateTimeZone.SwitchZone(_, 9), type datetimezone}}),
        変更された型4 = Table.TransformColumns(変更された型3, {{"timeRec", each DateTimeZone.RemoveZone(_), type datetime}})
    in
        変更された型4
    
  • 코드 설명
  • 변경된 타입 2
  • Excel에서 읽은 날짜에는 시간대가 없으므로 DateTime.AddZone(_,0,0)에서 표준 시간대를 추가합니다.

  • 변경된 형태 3
  • 시간대를 표준 시간에서 DateTimeZone.SwitchZone(_,9)으로 일본 시간으로 변환합니다.

  • 변경된 형 4
  • 타임 존은 Power BI에서는 필요 없기 때문에 DateTimeZone.RemoveZone(_)로 타임 존을 삭제한다.



  • 결과 확인



    일본 시간으로 변환되었습니다.

    좋은 웹페이지 즐겨찾기