본문 바로가기
POWER BI

[POWER BI/파워비아이] DAX를 이용한 날짜 계산 - 연/월/주/일

by 하니in독일 2024. 11. 26.
반응형

 

안녕하세요? 오늘은 DAX를 이용한 날짜 계산법에 대해 좀 더 자세히 알아보도록 하겠습니다. DAX를 이용하면, 날짜 계산을 이용해 12개월, 6개월, 3개월의 롤링 평균, 이동평균 등을 계산할 수 있습니다. 이러한 계산을 위해 이해해야 하는 몇 가지 DAX 계산법이 있는데요. 

 

기본적인 DAX 날짜 테이블을 만드는 방법 아래의 포스트를 참고해 주세요. 

2024.09.07 - [POWER BI] - [POWER BI] 6. DAX를 이용해 날짜 관련한 계산을 해 봅시다!

 

[POWER BI] 6. DAX를 이용해 날짜 관련한 계산을 해 봅시다!

보고서를 만들 때 사람들이 가장 보고 싶어 하는 시각화의 형태를 꼽으라면 "트렌드 차트 (Trend Chart)"라고 할 수 있습니다. 트렌드 차트는 시간의 흐름에 따라 데이터의 변화를 시각적으로 보

hannisalltagsabenteuer.tistory.com


1. 연도 (YEAR 관련) 계산법

1. YEAR: 날짜에서 연도 값을 추출합니다.

YEAR(<Date>)

YEAR(TODAY())는 현재 연도를 반환합니다.


2. ENDOFYEAR: 특정 연도에 해당하는 마지막 날짜를 반환합니다.

ENDOFYEAR(<Date>)

 

ENDOFYEAR(TODAY())는 현재 연도의 마지막 날(12월 31일)을 반환합니다.


월 (MONTH 관련) 계산법

1. MONTH: 날짜에서 월 값을 추출합니다.

MONTH(<Date>)

MONTH(TODAY())는 현재 월을 반환합니다.

 

2. STARTOFMONTH: 특정 월의 시작 날짜를 반환합니다.

STARTOFMONTH(<Date>)

 STARTOFMONTH(TODAY())는 현재 월의 첫날을 반환합니다.

 

3. EOMONTH: 특정 월의 마지막 날짜를 반환합니다. 

EOMONTH(<Date>, Months)

EOMONTH(TODAY(),0)은 현재 월의 마지막 날을 반환합니다. 


3. 주 (WEEK 관련) 계산법

1. WEEKDAY: 날짜의 요일 값을 반환합니다.

WEEKDAY(<Date>, <Return_type>)


Return_type에 따라 요일 시작을 지정할 수 있습니다. 

예) WEEKDAY(TODAY(), 2)는 월요일을 시작 요일로 하여 오늘의 요일 값을 반환합니다.

2. WEEKNUM: 해당 날짜가 몇 번째 주인지 반환합니다.

WEEKNUM(<Date>, <Return_type>)

 

예) WEEKNUM(TODAY(), 2)는 현재 날짜가 몇 번째 주에 속하는지 반환합니다. Return_type으로 시작 요일을 지정할 수 있습니다. RETURN_TYPE은 아래의 표에서 예시로 알 수 있습니다. 

출처: https://learn.microsoft.com/en-us/dax/weeknum-function-dax



3. STARTOFWEEK: 주의 시작 날짜를 반환합니다.

STARTOFWEEK(<Date>, <Return_type>)

예) STARTOFWEEK(TODAY(), 2)는 이번 주의 시작 날짜(월요일 기준)를 반환합니다.


일 (DAY 관련) 계산법

1. DAY: 날짜에서 일(day) 값을 추출합니다.

DAY(<Date>)

예) DAY(TODAY())는 현재 날짜의 일(day) 값을 반환합니다.


2. TODAY: 오늘의 날짜를 반환합니다.

TODAY()

예) TODAY()는 오늘의 날짜를 반환하여 여러 계산에 사용할 수 있습니다.

3. NOW: 현재 날짜와 시간을 반환합니다.

NOW()

 

예) NOW()는 현재 날짜와 시간을 반환합니다.


위의 계산식을 가지고 다음과 같은 계산을 해 볼까요? 

 

1. 이번 연도의 마지막 날 구하기 | 힌트: ENDOFYEAR,TODAY
정답: ENDOFYEAR(TODAY())


2. 이번 주의 시작일 구하기 (월요일 기준) | 힌트: STARTOFWEEK, Return_Type
정답: STARTOFWEEK(TODAY(), 2)

3. 다음 달의 첫날 구하기 | 힌트: EOMONTH, +1
정답: EOMONTH(TODAY(), 0) + 1


오늘은 날짜를 계산할 수 있는 다양한 DAX 표현에 대해 알아보았습니다. 다음 시간에도 좀 더 복잡하고, 다양한 날짜 계산 식에 대해 알아보도록 할게요! 

 

https://www.tistory.com/event/write-challenge-2024

 

작심삼주 오블완 챌린지

오늘 블로그 완료! 21일 동안 매일 블로그에 글 쓰고 글력을 키워보세요.

www.tistory.com

 

반응형