[ 파워쿼리 ] 날짜 테이블 만들기

2024. 11. 14. 19:52Power BI/파워 쿼리 ( Power Qeury )

728x90
반응형

파워 쿼리를 이용한 날짜 테이블을 만들어 보도록 하겠습니다.

M function 중 List.Dates 함수를 사용해서 날짜 List를 만들어 주었습니다.

간단하게 함수를 살펴보도록 하겠습니다.

List.Dates( #date( 2024, 11, 1 ), 30,  #duration( 1, 0, 0, 0 ) )
날짜를 리스트로 만들어줘 시작날짜는 24.11.1일 부터야 30일까지 간격은 1일이야

 

해당 리스트를 테이블 형식으로 변경해 주도록 하겠습니다.


 

잠깐 엑셀에서 날짜를 만드는 방법에 대해서 생각해 보도록 하겠습니다.

아래와 같은 데이터가 있을 때 우측과 같이 피벗 테이블을 만들어 줘서 분석을 하는 경우가 많습니다.

만약 해당 데이터를 요일별로 보고 싶다면 어떻게 하면 될까요?

 

 

아래와 같이 요일 컬럼을 추가해서 테이블을 만들어 집계를 만들어 낼 수 있을 것입니다.

하지만 아래와 같이 엑셀을 추가하다 보면 수식도 많아지고 테이블이 지속적으로 가로로 늘어나서 효율적이지가 않습니다.

 


다시 파워쿼리로 돌아와 보도록 하겠습니다.

차례대로 년, 월, 일.... 다양한 항목을 추가해 보도록 하겠습니다.

 

[ 열 추가 ] - [ 날짜 ]를 클릭해 보면 다양한 옵션이 있는 것을 볼 수 있습니다.

차례차례 만들어 보면서 날짜 테이블을 완성해 보도록 하겠습니다.

 

우선 가장 위에 있는 기간을 클릭해 보도록 하겠습니다.

기간 컬럼이 생성이 되면서 날짜가 생성이 되는 것을 볼 수 있습니다.



이 때 가장먼사 사용되는 현재를 구하는 M function 입니다.

엑셀에서 today() or now() 함수를 사용하는데 M function에서는

DateTime.LocalNow()를 사용하면 현재 날짜 시간을 구할 수 있습니다.

빈 쿼리에서 현재날짜를 구해 보도록 하겠습니다. 

금일은 오블완 챌린지를 위해 글을 작성하고 있기 때문에 날짜는 24.11.14일 입니다.

오 하지만 보통 2024-11-14의 형식을 예상하고 시작 했는데 날짜 + 시 : 분 : 초 모두가 나오는 것을 볼 수 있습니다.




여기서 날짜만 가져오기 위함 함수가 Date.From 함수 입니다.



아까와는 다르게 날짜 형식으로 변환되어 가독성이 좋아 진 것을 볼 수 있습니다.


반응형

그럼 기간은 어떻게 구해진 결과일까요?

위에서 구한 현재 날짜 - date 날짜를 해준 값입니다.

예를 들면 현재 11/1일에서 13일 후가 11/14일이기 때문에 기간은

13.00:00:00 ( 일.시:분:초 )의 형식으로 표기되는 것을 볼 수 있습니다. 

 

아래와 같이 데이터 형식을 10진수로 변경해 주면 조금 더 가독성이 좋아진 것을 볼 수 있습니다.


 

이번에는 옵션에서 날짜만을 클릭해 보도록 하겠습니다.

date 컬럼과 날짜는 동일한 값이 반환이 되는데 만약 날짜에 시분초가 있다면 아까 Date.From 함수처럼

날짜만 반환해 주게 됩니다.


 

이번에는 년( year )을 구하는 방법을 확인해 보도록 하겠습니다.

옵션을 보면 년 / 연초 / 연말 이렇게 3가지가 있는 것을 볼 수 있습니다.

 



해당 열 날짜의 년도를 반환
연초



해당 열 날짜 년도의 첫번째 날짜를 반환
연말


해당 열 날짜 년도의 마지막 날짜를 반환


 

이번에는 다양하게 월을 추가하는 방법을 알아보도록 하겠습니다.

기본적인 월의 형식
월의 시작
해당 월의 첫번째 날짜
월말
해당 월의 마지막 날짜
월간 일자
해당 월의 날짜 수
월 이름
월의 이름

이번에는 분기에 대해서 알아보도록 하겠습니다.

 

연간 사분기
11월이니 4분기가 반환
분기 시작
4분기 ( 10 ~ 12 )이니
시작 날짜는 10/1일
분기의 마지막 날짜
그럼 자연스럽게
마지막 날짜는 12/31일 

728x90

이번에는 주에 대해서 알아보도록 하겠습니다.

연간 주
해당 날짜의 주차를 알려 줍니다.
근데 무슨 요일 기준일까요?

일요일 기준으로 주가 변경되고 있습니다
월간 주
해당 월 기준 주차를 나타냅니다.
이것도 위와 같이 일요일 기준으로 변경됩니다
주초
첫주의 시작은 10월부터라서
10월부터 나오고 있습니다. 
주말
그럼 자연스럽게 주의 마지날 날짜 입니다.

마지막으로 요일에 대해서 알아보도록 하겠습니다.

날짜 반환
요일
요일을 숫자로 반환
( 0 : 일요일 ~ 6 : 토요일 )
연간 일자
1/1일부터 떨어진 날짜
요일 이름
요일을 숫자 반환 한 것을
문자로 표현

그럼 마지막으로 일반적으로 사용하는 테이블을 한번 만들어 보도록 하겠습니다.

원하는 항목을 추가하면 요일 테이블을 간단하게 만들 수 있습니다.

 

다양한 방법으로 나만의 날짜 테이블을 만들 수 있습니다.

 

728x90
반응형