CALCULATE 함수 알아보기
이 단원을 마치면 CALCULATE 함수가 Power BI에서 가장 다재다능한 함수 중 하나인 것을 확실히 이해할 수 있습니다.
높은 수준에서 행 및 필터 컨텍스트를 컨트롤할 수 있습니다. CALCULATE 함수를 사용하면 필터를 추가하고, 제거하고, 업데이트할 수 있습니다. 함수 하나가 큰 힘을 지니고 있습니다!
CALCULATE로 필터 추가
먼저 CALCULATE 함수를 사용하여 필터를 추가하는 방법입니다.
이전 데이터 테이블에 총 매출이 있습니다.
Total Sales = SUM( [Sales Amount] )
또한 총 매출을 평가하고 비행기 필터 컨텍스트를 적용하는 필터링된 버전의 총 매출도 있습니다.
Airplane Sales = CALCULATE( [Total Sales], 'Product Details'[ItemGroup] = "Airplane" )
팁
TABLEAU와 상관 관계: 다음 코드 조각은 Tableau에서 동일한 계산을 수행하는 방법을 보여줍니다. Airplane Sales = IF [ItemGroup] = "Airplane" THEN SUM([Sales Amount] ELSE 0 END)
CALCULATE로 필터 무시
다음으로 CALCULATE 함수로 필터를 무시하는 방법입니다.
이전 데이터 테이블에는 한 열에는 state별 총 매출이 있고 다음 열에는 모든 geography별 총 매출이 있습니다. 이 열은 각 주(또는 행)의 합계 비율을 분석하려는 경우 유용합니다.
DAX에서 합계 비율을 구하는 가장 일반적인 방법은 ALL 함수를 사용하는 것입니다.
Total Sales All Geo = CALCULATE( [Total Sales], ALL( Geography ) )
위의 코드에서 Geography 테이블을 보고 모든 값을 포함하되 필터 컨텍스트를 좁히지 않아야 합니다.
팁
TABLEAU와 상관 관계: 다음 코드 조각은 EXCLUDE LOD 표현식을 사용하여 Tableau에서 동일한 계산을 수행하는 방법을 보여줍니다. Total Sales All Geo = { EXCLUDE [State], [City] : SUM([Total Sales]) }
다른 무시 필터 예제는 다음과 같습니다.
이전 표에는 state별 총 매출, 모든 geography별 총 매출(모든 geography 필터 제외)이 있으며, 마지막으로 모든 state별 총 매출이 있지만 도시 필터는 여전히 적용됩니다.
이미지에 따르면 Alexandria 도시는 여러 state에 있습니다. 따라서 Alexandria를 도시로 하는 state의 총 매출을 찾으려고 합니다.
Total Sales All States = CALCULATE( [Total Sales], ALL( Geography[State] ) )
팁
TABLEAU와의 상관 관계: EXCLUDE LOD 식을 사용하여 Tableau에서 동일한 계산을 수행하는 방법입니다. 이 LOD 식의 세분성에 따라 다른 식과 다른 것을 알 수 있습니다. Total Sales All States = { EXCLUDE [State] : SUM([Total Sales]) }
식을 사용하여 state와 city 대신 뷰에서 state를 제외하려고 합니다.
CALCULATE을 사용하여 필터 업데이트
마지막으로 CALCULATE 함수의 유용성을 강조하는 마지막 연습은 필터를 업데이트하는 것입니다.
이전 데이터 테이블에서 전체 매출(연도를 무시함)과 슬라이서가 시각적 개체에서 적용한 필터 컨텍스트를 고려한 총 매출, 그리고 마지막 열은 2018년도의 총 매출입니다.
"2018 Sales" 열을 가져오려면 다음과 같이 작성해야 합니다.
2018 Sales = CALCULATE( [Total Sales], DATE[Year] = 2018 )
팁
TABLEAU와의 상관 관계: 이는 직접 Tableau 비교가 아닌 것 같아 흥미롭습니다. Tableau에서 이 작업을 수행하려면 필드를 복제하거나 보조 데이터 원본을 가져오거나 각 열에 대해 계산을 수행해야 합니다.
이 CALCULATE 단위에서 검토한 내용을 요약해 주세요.
모든 식을 첫 번째 인수로 입력할 수 있습니다.
이 식은 페이지의 모든 필터 컨텍스트(시각화 슬라이서)를 찾습니다.
필터가 있으면 추가됩니다.
필터 목록에 이미 페이지 컨텍스트와 동일한 필터가 있는 경우 해당 필터는 재정의됩니다.
이러한 모든 미묘한 차이(위에 나열됨) 후에는 식을 계산 합니다.
참고
분명히 작업 순서를 이해하기 위해 답변을 확인하지 않고 이 작업을 수행해야 하는 것은 아닙니다. "내 필터가 취소되었나?" 하고 스스로에게 물어봐야 합니다.