• 카테고리

    질문 & 답변
  • 세부 분야

    오피스

  • 해결 여부

    미해결

Filter 함수에 대한 질문

24.03.18 18:49 작성 조회수 58

0

안녕하세요.

Item과 Price 열을 가진 Example 테이블을 만들고,

Total sum이라는 측정값(Sum('Example'[Price])을 만들고 테스트를 진행하였습니다.

 

측정값 1

  • Calculate('Example' [Total Sum], FILTER(Example, Example[item] = "A"))

측정값2

  • Calculate([Total sum], 'Example'[Item] = "A")

두 개의 측정값에 따라 서로 다른 값이 도출되는데, 이 두 개의 측정값에 차이점을 구분하기가 어려운 상황입니다.

 

A 아이템으로 필터가 된 테이블을 반환하여 계산하는 것과 A 아이템만 필터를 걸어 계산하는 것이 어떤 차이가 있을까요..?

 

답변 1

답변을 작성해보세요.

0

음... 캡처 이미지 상에 왜 결과가 동일하게 나왔을까요?
필터 컨텍스트를 이해하고 계신 듯하니 아래 이미지를 보시면 두 결과의 차이가 쉽게 이해가 되실 겁니다.
image

이해를 돕기 위해 조금 더 설명드리면
CALCULATE만 사용한 수식은 수식을 쉽게 작성하도록 제공되는 형식입니다.
해당 구문은 DAX 내부적으로는 아래와 같이 실행됩니다.
Calculate Filter = CALCULATE([매출합계], FILTER(ALL('제품'), '제품'[색상]="Black"))
위 수식에서 ALL만 없애면 작성하신 Calculate, Fitler를 사용한 수식인데
ALL은 학습에서 배우신 대로 수식에 걸린 필터를 제거하는 거죠.
제품 테이블의 필터가 제거되었으니 색상 필터가 적용되지 않아 모든 색상에 동일한 결과가 반환됩니다.

오른쪽 Calculate, Fitler 조합의 경우
Calculate 함수에 사용된 Filter 인수가 Filter Context를 수정(원래 걸려 있던 시각적 개체의 필터(각 색상) + Calculate 수식에 걸린 "Black" 색상 필터)하여 "Black" 색상만 값이 계산됩니다.
설명드린 내용이 이해가 되실지 모르겠습니다.
학습 내용에서 필터 컨텍스트에 대해 가능한 쉽게 설명을 드리긴 했으나
학습에 있는 내용이 모든 내용을 커버한 것은 아니라 이 부분은 컨텐츠를 찾아 조금 더 학습하셔야
이해도가 높아지실 수 있을 듯합니다. 추가로 궁금한 점이 있으면 다시 질문 주십시오.