파이썬에서 자기란 무엇인가: 실제 사례
파이썬에서 자기란 무엇인가: 실제 사례
새로 고침을 수행할 때마다 실습 데이터 세트를 업데이트된 상태로 유지하는 방법을 보여 드리겠습니다 . 이 블로그 하단에서 이 튜토리얼의 전체 비디오를 볼 수 있습니다.
정말로 DAX 기술을 향상시키고 싶다면 방법은 그것을 사용하고 실천하는 것입니다. 이를 위해서는 가능한 실제 시나리오를 시각화하고 작업하는 데 도움이 되는 실습 데이터 세트가 필요합니다.
실습 데이터 세트의 문제점은 데이터가 일반적으로 정적이라는 것입니다 . 효율적으로 연습하려면 데이터가 살아 있다는 인상을 주어야 합니다.
목차
실습 데이터 세트의 파일 경로 설정
내 샘플 데이터의 경우 2014, 2015 및 2016의 판매 데이터 가 포함된 Excel 파일이 있습니다 .
업데이트해야 하는 데이터입니다.
내 빠른 액세스 도구 모음에서 문서 위치를 찾을 수 있습니다.
내 파일 경로에 대한 매개변수를 설정하려면 이것이 필요합니다. 그래서 그 문서 위치를 복사하겠습니다.
오른쪽에 빠른 액세스 도구 모음에 대한 액세스 지점이 있습니다.
그걸 누르면 이런 화면이 뜹니다.
All Commands 로 이동한 다음 Document Location 을 선택합니다 . 빠른 실행 도구 모음 에 추가 하고 확인을 누릅니다.
이제 파워 쿼리 로 이동하여 내 파일 경로를 유지할 매개 변수를 만들겠습니다. 이 단계는 다른 사용자가 파일 위치를 변경할 경우 모델 내부의 모든 쿼리를 복원할 수 있기 때문에 중요합니다.
그래서 새 매개변수를 생성하겠습니다 .
FileLocation 이라고 부르겠습니다 .
유형에서 Text 를 선택하겠습니다 . 그리고 Current Value 에는 앞에서 복사한 문서 위치를 붙여넣습니다.
새로운 쿼리를 생성하겠습니다.
그런 다음 실습 데이터 세트로 사용할 샘플 데이터를 선택합니다.
2014년, 2015년 및 2016년의 판매 데이터가 있으므로 여기에 여러 가지 다른 테이블이 표시됩니다. 첫 번째 항목인 Sales_2014 를 선택하기만 하면 됩니다 .
Sales_2014 데이터를 선택했으므로 이제 하드 코딩된 파일 위치를 동적 파일 위치로 변경할 차례입니다 .
고급 편집기 로 이동하여 파일 위치와 관련된 모든 항목을 선택합니다 .
그런 다음 이전에 만든 FileLocation 매개 변수로 변경 합니다.
그런 다음 완료를 눌러 해당 변경 사항을 Sales_2014 쿼리에 잠급니다.
데이터 준비 폴더 만들기
Sales_2014 쿼리에 대한 적용된 단계 에서 탐색 단계를 클릭하겠습니다. 이는 소스 단계 를 참조함을 보여줍니다 .
또한 테이블 로 표시되는 Sales_2014를 참조합니다 . 또한 데이터 열에서 데이터를 추출하고 있음을 보여줍니다.
이제 소스 단계를 살펴보겠습니다 .
소스 단계는 내 Excel 파일에 있는 모든 것을 보여줍니다 . 해당 좌표를 확인하면 Sales_2014 가 표시되고 Kind 아래에 Table 이라고 표시됩니다 .
데이터 열을 조회하면 추출된 테이블 개체가 표시됩니다.
따라서 이 쿼리를 복제하여 2015년 데이터를 얻을 수 있습니다 . 그렇게 하려면 Sales_2014를 마우스 오른쪽 버튼으로 클릭한 다음 복제를 선택하면 됩니다.
그런 다음 내비게이션 단계로 돌아가겠습니다.
그 해를 2014년에서 2015년으로 바꾸겠습니다.
또한 속성 아래에서 이름을 바꿉니다. Sales_2015라고 하겠습니다.
이번에는 Sales_2015를 복제하겠습니다.
그런 다음 다시 탐색 단계로 돌아가 연도를 2016년으로 변경합니다.
이제 전체 판매 데이터가 있습니다. 그러나 이러한 쿼리는 내 모델에 로드되지 않아야 합니다 . 각각을 마우스 오른쪽 버튼으로 클릭하고 Enable load 를 선택 해제하기 만 하면 됩니다 .
이제 모든 쿼리를 선택하고 단일 폴더에 배치하여 더 체계적으로 만들겠습니다.
이 폴더를 Data Prep 이라고 부르겠습니다 .
일 오프셋 얻기
여기서 Data Prep 아래의 샘플 데이터는 정적입니다 . 즉, 첫 번째 날짜와 마지막 날짜는 절대 변경되지 않습니다 .
따라서 Sales_2016 으로 이동 하고 Order Date 열을 내림차순 으로 정렬하여 이 데이터 세트에서 마지막 날짜를 가져오 겠습니다 .
이 데이터 세트의 마지막 날짜는 2016년 12월 31일 입니다 .
이제 새 쿼리를 생성하겠습니다.
그런 다음 데이터 세트의 마지막 날짜부터 오늘까지의 Day Offset 이 무엇인지 확인하겠습니다 . 이것은 내가 오늘이 무엇인지 알아야 한다는 것을 의미합니다. 이를 위해 DateTime.FixedLocalNow 함수를 사용하겠습니다 . 이렇게 하면 작업 중인 컴퓨터의 날짜와 시간이 표시됩니다.
하지만 여기서 시간 부분은 실제로 필요하지 않습니다. 이 값의 날짜 부분만 필요합니다.
따라서 Date.From 을 사용하여 날짜를 추출 하겠습니다 .
그런 다음 해당 값에서 데이터 세트의 마지막 날짜를 뺍니다 . 데이터가 정적이므로 고유 날짜 값을 사용할 수 있습니다 . 이것이 #date이고 2016년 12월 31일을 참조합니다.
이제 이 차이에서 숫자를 추출 해야 합니다 . 그래서 Number.From을 추가 하고 괄호로 닫겠습니다. 그런 다음 Enter 키를 누릅니다.
이름을 DayOffset 으로 변경하겠습니다 .
동적 날짜 범위 설정
내 날짜 테이블에 대한 동적 날짜 범위도 필요합니다. Data Prep 폴더를 마우스 오른쪽 버튼으로 클릭하고 새 빈 쿼리를 만들어 시작하겠습니다.
그런 다음 내 날짜 테이블의 시작 날짜 에 대해 작업하겠습니다 .
저는 항상 1년 중 1일을 시작 날짜로 원합니다. 따라서 등호를 입력하고 Date.StartOfYear 함수를 사용하겠습니다 .
값을 지정해야 하므로 Date.AddDays 를 사용하여 값을 상쇄 하겠습니다 .
그런 다음 고유 날짜 값을 다시 사용하고 데이터 세트의 첫 번째 날짜 인 2014년 6월 1일을 사용합니다.
DayOffset 에서 계산한 일수도 필요하므로 추가하겠습니다.
Enter 키를 누르면 2017년 1월 1일이 표시됩니다 . 이것은 내 날짜 테이블의 첫 번째 날짜가 될 것입니다.
fxStartDate 로 이름을 바꾸겠습니다 .
이제 종료 날짜를 설정할 수 있습니다. 시작 날짜에 사용한 이 구문을 복사하겠습니다.
빈 쿼리를 새로 만들겠습니다.
그런 다음 이름을 fxEndDate 로 바꿉니다 .
그런 다음 Start Date 의 구문을 붙여넣 겠습니다 .
StartOfYear 대신 이것을 EndOfYear로 변경하겠습니다 .
또한 데이터 세트의 마지막 날짜 인 12월 31일 을 사용할 것입니다 .
Enter 키를 누르면 2020년 12월 31일을 반환합니다 .
단일 판매 테이블 만들기
3개의 테이블을 하나의 Sales 테이블로 결합 하겠습니다 . 이를 위해 새 쿼리를 만들겠습니다.
이것을 내 Sales 테이블 이라고 합니다 .
그런 다음 Sales_2014, Sales_2015 및 Sales_2016을 단일 테이블로 결합합니다.
리본을 통해 그렇게 할 수 있다는 것을 알고 있지만 수식 입력줄에서 직접 수행할 수 있는 옵션도 있습니다. 두 번째 옵션을 선택하겠습니다.
Table.Combine 부터 시작하겠습니다 .
Table.Combine에는 테이블 목록이 필요합니다 . 따라서 중괄호 인 목록 이니셜라이저를 추가한 다음 3개의 쿼리에 이름을 지정합니다 . 그 후 엔터를 누릅니다.
주문 날짜 열 변환
이제 필요한 대부분의 요소가 있으므로 나중에 동적 연습 데이터 세트를 완성하는 데 사용할 구문의 핵심 부분을 생성할 것입니다.
두 개의 숫자 열을 선택하여 시작하겠습니다. 배달 지역 색인 과 제품 설명 색인을 사용할 수 있습니다 . 결국 Shift 또는 Ctrl을 눌러 두 열을 모두 선택할 수 있습니다.
변환 탭 에서 절대값을 선택하겠습니다 .
수식 입력줄을 보면 Table.TransformColumns 함수가 표시됩니다. 이것이 최종 솔루션의 핵심입니다.
이 함수는 변환 목록 목록을 받습니다 . 보시다시피 여기에 서로 중첩된 2개의 목록이 있습니다.
열 이름을 텍스트로 참조합니다. 이것이 1세트에서 배송 지역 인덱스가 여기에서 참조된 이유입니다.
그런 다음 변환 단계를 추가합니다 .
제품 설명 인덱스 열에 대한 별도의 목록에서도 동일한 작업을 수행합니다 .
이제 Advanced Editor 로 이동하겠습니다 .
나는 절대값을 원하지 않는다 . 그래서 가장 먼저 할 일은 내 날짜를 상쇄하는 것 입니다 . 이를 위해 fxUpdateDate 라는 함수를 만들겠습니다 . cDate 로 입력할 현재 날짜를 사용합니다 .
그런 다음 cDate 도 사용하는 Date.AddDays 함수를 다시 사용하겠습니다 . 이전에 만든 DayOffset 도 사용하겠습니다 .
fxUpdateDate가 하는 모든 일은 날짜를 취하는 것입니다. 따라서 이를 Table.TransformColumns 함수 에 전달하면 기록된 각 날짜를 확인하기 시작합니다.
예를 들어 여기서 첫 번째 행에서 작업하는 경우 2014년 6월 1일을 cDate로 간주합니다.
그리고 함수가 호출될 때마다 내가 만든 DayOffset을 추가합니다.
이제 Table.Transform 단계가 Calculated Absolute Value 에 표시됩니다 .
먼저 이름을 바꾸고 UpdateOrderDate라고 부르겠습니다 .
이 UpdateOrderDate 단계에는 소스 와 동일한 내 Table.TransformColumns가 포함됩니다 .
나열된 초기 테이블은 Delivery Region Index 입니다 . 그러나 그것을 변형시킬 필요는 없습니다. 따라서 OrderDate 열로 참조되는 첫 번째 열을 변경하겠습니다 .
또한 여기에서 변환이 절대값이 될 것이라고 말합니다.
나는 그것을 원하지 않기 때문에 fxUpdateDate 로 변경하겠습니다 .
타입도 절대값이 아니므로 이 부분도 변경을 해줘야 합니다.
날짜 로 바꾸겠습니다 .
하나의 변환만 필요하므로 해당 세트와 함께 제공되는 변환 단계와 함께 두 번째 목록을 삭제 하겠습니다…
…따라서 OrderDate 열에 대한 하나의 변환일 뿐입니다.
Calculated Absolute Value에 대한 단계의 이름을 변경했기 때문에 in 문에서도 변경해야 합니다.
이제 UpdateOrderDate 도 표시됩니다 .
따라서 OrderDate 열은 이제 Table.TransformColumns 의 각 레코드에 대해 이 함수를 호출합니다 .
Order Date 열을 살펴보면 이것이 업데이트되었음을 알 수 있습니다.
내림차순으로 정렬하면 2020년 7월 7일이 현재 날짜로 표시됩니다.
별로 필요하지 않기 때문에 정렬 단계를 제거 하겠습니다 . 현재 날짜도 업데이트되었는지 확인하기 위해서만 그렇게했습니다.
M 코드를 사용한 시간 인텔리전스 적용
내 모델은 판매 데이터에 관한 것입니다. 시간 인텔리전스를 수행할 예정이므로 날짜 테이블이 필요합니다.
으로 이동하겠습니다 . M-code Showcase 에서 Extended Date Table 항목 으로 이동합니다 .
페이지 맨 위로 스크롤하여 전체 코드를 복사합니다 .
내 모델 로 돌아가서 새 빈 쿼리를 만들고 해당 M 코드를 에 붙여넣습니다 . 완료를 누릅니다.
해당 쿼리의 이름을 fxCalendar 로 변경하겠습니다 .
내 매개변수로는 StartDate 에 1월 1일을 사용하고 EndDate 에 1월 31일을 사용하겠습니다 . 그런 다음 호출을 누릅니다.
테이블이 나타나면 이름을 Dates 로 바꾸겠습니다 .
샘플 데이터 세트의 첫 번째 날짜를 확인하고 DayOffset으로 상쇄하여 시작 날짜와 종료 날짜를 이미 생성했음을 기억하십시오. 따라서 여기서 fxStartDate는 2017년 1월 1일로 표시됩니다 .
fxEndDate는 2020년 12월 31일을 반환합니다 .
날짜 테이블 로 돌아가 해당 소스 단계 도 업데이트할 수 있습니다.
호출된 순서대로 매개변수를 나열합니다. 첫 번째 매개변수는 시작일을 표시해야 합니다 .
fxStartDate 로 변경하겠습니다 .
두 번째 매개변수도 교체하겠습니다.
fxEndDate 를 입력하겠습니다 .
Enter 키를 누르면 변환이 완료됩니다. 이제 저는 항상 최신 상태로 유지될 완전히 최신 연습 데이터 세트를 갖게 되었습니다.
닫기 및 적용을 클릭하여 모든 단계를 잠급니다.
LuckyTemplates에서 동적 날짜 쿼리 테이블 만들기: 쿼리 편집기 자습서 확장 날짜 테이블 에서 오프셋 함수를 사용하여
파워 쿼리 날짜 테이블에 대한 동적 StartDate 및 EndDate 설정
결론
앞에서 언급했듯이 고유한 동적 연습 데이터 세트가 있으면 LuckyTemplates와 관련하여 확실히 게임 수준이 높아집니다. 실제 시나리오에서 작업하는 것처럼 가장하면서 기술과 지식을 연습할 수 있습니다.
특히 사용 중인 실습 데이터 세트에 대해 시작 날짜와 종료 날짜를 동적으로 만드는 방법에 대해 자세히 알아보려면 LuckyTemplates 포럼을 확인하세요. 이것뿐만 아니라 다른 관련 주제에 대해서도 많은 대화가 있습니다. 자신에게 맞는 다른 접근 방식을 찾을 수도 있습니다.
모두 제일 좋다,
여자 이름
파이썬에서 자기란 무엇인가: 실제 사례
R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.
이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.
이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.
이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.
LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.
LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.
이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.
지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.
LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것