2012-11-01 4 views
4

필자가 피벗 테이블의 값 영역에서 사용하려는 수식이 해당 행의 총합계 열에 사용할 수식과 다른 경우 자주 문제가 발생합니다. 나는 일반적으로 합계 값을 원하지만 합계를 평균 싶습니다. 여기에 내가 칼럼 라벨, 로우 라벨의 육류 타입, 값의 합계 주문을 피봇 팅했다면 평소에 얻을 수있는 것이 있습니다.총계 열의 사용자 지정 수식

Row Lables | Day 1 | Day 2 | Day 3 | Grand Total 
________________________________________________ 
Beef  | 100 | 105 | 102 | 307 
Chicken | 200 | 201 | 202 | 603 

총 합계 열에 일 수와 모든 요일의 합계가 표시됩니다. 이 경우

Row Lables | Day 1 | Day 2 | Day 3 | Grand Total (Avg of Day Totals) 
________________________________________________ 
Beef  | 100 | 105 | 102 | 102.3 
Chicken | 200 | 201 | 202 | 201.0 

주문이 여전히 낮 요약 그러나 총계는 지금 ​​합계의 평균됩니다 여기에 내가 가지고 싶은 것입니다. 이제는 피벗 데이터를 복사하여 별도의 시트에 붙여 넣은 다음 평균을 계산합니다. 커스텀 그랜드 토탈 (Custom Total Total) 컬럼으로 이것을 수행 할 수있는 방법이 있다면 믿을 수 없을 것입니다. 이것은 나를위한 Pivot Tables의 가장 큰 단점 중 하나입니다. 그러나 나는 이것이 종종 그것이 무엇인지에 대한 나의 무지로 인해 바라고 있습니다. 도와 주셔서 감사합니다!

답변

5

특정 필터 컨텍스트에서 '행'의 수를 확인하고 IF()에서 사용할 행을 중첩하여 사용할 레코드를 결정할 수 있습니다. 의 PowerPivot V2를 사용하여 다음 그것의

경우의 PowerPivot V1을 사용하여 그것의

=IF(HASONEVALUE(Calendar[Day]), SUM(AMOUNT), AVERAGE(AMOUNT)) 

경우

=IF(COUNTROWS(Calendar[Day])=1, SUM(AMOUNT), AVERAGE(AMOUNT)) 

모두가 주어진 테이블의 행 수를 평가한다는 점에서 같은 일을 문맥 유형 (Meat Type)이 'Beef'일 때, 일시적으로 필터링 된 테이블은 하나의 행을가집니다. 하나의 행이 없으면 AVERAGE()의 경로로 이동합니다.

여기서는 열 머리글 '일정'이 일정이라는 테이블을 사용한다고 가정합니다 (별도의 일정 테이블을 사용하지 않는 경우 PowerPivot IMO의 가장 강력한 기능이 누락되었습니다. Jacob

1

나는 "좋은"방법이라고 생각하지 않지만 여기에는 하나의 옵션이 있습니다. Amount 필드를 두 번째 데이터 영역에 추가하고 조작을 Average로 변경하십시오. 그런 다음 조건부 서식을 사용하여 데이터 영역의 평균을 숨기고 전체 영역에서 합계를 숨 깁니다.

pivot table with conditional formatting

당신은 할 - 그것 - yourelf 피벗 테이블에서 일부 배열 수식을 사용하여 더 나을 수 있습니다. 피벗 테이블의 이점은 상실하지만 데이터에 대한 유연성은 더 커집니다.