Mat*_*ews 4 excel pivot-table excel-2010 powerpivot
我经常遇到一个问题,我想在我的数据透视表中的值区域中使用的公式与我想用于该行的"总计"列的公式不同.我通常想要求值,但我想平均和.如果我在列标签,行标签上的肉类型和值中的总和订单上轮换日期,通常会得到以下内容.
Row Lables | Day 1 | Day 2 | Day 3 | Grand Total
________________________________________________
Beef | 100 | 105 | 102 | 307
Chicken | 200 | 201 | 202 | 603
Run Code Online (Sandbox Code Playgroud)
我按天收到总和,以及Grand Total列中所有日期的总和.这是我想要的:
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
Run Code Online (Sandbox Code Playgroud)
在这种情况下,订单仍然按天汇总,但总计现在是总和的平均值.我现在所做的是将Pivot数据复制并粘贴到单独的工作表上,然后计算平均值.如果有一种方法可以使用自定义的Grand Total列进行此操作,那将是不可思议的.这对我来说是数据透视表的最大缺点之一,但我希望这是由于我的无知,这通常是.谢谢您的帮助!
您可以编写一个度量来检查特定过滤器上下文中的"行"数,并将其嵌套在IF()中以确定要使用哪个.
如果使用PowerPivot V2,那么它是:
=IF(HASONEVALUE(Calendar[Day]), SUM(AMOUNT), AVERAGE(AMOUNT))
Run Code Online (Sandbox Code Playgroud)
如果使用PowerPivot V1,它是:
=IF(COUNTROWS(Calendar[Day])=1, SUM(AMOUNT), AVERAGE(AMOUNT))
Run Code Online (Sandbox Code Playgroud)
两者都做同样的事情,因为他们在给定的上下文中评估表中的行数,并且当Meat Type为'Beef'时,临时过滤的表有一行.如果它没有一行,那么它沿着AVERAGE()的路径走
这假设您的列标题'Days'位于名为Calendar的表中(如果您没有使用单独的Calendar表,那么您将缺少PowerPivot IMO最强大的功能).雅各
| 归档时间: |
|
| 查看次数: |
15225 次 |
| 最近记录: |