Excel数据透视表和度量值-如何具有ID的不同计数和相关值的不同总和

nqwrtyyt  于 2023-04-13  发布在  其他
关注(0)|答案(2)|浏览(170)

bounty已结束,回答此问题可获得+50声望奖励,奖励宽限期15小时后结束,Danny Rancher希望引起更多关注此问题:完全在Excel中的解决方案,可选择扩展到Google Sheets

ID  Amount State Category
1   10 MyState MyCategory1
1   10 MyState MyCategory2
1   10 MyState MyCategory3
2   20 MyState MyCategory1
2   20 MyState MyCategory2
3   30 MyState MyCategory1

这是我的Excel表格。
我使用数据透视表显示每个状态的总数,并使用ID的DISTINCTCOUNT显示每个类别中有多少个。
问题是Amount的SUM与ID列的DISTINCT COUNT中的数字不匹配。
如何为数据透视表创建一个度量值,以便获得有效的DISTINCT SUM of Amount(与ID相关)?
谢谢大家。

fjnneemd

fjnneemd1#

您可以将DAX language in Power PivotSUMXDISTINCT函数一起使用。
Power Pivot tab > Manage Data Model > Home > New Measure
使用以下公式,替换MyTableName

DistinctSumAmount := SUMX(DISTINCT('MyTableName'[ID]), 
CALCULATE(SUM('MyTableName'[Amount])))

保存并返回到Excel工作簿,使用数据模型创建数据透视表,并将新的DistinctSumAmount度量值添加到数据透视表中。

d6kp6zgx

d6kp6zgx2#

很难理解您想要什么,因为示例数据集具有ID和Category的不同组合,因此即使您采用非重复计数和非重复和,它也会给予与绝对计数和绝对和相同的值。
此外,基于ID的非重复求和仅在每个ID具有固定金额时才有意义。如果存在ID相同但金额不同的不同行,则不清楚非重复求和应该是什么。
因此,使用不同的示例数据,其中相同类别有重复的ID,但每个ID总是具有相同的金额,这是一个潜在的解决方案:

=COUNTIFS($A$2:A2,A2,$D$2:D2,D2)=1

第1步是添加一个帮助列,用于标识每行是否包含ID和类别的第一个唯一组合。它通过从第一行开始计数到当前行(使用一个固定的范围,从$A$2开始,但扩展到A2,以便随着公式的填充而扩展)来实现这一点。

然后按常规添加一个透视表,但将第一列设置为用作页面筛选器,并将其筛选为TRUE。这样,您就可以对ID列进行计数,并对Amount列进行求和,并且它只包含一次每个唯一组合。

相关问题