연습 - 조회 연산자를 사용하여 테이블 결과 결합

완료됨

이전 연습에서는 join 연산자를 사용하여 제품당 총 매출을 확인했습니다. 이 연습에서는 lookup 연산자를 사용하여 국가/지역당 총 판매액을 찾습니다.

lookup 연산자 사용

영업 팀은 회사의 국가/지역당 총 판매액을 알고 싶어합니다. join 운영자를 사용하여 고객 및 제품 정보를 가져올 수 있습니다. 그러나 이러한 종류의 쿼리는 lookup 연산자를 사용하여 이 정보를 가져올 때 가장 잘 수행됩니다.

lookup 연산자는 차원 테이블의 데이터를 사용하여 팩트 테이블을 보강합니다. 책(팩트 테이블)을 읽고 사전(차원 테이블)에서 알 수 없는 단어를 찾는 것과 비슷합니다.

이 쿼리의 경우 SalesFact 테이블로 시작하고 lookup 연산자를 사용하여 고객 데이터를 가져와 결과 테이블에 추가합니다.

다음 절차에서는 연산자 사용 결과를 더 잘 이해할 수 있도록 쿼리를 단계별로 작성합니다 lookup .

  1. 다음 쿼리를 실행하여 SalesFact 테이블 및 Customers 테이블에서 일치하는 10개의 임의의 행을 가져옵니다.

    쿼리 실행

    SalesFact
    | lookup Customers on CustomerKey
    | take 10
    

    결과 목록을 살펴보세요. 결과 테이블에는 SalesFact 테이블의 열과 Customers 테이블의 일치하는 열이 포함됩니다.

  2. 다음 쿼리를 실행하여 국가/지역당 총 판매액을 가져옵니다.

    쿼리 실행

    SalesFact
    | lookup Customers on CustomerKey
    | summarize TotalSales = count() by RegionCountryName
    | order by TotalSales desc
    

    결과는 다음 이미지와 같아야 합니다.

    Screenshot of the lookup operator, with total sales per country/region query and results.

  3. 결과 목록을 살펴보세요. 상위 판매액은 미국. 쿼리를 수정하여 미국의 주별 총 판매량을 표시합니다.

이전 단원에서는 rightouterjoin을 사용하여 제품 범주당 총 판매량을 확인했습니다. 이 쿼리를 실행하는 데 0.834초가 걸렸습니다. 이제 연산자를 사용하여 동일한 결과를 가져오는 쿼리를 lookup 작성한 다음 실행 시간을 비교합니다.

  1. 다음 쿼리를 실행합니다.

    쿼리 실행

    SalesFact
    | lookup Products on ProductKey
    | summarize TotalSales = count() by ProductCategoryName
    | order by TotalSales desc
    

    결과는 다음 이미지와 같아야 합니다.

    Screenshot of lookup operator with total sales per product query and results.

    동일한 결과를 얻을 수 있지만 실행 시간은 0.398초입니다. 더 빠른 실행 시간은 lookup 연산자가 이러한 유형의 쿼리에 최적화되어 있기 때문입니다.