PowerPivot中各行的各个列值的总和

时间:2018-07-16 16:27:27

标签: excel sum dax powerpivot

我想使用PowerPivot对行之间的数据求和。 (我想在PowerPivot中完成所有操作)

例如:

当前表:

Current Table

所需表:

Desired Table

2 个答案:

答案 0 :(得分:1)

您不需要PowerPivot来执行此操作...只需在之前“取消透视”您的源数据,就可以使用它来制作“传统的”透视表。

当前,您的原始数据处于交叉表布局中。数据透视表不喜欢交叉表...它们需要未透视的平面文件,以便它们可以进行这种求和。

要取消数据透视,请查看以下链接之一:

我的钱用于PowerQuery ...尤其是在您嵌套类别的情况下。在https://www.excelguru.ca/blog/2017/10/30/unpivoting-subcategories/上查看Ken Puls的文章,以了解如何完成此操作(并查看他的书M也是《 Data Monkeys》的意思……非常好)

您需要的布局是这样的:

enter image description here

...然后您可以使用“正常”数据透视表显示此内容:

enter image description here

答案 1 :(得分:0)

正如其他人所说,您不需要任何数据透视表。您可以使用SUMIF函数并轻松提取所需的信息。拆分合并的单元格,这将成为您的标准。然后,您添加每个ID即可找到您所需的级别。假设您在A1的左上角,可以使用此:

Level 1 Level 1 Level 2 Level 2 Level 2 Level 1 Level 2
ID  Prod 1  Prod 2  Prod 3  Prod 4  Prod 5      
1   7   1   5   9   6   =SUMIF($B$1:$F$1,"="&G$1,$B3:$F3)   =SUMIF($B$1:$F$1,"="&H$1,$B3:$F3)
2   6   4   6   2   8   =SUMIF($B$1:$F$1,"="&G$1,$B4:$F4)   =SUMIF($B$1:$F$1,"="&H$1,$B4:$F4)
3   2   4   2   3   8   =SUMIF($B$1:$F$1,"="&G$1,$B5:$F5)   =SUMIF($B$1:$F$1,"="&H$1,$B5:$F5)
4   1   8   2   1   6   =SUMIF($B$1:$F$1,"="&G$1,$B6:$F6)   =SUMIF($B$1:$F$1,"="&H$1,$B6:$F6)
5   4   3   4   1   7   =SUMIF($B$1:$F$1,"="&G$1,$B7:$F7)   =SUMIF($B$1:$F$1,"="&H$1,$B7:$F7)

解释公式时,首先要确定检查条件的范围。在这里,这是您的等级。第二个参数对应于您要添加的级别。因此,右上角的单元格(G1-> Level 1H1-> Level 2)是准则;求和范围标准应该等于什么?最后,这是应该添加的范围。我们获取与ID对应的行(对于ID 1,它是第3行,ID 2,它是第4行,依此类推)。比将给您的预期结果。