파이썬에서 자기란 무엇인가: 실제 사례
파이썬에서 자기란 무엇인가: 실제 사례
일부 날짜가 계산되지 않은 환율 테이블을 처리하는 방법을 보여 드리겠습니다 . 요일은 주말이나 공휴일이 될 수 있습니다.
이는 때때로 문제가 되지 않을 수 있습니다. 특히 보고서를 준비 중인 비즈니스가 주말과 공휴일에 문을 열지 않는 경우에는 더욱 그렇습니다. 하지만 그럴 경우 월말에 총계가 잘못될 수 있습니다.
누락된 데이터를 처리하는 방법을 알면 여러 통화가 사용되는 경우 판매를 공정하게 비교할 수 있습니다. 예를 들어 통화 가치가 하락하여 총 매출이 감소하고 있다고 생각하는 날이 있을 수 있습니다. 실제로는 주어진 기간의 모든 날짜를 고려하지 않기 때문에 총 판매액이 낮을 수 있습니다.
이 예에서는 사용 가능한 마지막 환율을 사용하여 누락된 날짜에 사용하여 공간을 채울 것입니다. 이 블로그 하단에서 이 튜토리얼의 전체 비디오를 볼 수 있습니다.
목차
환율 테이블에 주어진 데이터
아래는 환율 테이블 인 팩트 테이블입니다 . 유로를 기준통화로 사용합니다 .
2016년 1월의 데이터를 매일 관련된 Crossrate 와 함께 보여줍니다.
1월 1일부터 모든 것이 좋아 보입니다. 하지만 26일을 쳤을 때 다음 행의 다음 날짜는 29일입니다.
이는 27일과 28일의 데이터가 누락되었음을 의미합니다 .
일부는 이 상황을 처리하기 위해 파워 쿼리를 사용하는 것을 선호할 수 있습니다. 지금은 DAX에 집중하고 싶습니다.
이제 27일과 28일에 0.920을 사용하고 싶다고 가정해 보겠습니다. 26일 사용된 크로스레이트입니다. DAX를 사용하여 어떻게 합니까?
Excel에서 쉽게 수행할 수 있다고 말하는 사람도 있습니다. 그들은 어느 정도 옳을 수 있습니다.
그러나 LuckyTemplates가 Excel보다 우위에 있는 점은 무엇이든 다시 실행하거나 변경할 필요 없이 다양한 관점에서 데이터를 자세히 살펴볼 수 있는 기능입니다. 이는 Excel에서 일어날 가능성이 높습니다.
고려해야 할 모든 조치와 환율 표에서 누락된 데이터를 처리하기 위해 취할 수 있는 다양한 단계를 보여드리겠습니다.
환율 측정
먼저 메인 테이블을 보여드리겠습니다. 나는 여기에 유로 에 대한 날짜 및 환율을 포함하여 일부 데이터를 이미 가지고 있습니다 .
이 경우 환율은 단순히 함수를 사용합니다.
하루에 하나의 환율을 다루기 때문에 SUM , , 또는 이와 유사한 기능을 사용하기 쉽습니다 . 행당 표시되는 데이터는 완전히 이해될 것입니다.
여기서 유일한 문제는 Total 에 일어날 일입니다 .
이것은 합계가 26.693으로 표시되며 전혀 의미가 없습니다. 말 그대로 모든 날짜의 환율을 합산한 것입니다. 이 때문에 실제 Total 을 얻기 위해 며칠 동안 반복하는 방법을 찾아야 합니다 .
그래서 이를 해결하기 위해 통화 날짜 측정값을 살펴보겠습니다 .
현재 날짜 측정
개인적으로 저는 항상 Current Filter 컨텍스트 에서 현재 날짜를 가져오는 현재 날짜 측정을 만듭니다 .
나는 또한 사용하는 것을 선호합니다 . 이 예에서 MAX 함수를 사용하면 총계에서 1/31을 얻을 수 있습니다. 이는 주어진 마지막 날짜이므로 더 의미가 있습니다.
마지막 통화 날짜
내 테이블에는 Last Currency Date 도 포함되어 있습니다 . 함수를 사용하고 FactCurrencyRates 및 Date 테이블을 참조하여 이를 얻습니다 .
이것은 LASTDATE 함수를 보여주지만 MAX 를 사용할 수도 있습니다 . 이는 현재 날짜 테이블 과 동일한 전제를 사용 하지만 환율 테이블 과 관련하여 특정 시점을 제공합니다 .
아래로 스크롤하면 해당 월의 27일과 28일에 대한 데이터가 없음을 알 수 있습니다.
누락된 일수를 해결하기 위해 마지막으로 보고된 통화 날짜 열에 대해 이야기하겠습니다 .
마지막으로 보고된 통화 날짜
마지막 보고된 통화 날짜는 누락된 날짜에 사용할 환율을 결정합니다. 개념은 마지막으로 보고된 환율이 누락된 데이터가 있는 날에 사용되는 환율과 동일하다는 것입니다 .
27일과 28일 모두 데이터가 없기 때문에 26일 데이터가 적용된다.
우리의 예는 마지막으로 보고된 통화 날짜가 반드시 이전 날짜가 아닐 수도 있음을 보여줍니다. 27일에 대한 데이터도 없기 때문에 28일에 사용할 환율을 알아내려면 26일로 돌아가야 합니다.
이 작업이 수행된 방법을 보여주는 측정으로 이동하기 전에 여기서 모든 것은 필터 작동 방식의 맥락에서 발생한다는 점을 기억하십시오. 어떤 특정 데이터에 집중하고 싶은지 생각해야 합니다.
나는 그 달의 27일 행에 있기 때문에 필터 참조를 제거하고 대신 26일에 집중하고 싶습니다. 이는 또는 가져오는 것을 의미합니다 . 적용된 필터를 수정할 수 있기 때문입니다. 데이터를 더 제한할 수 있는 함수 와 혼동하지 마십시오 .
마지막으로 보고된 통화 날짜 에 사용한 측정값은 다음과 같습니다 . 이 예에서는 CALCULATE를 사용했습니다 .
저는 항상 가능한 한 많은 변수를 찾으려고 노력합니다. 변수 는 자신이 정의된 위치의 값을 가지 므로 각 변수의 범위를 살펴보기만 하면 됩니다 .
이 경우 어떤 함수를 사용하든 이 변수가 변경되지 않는다는 것을 알고 있기 때문에 현재 날짜를 사용하겠습니다 .
이 변수를 찾는 데 필수는 아닙니다. 측정에 사용할 모든 변수의 범위를 확인할 수 있는 습관일 뿐입니다.
측정값으로 돌아가서 현재 날짜 에 대한 필터를 제거하고 마지막으로 기록된 통화 날짜를 제공하도록 DAX에 지시하려면 어떻게 해야 합니까 ?
(DimDate) 테이블 에 FILTER를 사용하겠습니다 .
ALL 함수 는 적용된 필터를 제거하여 사용할 DimDate 테이블을 엽니다.
그런 다음 MIN을 사용하여 Last Currency Date 또는 Current Date와 같은 DimDate 열의 일부를 사용하고 싶다고 DAX에 알립니다 .
마지막 통화 날짜 와 현재 날짜가 같지 않으면 어떻게 됩니까 ? 그런 다음 항상 마지막 통화 날짜를 사용하십시오 .
이것이 1/26과 1/27 사이에 측정이 1/26이 되는 이유입니다. 여기에서 환율 테이블 에 올바른 날짜가 적용되어 마지막으로 보고된 환율을 얻을 수 있습니다 .
마지막으로 보고된 환율
마지막으로 보고된 환율을 내 테이블로 드래그하겠습니다 .
27일과 28일은 26일에 사용된 환율 과 동일하므로 현재 0.9200을 환율로 사용하고 있음을 알 수 있습니다 .
아래는 마지막으로 보고된 환율 에 사용한 측정값입니다 .
다시 말하지만 저는 항상 몇 가지 변수를 정의하는 것으로 시작합니다. 이 경우에는 Currency Selected 및 Last Reported Currency Date 를 사용하고 있습니다 .
여기서는 다른 통화를 다루기 때문에 선택한 통화를 사용하겠습니다 . 그렇기 때문에 주어진 시간에 어떤 특정 통화가 평가되고 있는지 정확히 지적해야 합니다.
이 예에서는 주어진 슬라이서를 사용하여 다양한 통화에 액세스할 수 있습니다.
물론 사용 중인 슬라이서일 필요는 없습니다. 테이블이나 시각적 개체에서 나올 수도 있습니다. 중요한 것은 데이터를 다른 통화로 볼 수 있는 필터가 있다는 것입니다.
LastReportedDate 는 앞서 이야기한 Last Reported Currency Date 와 동일합니다 .
Rate 변수 의 경우 함수를 사용했습니다 .
CurrencyRates 에 대한 팩트 테이블에서 Crossrate를 가져오고 있습니다 .
하나의 테이블에 많은 통화가 있기 때문에 날짜를 단일 기준점으로 사용할 수 없습니다. 올바른 통화와 올바른 날짜의 조합이어야 합니다.
이것이 제가 통화 시세 표시기가 통화 선택 됨을 참조하는 이유입니다 .
또한 LastReportedDate 를 참조하고 있습니다 .
그렇기 때문에 테이블을 보면 29일로 점프하기 전에 26일을 세 번 표시합니다.
마지막 보고된 요율과 현재 날짜를 사용한 변환된 판매
이제 최종 보고된 환율을 사용하여 매출을 변환하는 작업이 진행 중입니다 .
기본적으로 이 측정값은 이 Last Reported Currency Rate를 사용하여 Base Measure 를 곱합니다 . 이 경우에는 Total Sales 입니다 .
해당 측정값이 적용되면 이 두 날짜가 비어 있는 것을 볼 수 있습니다. 즉, 이 날짜에는 판매가 없습니다 .
또한 27일과 28일(이전에는 통화 데이터가 없었음)에 판매가 있는 것으로 나타났습니다.
마지막으로 보고된 환율을 참조했기 때문에 이 숫자는 유로로 변환되었습니다.
이번에는 현재 날짜를 사용하여 환산한 매출을 보여드리겠습니다 .
이번에는 마지막 보고 날짜를 고려 하지 않고 현재 날짜 만 봅니다 .
다른 열의 테이블에 해당 측정값을 입력하면 27일과 28일에만 공백이 표시됩니다.
Last Report Rate를 사용한 것과 Current Date를 사용한 변환된 매출을 비교하면 Total 이 큰 차이를 보입니다.
최종신고일 환산매출액이 총 400만건 이상인 데 반해 현재 일 환산매출액은 총 380만건에 불과하다.
그렇기 때문에 어떤 변수를 사용하고 있는지 이해하는 것이 매우 중요합니다. 총계를 보면 유로가 큰 타격을 받아 가치가 하락한 것처럼 보입니다. 그러나 실제로 Total이 감소한 것은 Currency Rates 테이블의 설명되지 않은 데이터 때문입니다.
데이터 정리
이제 누락된 데이터를 입력했으므로 테이블을 정리하겠습니다.
유로화로 숫자를 명확하게 표시하는 형식화된 판매 열을 여기에 추가했습니다 .
이렇게 많은 단계를 거치다 보니 여기에 꽤 많은 칼럼이 쌓였습니다.
그러나 이들 모두가 데이터를 제시하는 데 필요한 것은 아닙니다. 계속해서 값 창 에서 제거하여 제거하겠습니다 .
그것들이 제거되면 필요한 데이터만 표시되는 깔끔한 테이블이 됩니다.
여기 오른쪽에 있는 슬라이서를 사용하여 여전히 통화를 변경할 수 있습니다.
테이블을 더 철저하게 만들기 위해 단일 선택 옵션 을 해제하여 다른 모든 통화를 추가하겠습니다 .
이렇게 하면 USD, 유로 및 영국 파운드로 내 숫자가 표시됩니다.
판매가 없는 날을 나타내는 빈 공간도 보입니다.
" 데이터가 없는 항목 표시 " 를 꺼서 제거하겠습니다 .
이제 테이블에는 판매 날짜를 나타내는 행만 포함됩니다.
이것은 서로 다른 통화를 기반으로 한 숫자를 잘 비교할 수 있게 해줍니다.
사용하여 각 행을 반복했기 때문에 총계에도 올바른 숫자가 표시됩니다 .
이건 매우 중요합니다. SUMX 를 사용하지 않으면 올바른 환율이 사용되고 있는지 여부를 고려하지 않고 모든 열을 추가하는 것으로 끝납니다.
LuckyTemplates에서 통화 변환 테이블 만들기
LuckyTemplates에서 다중 통화 논리 –
DAX를 사용하여 LuckyTemplates에서 통화 형식을 지정하는 LOOKUPVALUE 예제
결론
앞서 언급했듯이 이것이 반드시 누락된 데이터를 처리하는 유일한 방법은 아닙니다. 실제로 이를 수행하는 다른 방법이 많이 있습니다.
예를 들어 경우에 따라 월초의 데이터를 사용하고 전체 환율 테이블에 동일한 숫자를 적용할 수 있습니다. 앞으로 별도의 블로그에서 이러한 다른 접근 방식에 대해 논의할 것입니다.
지금은 Last Reported Rate를 사용하는 것이 가장 적합하기 때문에 이 접근 방식을 사용했습니다. 가장 직관적인 옵션이라고 생각합니다.
또한 강조하고 싶은 한 가지는 필터 컨텍스트에서 모든 것을 이해할 필요가 있다는 것입니다. 필터를 어떻게 덮어씁니까? 마지막으로 보고된 데이터를 어떻게 가져오나요? 이것들은 결국 올바른 숫자를 얻는 방법을 이해하는 데 도움이 될 것입니다.
모두 제일 좋다,
파이썬에서 자기란 무엇인가: 실제 사례
R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.
이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.
이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.
이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.
LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.
LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.
이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.
지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.
LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것