Powerpivot将计算项添加到字段中

时间:2014-02-20 08:02:30

标签: powerpivot

我的数据存储在Excel文件中。我将此表链接到PowerPivot数据模型,从该数据模型我想在同一个Excel文件中创建一个Pivot。在此表中,一列包含数据拆分为:预算,去年,先前预测,当前预测。我想将此字段添加为Pivot coulmns,但我想添加额外的计算项目(如在正常Excel数据透视表中我可以添加计算项目)并计算:[当前预测] - [先前预测]。我检查了各种页面,论坛等,我没有找到任何关于如何将这样的计算项添加到PowerPivot中的字段的指导。 我的输入如下:

Sample data:
Category           Client   Amount
Current Forecast    XYZ        600
Current Forecast    ABC       1000
Current Forecast    DEF        100
Prior Forecast      XYZ        500
Prior Forecast      ABC       1200
Budget              XYZ        800
Budget              ABC        900
Budget              DEF        100
Last Year           XYZ        700
Last Year           ABC        500

根据这些数据,我想创建一个如下所示的Pivot:

        Current    Prior               Last
Client  Forecast   Forecast   Budget   Year    FoF    YoY
XYZ          600        500      800    700    100   -100
ABC         1000       1200      900    500   -200    500
DEF          100                 100           100    100

在PowerPivot中,我想添加两个额外的列,可能是“类别”字段中的计算项:

FoF=[Current Forecast]-[Prior Forecast]
YoY=[Current Forecast]-[Last Year]

在下面的屏幕截图中,它更清晰可见,我想要实现的目标:

screenshot1

screenshot2

我无法将此添加到我的源数据中,因为当前预测与先前预测之间的行数不是相同的数量且不是相同的顺序(它们是从另一个系统中提取的)

1 个答案:

答案 0 :(得分:5)

Guenh ,这应该非常简单:

根据您的PowerPivot版本,您可以从PowerPivot功能区创建新度量(Excel 2010加载项:新度量按钮)。在Excel 2013中,它已重命名为计算字段,仍可通过PowerPivot功能区获得:

enter image description here

无论如何,我下载了你的数据并为你的所有列创建了新的度量(=计算字段),这是关键。您的数据结构的方式并不理想,但它肯定是可行的。首先,您必须对每个类别的金额求和,因此请使用这个简单的 CALCULATE 公式:

-CALCULATE(SUM([Amount]),Table1[Category]="Budget")

它的作用是将金额值相加,但仅适用于类别列中预算的行。上面的示例是为预算类别定义的;还包括其他三个类别(只需复制公式并更改 CALCULATE 中的第二个参数:而不是“预算”,使用“去年”等。

然后通过简单地使用已创建的度量来创建 FoF YoY 计算:

enter image description here

如果您随后添加新的数据透视表(来自PowerPivot窗口),只需将客户端名称拖到部分,并将所有度量拖到部分。

有了这个,你应该得到你想要的结果表,如下所示。 Here you can download the source file(适用于Excel 2013)。

希望这会有所帮助:)

enter image description here