SharePoint의 계산된 열 | 개요
SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.
이 자습서에서는 LuckyTemplates에서 통화 변환을 위해 파워 쿼리를 사용하는 방법을 알아봅니다. 이 블로그 하단에서 이 튜토리얼의 전체 비디오를 볼 수 있습니다.
이 블로그에서 설명하는 방법은 사용 가능한 마지막 환율을 사용하여 환율 테이블의 문제를 해결하는 데 도움이 됩니다.
환율표에 매일 환율이 표시되지 않을 때 문제를 해결하는 방법을 이해하게 될 것입니다.
목차
누락된 데이터 식별
이 문제는 날짜 테이블에 휴일이나 주말에 대한 데이터가 없는 경우에 발생할 수 있습니다.
요율이 없고 고려하지 않은 경우 총 판매액과 같은 지표는 변환되지 않습니다.
이 환율표를 보면 2016년 1월 환율이 유로로 표시되어 있습니다.
그러나 27일과 28일은 누락되었으며 요율이 없습니다. 따라서 매트릭스로 이동하면 27과 28에 대한 비율이 없음을 알 수 있습니다.
측정값이 누락된 통화 비율은 사실 통화 비율 테이블의 합계입니다.
테이블의 총 26.6983은 의미가 없습니다. 그것은 현재 날짜에 있기 때문에 합산할 필요가 없는 그 위에 있는 모든 환율의 합일 뿐입니다.
이제 이것은 쿼리 및 집계와 관련된 데이터 모델링 문제에 가깝기 때문에 파워 쿼리 에서 수정할 수 있습니다. 이 작업은 DAX로도 수행할 수 있지만 LuckyTemplates의 파워 쿼리를 사용하면 더 쉽고 빠릅니다.
따라서 데이터 변환 을 클릭한 다음 파워 쿼리 창을 엽니다.
누락된 데이터가 있는 테이블입니다. 이 환율표에서 유로, 파운드 및 달러가 포함된 것을 볼 수도 있습니다.
그리고 이것은 1월 27일과 28일에 값이 있는 최종 테이블입니다. 이것은 가지고 있어야 하는 테이블 또는 출력입니다.
데이터를 가져오는 모든 소스에서 데이터를 가져오고 데이터 유형을 변경하기만 하면 됩니다.
다른 통화 분리
다음으로, 둘 이상의 통화가 있는 경우 시세 표시기로 구분하고 그룹화하는 것이 중요합니다.
예를 들어 유로를 클릭하면 환율이 유로로만 표시되도록 그룹화할 때 모든 행에서 그룹화해야 합니다.
여기에는 파운드 통화뿐만 아니라 누락된 날짜도 있음을 알 수 있습니다.
LuckyTemplates에는 Invoke Custom Function 이라는 것이 있습니다 . 이것은 FillMissingRates가 있는 함수입니다.
유로를 클릭하면 확장된 테이블에서 보았던 누락된 데이터가 포함된 전체 테이블이 표시됩니다. 가장 오래된 요율부터 최신 요율 순으로 정렬됩니다.
사용자 지정 함수가 수행하는 작업을 파악합니다. Invoke Custom Function 근처의 톱니바퀴 아이콘을 클릭하면 All 컬럼을 끌어오고 있는 컬럼 이름과 소스를 확인할 수 있습니다.
그렇게 하려면 기본 테이블부터 시작하십시오. 변환을 수행하고 원하는 결과를 얻은 다음 이를 사용하여 함수를 빌드합니다. 다른 모든 하위 테이블이 있는 테이블에서 수행하려고 시도하는 것보다 더 의미가 있습니다.
예를 들어 유로화에 초점을 맞추려면 시세 표시기로 필터링하십시오.
누락된 날짜를 확인하려면 날짜 테이블과 병합하십시오.
다음은 필터링된 기본 통화 테이블과 DimDate 테이블입니다.
Join Kind의 경우 Full Outer를 사용하여 두 테이블의 모든 행을 가져올 수 있습니다. 이것은 누락된 항목과 일치하는 요율을 보여줍니다.
병합하면 전체 테이블이 하위 테이블로 제공됩니다.
그런 다음 행을 정렬한 다음 날짜 열만 포함하도록 DimDate를 확장합니다.
이제 모든 것이 일치하는 것을 볼 수 있습니다. 그리고 가장 오래된 순서로 행을 정렬하면 null 값이 있는 누락된 2일도 볼 수 있습니다.
누락된 요율 채우기
Date.1을 제외한 모든 열의 모든 null을 채울 것이기 때문에 이 순서대로 배열하는 것이 중요합니다.
입력하고 나면 null 값이 유로 및 마지막으로 사용 가능한 환율로 변경된 것을 볼 수 있습니다.
그런 다음 테이블에서 Date 열과 같은 불필요한 열을 제거합니다.
Date.1 열에는 이미 날짜가 있으므로 날짜 열은 필요하지 않습니다. 그런 다음 Crossrate를 십진수로 설정합니다.
마지막으로 열을 재정렬하고 이름을 바꾸고 데이터 유형이 설정되었는지 확인합니다.
이제 완전한 환율표가 생겼습니다.
그러나 이것은 이 테이블에서만 작동합니다. 통화가 그룹화된 테이블에 동일한 논리를 적용하는 방법을 찾아야 합니다.
모든 통화 병합
통화가 다른 경우 다른 요율표를 유지하기가 어렵습니다. 따라서 하나의 통화 테이블을 만들려면 병합해야 합니다.
시작하려면 기존 테이블에서 테이블을 클릭하고 함수 생성을 선택하여 함수를 생성합니다 . 다음으로 함수 이름을 입력합니다.
그런 다음 고급 편집기 로 이동합니다 . 필요하지 않은 계산을 제거하십시오. 이 경우 소스, 필터를 제거하고 구문을 변경하십시오.
다음으로 매개 변수 이름을 Source로 지정하고 Let을 입력합니다. Filtered Rows가 제거되었으므로 Merged Queries 구문 내부의 값을 Source로 변경합니다. 그런 다음 구문 끝에 있는 소스를 삭제하고 완료를 클릭합니다.
이제 열 추가로 이동하여 사용자 지정 함수 호출을 클릭합니다. All Data와 같은 열 이름을 입력합니다. 함수 쿼리의 경우 이전에 만든 함수를 선택합니다. 소스로 모두를 선택한 다음 확인을 클릭합니다.
다음으로 할 일은 모든 데이터를 제외한 모든 열을 제거하는 것입니다. 그런 다음 해당 열을 확장하고 "원래 열 이름을 접두사로 사용" 설정을 선택 취소합니다. 그런 다음 확인을 클릭하고 열 유형을 변경하십시오.
Date, Ticker 및 Crossrate 열의 유형을 각각 Date, Text 및 Decimal로 설정합니다. 완료되면 닫기 및 적용을 클릭합니다.
이제 누락된 날짜와 요율이 없는 결합된 환율표를 얻을 수 있습니다.
데이터 모델에서 관계 생성
데이터 모델에서 FactCurrencyRates 테이블을 볼 수 있습니다. 이제 해당 테이블과 DimCurrencyRates 및 DimDate 테이블을 사용하여 Ticker to Ticker 및 Date to Date 관계를 만듭니다.
매트릭스에서 누락되지 않은 통화 환율을 가져와 이제 파워 쿼리에서 모두 수행된 27일과 28일의 환율이 있는지 확인합니다.
마지막으로 보고된 환율 열에는 누락된 날짜의 환율도 표시됩니다. 동일한 비율과 값을 보여줍니다. 그러나 차이점은 이 열이 DAX에서 생성된다는 것입니다.
이것은 해당 열의 측정값 및 구문입니다. 파워 쿼리에서 함수 만 사용하는 것처럼 간단하지 않습니다 .
테이블을 보면 Converted Sales No Missing 열이 표시됩니다. 누락되지 않은 환율 열을 사용하여 변환된 매출을 표시합니다. 변환된 매출이 있는 다른 열은 DAX에서 만든 열을 사용합니다.
전환된 판매액을 가져오는 데 사용되는 함수는 입니다 . 해당 열의 측정값을 보면 SUMX가 DimDate 테이블에 적용되는 것을 볼 수 있습니다.
DAX 및 파워 쿼리 방법 비교
LuckyTemplates에서 DAX와 파워 쿼리를 사용한 변환된 판매 열을 실제로 비교할 수 있습니다.
그러기 위해서는 변환된 판매 열을 제외한 모든 열을 제거하십시오. 그런 다음 성능 분석기를 실행하고 기록 시작을 클릭합니다.
다음으로 DAX Studio를 엽니다. 모델에서 작동하는 방식과 이유를 보여주는 애플리케이션입니다. 그런 다음 행렬의 쿼리를 복사하여 스튜디오에 붙여넣습니다.
비교를 위해 테스트 중인 다른 열을 방해하지 않도록 먼저 그 중 하나를 주석으로 전환합니다.
그런 다음 서버 타이밍 및 쿼리 계획을 로드합니다. 성능을 비교하는 것이므로 비교를 실행하기 전에 먼저 캐시를 지우십시오.
테스트를 실행한 후 DAX를 사용한 열이 많은 스캔을 받았고 총 시간이 71밀리초임을 알 수 있습니다.
이제 파워 쿼리를 사용한 다른 열을 실행합니다. 그러나 먼저 구문의 다른 열을 주석으로 바꾸십시오.
열이 25밀리초 동안만 실행되고 스캔이 7개만 있는 것을 볼 수 있습니다.
DAX와 파워 쿼리 방법 중 어느 것이 더 빠르고 더 나은 성능을 보이는지 명확하게 확인할 수 있습니다.
결론
LuckyTemplates에서 파워 쿼리 방법을 사용할 때의 이점은 데이터가 이미 저장되어 있다는 것입니다. 따라서 측정은 비율을 찾은 다음 간단한 기능을 사용하여 가져올 수 있습니다.
이 방법의 또 다른 특징은 계산이 복잡해지면 속도가 느려지지 않는다는 것입니다.
그러나 이것은 요청하는 데이터가 즉시 변환될 필요가 없는 경우에만 작동합니다. 그렇다면 DAX를 사용해야 합니다.
모두 제일 좋다,
SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.
컬렉션 변수를 사용하여 Power Apps에서 변수 만드는 방법 및 유용한 팁에 대해 알아보세요.
Microsoft Flow HTTP 트리거가 수행할 수 있는 작업과 Microsoft Power Automate의 예를 사용하여 이를 사용하는 방법을 알아보고 이해하십시오!
Power Automate 흐름 및 용도에 대해 자세히 알아보세요. 다양한 작업 및 시나리오에 사용할 수 있는 다양한 유형의 흐름에 대해 설명합니다.
조건이 충족되지 않는 경우 흐름에서 작업을 종료하는 Power Automate 종료 작업 컨트롤을 올바르게 사용하는 방법을 알아봅니다.
PowerApps 실행 기능에 대해 자세히 알아보고 자신의 앱에서 바로 웹사이트, 전화, 이메일 및 기타 앱과 같은 기타 서비스를 실행하십시오.
타사 애플리케이션 통합과 관련하여 Power Automate의 HTTP 요청이 작동하는 방식을 배우고 이해합니다.
Power Automate Desktop에서 Send Mouse Click을 사용하는 방법을 알아보고 이것이 어떤 이점을 제공하고 흐름 성능을 개선하는지 알아보십시오.
PowerApps 변수의 작동 방식, 다양한 종류, 각 변수가 앱에 기여할 수 있는 사항을 알아보세요.
이 자습서에서는 Power Automate를 사용하여 웹 또는 데스크톱에서 작업을 자동화하는 방법을 알려줍니다. 데스크톱 흐름 예약에 대한 포괄적인 가이드를 제공합니다.