DAX 및 파워 쿼리를 사용하여 LuckyTemplates 이전 주 값 가져오기

DAX 및 파워 쿼리를 사용하여 LuckyTemplates 이전 주 값 가져오기

LuckyTemplates에서 이전 기간 값을 검색하는 것은 일반적인 작업이지만 이전 주 값을 검색하려면 특별한 주의가 필요합니다. 이 자습서에서는 도구 상자에 유용한 추가 항목이 될 수 있는 LuckyTemplates의 이전 주 값을 얻기 위한 두 가지 간단하고 다양한 방법(하나는 DAX를 사용하고 다른 하나는 파워 쿼리를 사용)에 대해 설명합니다. 이 블로그 하단에서 이 튜토리얼의 전체 비디오를 볼 수 있습니다.

이 튜토리얼은 LuckyTemplates 회원에게서 받은 질문에서 가져왔습니다. 회원은 지난주 번호를 결정하는 가장 쉬운 방법이 무엇인지 물었습니다. 이것은 내가 만나는 일반적인 질문입니다. 매우 간단해 보이지만 파고들수록 처리해야 할 것이 상당히 많다는 것을 깨닫게 됩니다.

목차

LuckyTemplates의 이전 주 값: 문제

주 번호를 보면 52주가 있습니다. 여기에 7일(일주일)을 곱하면 364가 됩니다. 따라서 매년 하루가 추가되고 윤년에는 2일이 추가됩니다. 이 1~2일은 결국 많은 문제를 야기합니다.

날짜 테이블에서 측정값을 만들어 보겠습니다. MAX Week # (숫자) 라고 하겠습니다 . 이 분석에서는 LuckyTemplates Extended Dates Table을 사용하고 있습니다. 이것은 매우 유용한 ISO Weeknumber 를 가지고 있습니다. 이제 ISO Weeknumber의 MAX를 살펴보겠습니다.

DAX 및 파워 쿼리를 사용하여 LuckyTemplates 이전 주 값 가져오기

이제 테이블을 가져와 YearMAX Week #를 드롭해 보겠습니다 . 이 데이터 세트에는 10년의 데이터가 있으며 처음 2년은 52주입니다. 그런 다음 2년은 53주, 3년은 52주, 그리고 2년은 53주, 1년은 52주입니다.

DAX 및 파워 쿼리를 사용하여 LuckyTemplates 이전 주 값 가져오기

여기에는 실제로 식별할 수 있는 패턴이 없습니다. 돌아가서 한 해는 52주가 될 것이고 다른 해는 53주가 될 것이라고 예측하는 것은 쉽지 않습니다.

DAX 시간 인텔리전스 함수에 익숙한 경우 다음으로 생각할 수 있는 것은 지정된 기간만큼 날짜 범위를 뒤로 이동하는 DATEADD 함수를 사용하는 것입니다. 일, 월, 분기 및 연도에 대해 정말 잘 수행하지만 주를 포함하지 않으므로 이를 수행하는 다른 방법을 찾아야 합니다.

우리가 사용하고 있는 LuckyTemplates Extended Dates Table에서 Melissa(LuckyTemplates 전문가 중 한 명)는 OFFSETS 라는 함수를 포함했습니다 . DAX 관점에서 이 문제를 해결하는 데 절대적으로 중요하므로 이 함수에 대해 자세히 살펴보겠습니다.

현재 기간(예: 이 튜토리얼을 작성하는 기간인 1월 20일)을 보면 오프셋이 0 이라는 것을 알 수 있습니다 . 오프셋이 작동하는 방식은 현재 기간 동안 오프셋이 0이 되는 것입니다.

현재 주 이전 주는 음수 1이고 현재 주 이전 2주는 음수 2입니다. 그런 다음 양수에서 앞으로 이동합니다. 다음 주에 1, 2주에 2 등.

DAX 및 파워 쿼리를 사용하여 LuckyTemplates 이전 주 값 가져오기

오늘 날짜를 기준으로 보고서를 열 때마다 오프셋이 계산됩니다. 이것은 매우 강력하며 이제 오프셋을 사용할 때 이 LuckyTemplates 이전 주 번호와 같은 일부 어려운 문제를 해결하는 것이 얼마나 쉬운지 보여드리겠습니다.

DAX를 사용하여 이전 주에 LuckyTemplates 얻기

새 측정값을 만들고 이름을 Previous Wk # 로 지정하겠습니다 . 우리는 변수( SelWkOffset )로 시작할 것입니다. 여기에서 WeekOffsetSELECTEDVALUE 를 수행할 것입니다 . 따라서 현재 행에서 해당 WeekOffset을 그려 변수에 넣을 것입니다.

다음 변수는 Result 입니다 . 이것이 우리가 원하는 궁극적인 결과이며 컨텍스트를 전환할 것이기 때문에 CALCULATE를 사용할 것입니다 .

그런 다음 MAX ISO Weeknumber가 필요하며 이러한 필터 조건이 적용됩니다. 따라서 Dates 테이블에서 모든 필터를 제거하므로 여기서는 ALL을 사용합니다 . 날짜 슬라이서가 있는 경우 ALLSELECTED 를 사용하고 싶을 수 있지만 지금은 사용하지 않으므로 ALL을 사용하여 해당 날짜 테이블에서 필터를 제거할 것입니다.

그런 다음 WeekOffset이 SelWkOffset에서 1을 뺀 것과 같을 것이라고 말할 것입니다 . 이것은 OFFSETS가 매우 강력해지는 곳입니다. Weeknumber - 1은 매년 재설정되기 때문에 사용할 수 없습니다. 그러나 ALL OFFSETS는 순차적이므로 이전 연도를 찾고 각 이전 연도에 대해 1씩 빼는 것처럼 처리할 수 있습니다. 따라서 이 오프셋은 연속된 숫자와 같은 방식으로 작동합니다.

이제 해당 필터 조건을 제거하고 닫고 CALCULATE를 닫고 Result RETURN 할 수 있습니다 .

DAX 및 파워 쿼리를 사용하여 LuckyTemplates 이전 주 값 가져오기

이제 이 측정이 어떻게 작동하는지 살펴보겠습니다. 아래 표에서 우리가 원하는 대로 정확히 수행되고 있음을 확인할 수 있습니다. 다음 해의 기간 1에 대한 52주차에서 이전 주는 52주입니다. 그런 다음 각 기간마다 뒤로 물러납니다. 이런 식으로 계속됩니다.

DAX 및 파워 쿼리를 사용하여 LuckyTemplates 이전 주 값 가져오기

이제 오프셋이 없는 경우 어떻게 합니까?

데이터 웨어하우스에서 가져온 회사 날짜 테이블로 작업 중이고 이러한 오프셋이 포함되어 있지 않다고 가정해 보겠습니다. 파워 쿼리에서 보여주고 싶은 기술이 있습니다. 내가 처음 본 것은 Imke Feldmann의 블로그 항목이었습니다.

이 접근 방식은 테이블을 오름차순으로 주문할 수 있고 오프셋이 필요하지 않은 모든 상황에서 정말 잘 작동합니다. 날짜 필드가 없어도 됩니다. 완전히 다른 유형의 테이블이 될 수 있습니다. 오름차순으로 정렬할 수 있는 한 이 기술을 사용할 수 있습니다.

따라서 이 Dates Raw 테이블을 참조하고 이를 Dates 라고 하겠습니다 . 그런 다음 이를 오름차순으로 정렬 합니다 .

DAX 및 파워 쿼리를 사용하여 LuckyTemplates 이전 주 값 가져오기

다음으로 주별로 그룹화 하고 싶습니다 . 그 이유는 두 개의 인덱스 열을 추가할 것이기 때문입니다. 이러한 인덱스 열을 추가할 때 일 단위 가 아닌 주 단위 로 열을 추가하려고 합니다 .

DAX 및 파워 쿼리를 사용하여 LuckyTemplates 이전 주 값 가져오기

다음으로 해당 인덱스 열을 추가하려고 합니다. 여기서 중요한 것은 우리가 추가할 첫 번째 인덱스가 0 기반 인덱스가 될 것이라는 점입니다. 그런 다음 1 기반 인덱스인 두 번째 인덱스를 추가할 것입니다.

DAX 및 파워 쿼리를 사용하여 LuckyTemplates 이전 주 값 가져오기

그런 다음 이 열을 가져오고 테이블을 자체에 병합할 것입니다 . 두 개의 서로 다른 인덱스 열을 기반으로 병합할 것입니다. 그것은 우리에게 행의 이동을 줄 것입니다.

따라서 이것을 가지고 첫 번째를 0 기반 인덱스와 1 기반 인덱스로 병합하면 522 행에서 521과 일치합니다. 이것이 바로 두 번째 테이블이 1에서 시작하기 때문에 0 인덱스를 선택하지 않을 것이기 때문에 우리가 기대하는 것입니다.

DAX 및 파워 쿼리를 사용하여 LuckyTemplates 이전 주 값 가져오기

그런 다음 ISO Weeknumber를 사용하여 이를 적절하게 확장합니다.

DAX 및 파워 쿼리를 사용하여 LuckyTemplates 이전 주 값 가져오기

그것은 우리에게 지난 주 번호를 제공합니다. 이제 원래 그룹화를 확장하고 WeekEnding 필드와 원래 ISO 주 번호를 제거하여 중복되지 않도록 합니다.

DAX 및 파워 쿼리를 사용하여 LuckyTemplates 이전 주 값 가져오기

이를 표로 나타내면 DAX 기법을 사용한 것과 정확히 같은 결과임을 알 수 있습니다. DAX 측정과 똑같이 작동하지만 이 경우에는 오프셋을 사용할 필요가 없었습니다.

DAX 및 파워 쿼리를 사용하여 LuckyTemplates 이전 주 값 가져오기

결론

이것은 이전 주 번호를 찾는 매우 다양한 방식의 두 가지 다른 방법입니다. 첫 번째 기술에서는 오프셋의 힘을 볼 수 있습니다. 그렇지 않으면 어려운 계산이 될 수 있지만 매우 간단합니다. 두 번째 기법은 DAX 측정과 똑같이 작동하지만 이 경우에는 오프셋을 사용할 필요가 없었습니다.

이 튜토리얼이 도움이 되었기를 바랍니다. 아래에서 전체 비디오 자습서를 시청하고 더 유사한 콘텐츠에 대한 관련 링크를 확인할 수 있습니다.

건배!


파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

R에서 RDS 파일을 저장하고 로드하는 방법

R에서 RDS 파일을 저장하고 로드하는 방법

R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.

LuckyTemplates의 컨텍스트 필터링 소개

LuckyTemplates의 컨텍스트 필터링 소개

이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.

LuckyTemplates를 사용한 비즈니스 보고

LuckyTemplates를 사용한 비즈니스 보고

지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것