티스토리 뷰

 

날짜 테이블 (2) – DAX 날짜 테이블

 

데이터를 시각화하거나 추세를 확인하려면 날짜 테이블이 대부분 있어야 합니다. 날짜 테이블은 여러 방법을 통해 구성할 수 있습니다. 여러 블로그나 강의 내용을 살펴보면 DAX로 날짜 테이블을 구성하는 것을 주제로 하는 경우가 많이 있는데, 왜 DAX로 날짜 테이블을 만들어야 하는지는 설명을 하고 있지 않습니다. 그런 상황 설명없이 DAX 날짜 테이블을 설명한다면 그게 제대로 가는 방향일까라는 의문이 듭니다. 또는 모기업의 담당자들은 DAX로 알려 달라고 합니다. 왜 DAX로 해야 하는지 본인들은 당연히 알고 있지 않습니다.

사실 저는 DAX로 날짜 테이블을 만들어야 하는 상황이 이해가 되지 않습니다. 그런 상황이 있을까 싶습니다.

 

날짜 테이블을 DAX로 생성하려면 여러 함수가 필요하지만 CALENDAR, CALENDARAUTO 함수를 통해 진행합니다.

Date1 = CALENDAR (DATE (2019, 1, 1), DATE (2023, 12, 31))

 

위 구문으로 새 테이블을 생성하면 Date 열로 날짜가 쭉 채워진 것을 알 수 있습니다. 월이름, 년도 등 열이 필요하므로 ADDCOLUMNS와 FORMAT, 날짜 함수(YEAR, MONTH, WEEK, QUARTER 등)를 통해 필요한 열을 추가하게 됩니다.

Date1 = ADDCOLUMNS(CALENDAR("2019-01-01","2023-01-01")

    , "OrderDate", FORMAT([Date], "YYYYMMDD")

    , "Week", WEEKNUM([Date])

    , "MonthName", FORMAT([Date], "mmmm")

    , "Quarter", FORMAT([Date], "Q")

    , "Year", YEAR([Date])

)

하지만 여러 블로그나 강의 내용에서 월이름이 영문으로 나오는 상황에 대해서는 언급이 없습니다. 그래서 그럼 ‘월’관련 날짜 DAX 함수를 한번 확인해보겠습니다. 날짜 필드에서 월(‘1월’, ‘2월’)을 뽑아내려면 FORMAT 함수의 사용자 지정 날짜/시간 형식을 이용할 수 있습니다.  

새 열을 아래와 같이 추가해서 확인해봅니다.

 

월숫자 = FORMAT([Date], "M")

월 = FORMAT([Date], "mmmm")

월ko-KR = FORMAT([Date], "mmmm", "ko-KR")

월de-DE = FORMAT([Date], "mmmm", "de-DE")

‘1월’, ‘2월’은 표시되지 않습니다. 동북아시아 권에서는 mmmm 대신 OOOO를 사용해야 합니다.

 

월이름 = FORMAT([Date1], "OOOO")

 

DAX 날짜 테이블에 대한 내용을 확인하면서 1월, 2월로 표시도 해보았습니다만 DAX로 날짜 테이블을 만드는 것은 거의 불필요한 작업이라고 생각되며, 다음 글에서 날짜 테이블을 구성하는 내용을 다루겠습니다.

댓글