繁体   English   中英

Pivot计算公式:SUM(Field1)/ AVG(Field2)

Pivot Calculated formula: SUM(Field1)/AVG(Field2)

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个简单的表,其中包含一些数量和间隔,以秒为单位和产品名称。

Month | Product | Amount | Interval in sec
------------------------------------------
05-'12| Prod A  | 10     | 5
05-'12| Prod A  | 3      | 5
05-'12| Prod B  | 4      | 5
05-'12| Prod C  | 13     | 5
05-'12| Prod C  | 5      | 5

从这个表中我得到了一个数据透视表,其中包含SUM(金额),AVERAGE(以秒为单位的间隔)按月和产品。

Month | Product | SUM of Amount | AVG of Interval in sec
--------------------------------------------------------
05-'12| Prod A  | 13            | 5
05-'12| Prod B  | 4             | 5
05-'12| Prod C  | 18            | 5

到现在为止还挺好。 现在我想为我的数据透视表添加额外的列,并以秒为单位给出间隔量的数量/ AVG的结果。

添加计算值=SUM(Amount)/AVERAGE(Interval)不会给我正确的值。 Excel给了我:

Month | Product | SUM of Amount | AVG of Interval in sec | Amount per sec
-------------------------------------------------------------------------
05-'12| Prod A  | 13            | 5                      | 1.3
05-'12| Prod B  | 4             | 5                      | 0.8
05-'12| Prod C  | 18            | 5                      | 1.8

它实际上做的是=每个月的Sum(Amount)/ SUM(以秒为单位)和基于第一个表中的值的Product。 但我正在寻找:

Month | Product | SUM of Amount | AVG of Interval in sec | Amount per sec
-------------------------------------------------------------------------
05-'12| Prod A  | 13            | 5                      | 2.6
05-'12| Prod B  | 4             | 5                      | 0.8
05-'12| Prod C  | 18            | 5                      | 3.6

因此,通过枢轴字段“以秒为单位的AVG”来划分枢轴场“量的总和”。

怎么做到这一点?

3 个回复

如果其他人遇到此问题,我发现的解决方案是在数据集中添加帮助“计数”列,其中每个记录在“计数”字段下输入1。

然后,为了达到平均值的效果,您可以使用:

SUM(FIELD_TO_AVERAGE)/SUM(COUNT)

我相信这应该适用于需要平均值的所有情况,但我没有对它进行过广泛的测试。

您需要在公式中引用数据透视表数据,如下所示:

=GETPIVOTDATA("Sum of Amount",$A$3,"Product","A")/GETPIVOTDATA("Average of Interval",$A$3,"Product","A")

编辑:从电子表格中:将所需列添加到数据透视表A:

K5=GETPIVOTDATA("Sum of Amount",$H$2,"Month",DATE(2012,5,1),"Product","Prod A")/GETPIVOTDATA("Average of Interval",$H$2,"Month",DATE(2012,5,1),"Product","Prod A")
K6=GETPIVOTDATA("Sum of Amount",$H$2,"Month",DATE(2012,5,1),"Product","Prod B")/GETPIVOTDATA("Average of Interval",$H$2,"Month",DATE(2012,5,1),"Product","Prod B")
K7=GETPIVOTDATA("Sum of Amount",$H$2,"Month",DATE(2012,5,1),"Product","Prod C")/GETPIVOTDATA("Average of Interval",$H$2,"Month",DATE(2012,5,1),"Product","Prod C")

您还可以通过向原始数据表添加额外列来生成列:每个条目的数量/秒,然后当您旋转所有数据时,该列的产品将是您想要的结果。

编辑(2):

上面的公式是单元格公式而不是透视表公式,不能使用引用抱歉我没有说清楚。 我正在研究一个数据透视表计算公式,但现在上面作为您的数据透视表旁边的列应该产生您需要的。

在源(计数器)中创建一个字段并在每一行中放置“1”。 把它放到枢轴中并用这个字段除去秒的SUM - 然后它将是一个平均值。 将原始字段除以此平均值,这样您的最终最终分数将是每个计数器的每秒秒数的数量,这将成为诀窍:)

3 Oracle查询,其中field1 = field2和field2 = field1

因此,我有一个表,其中包含链接关系。 字段1是ID,文件2是ID。 到目前为止,我已经消除了重复的Field1 \\ Field2组合。 但是,我仍然有逆向发生的情况。 意思是对于同一条记录,Field1出现为Field2,而Field2出现在Field1中。 我在内部联接中尝试了一个 ...

4 如果Field1是特定的,则Field1等于Field2。

PHP / mysql我该怎么做? 任何帮助都非常感谢。 数据库包含2个字段。 ID INT AUTO_INCREMENT Field1 Var 6 nul Field2 Var 6 nul如果我在field1中输入1A2345,则field2应等于PO1A23如果我在field1中输入2 ...

2013-11-25 23:22:36 1 97   php/ mysql
5 根据field1选择自动建议field2

JS对我来说还是有点不自然。 我可以很好地阅读它,但是写它却很少有机会做。 我有这个表格(简体) 对于#co输入,我可以自动完成工作,但是我可以使用一些指导来使下一步工作。 我需要根据#co选择自动为#contact输入建议名称。 我的JS目前看起来是这样的 如 ...

7 复制field2时更新field1

当它们的site_id相同时,我想从不同的记录中更新纬度和经度位置。 例如,如果 我希望记录3和所有与SiteID 5匹配的其他记录都采用记录1的纬度和经度。类似地,记录2和4 我该如何在mysql中做到这一点。 ...

9 访问报告-如果field2等于field3,则显示field1

我有测试/测验数据,我正在尝试为每个测试人员列出一份清单。 所以我有: 我也有两个字段...一个是“ RightWrong”(如果正确,则为1,如果错误则为0),另一个是“ Response”(测试者给出的答案)会与Answer1、2、3或4相匹配)。 我想做的是在Answer1 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM