此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相关)?
谢谢大家。
2条答案
按热度按时间fjnneemd1#
您可以将DAX language in Power Pivot与
SUMX
和DISTINCT
函数一起使用。Power Pivot tab > Manage Data Model > Home > New Measure
使用以下公式,替换
MyTableName
:保存并返回到Excel工作簿,使用数据模型创建数据透视表,并将新的
DistinctSumAmount
度量值添加到数据透视表中。d6kp6zgx2#
很难理解您想要什么,因为示例数据集具有ID和Category的不同组合,因此即使您采用非重复计数和非重复和,它也会给予与绝对计数和绝对和相同的值。
此外,基于ID的非重复求和仅在每个ID具有固定金额时才有意义。如果存在ID相同但金额不同的不同行,则不清楚非重复求和应该是什么。
因此,使用不同的示例数据,其中相同类别有重复的ID,但每个ID总是具有相同的金额,这是一个潜在的解决方案:
第1步是添加一个帮助列,用于标识每行是否包含ID和类别的第一个唯一组合。它通过从第一行开始计数到当前行(使用一个固定的范围,从$A$2开始,但扩展到A2,以便随着公式的填充而扩展)来实现这一点。
然后按常规添加一个透视表,但将第一列设置为用作页面筛选器,并将其筛选为TRUE。这样,您就可以对ID列进行计数,并对Amount列进行求和,并且它只包含一次每个唯一组合。