微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按组划分的 DAX SUM DISTINCT 值

如何解决按组划分的 DAX SUM DISTINCT 值

我是 PBI/DAX 的新手。 我有一个名为 Opp Recs 的表,其中包含几列:Group1NumEmpOppRecAcctNum。 如果 NumEmp 等于 Group1,但仅针对唯一的 "Corp Employees",我想对 AcctNum 列求和。

我使用了这个公式,但意识到 NumEmp 被重复计算为 dup AcctNums**Corp # Emps = CALculaTE(SUM('Opp Recs'[NumEmp]),'Opp Recs'[Group1] = "Corp Employees")**

如何正确求和 NumEmp

样本数据:

Group1 NumEmp OppNum AcctNum
企业员工 450 000030689 A0000123
企业员工 450 000030624 A0000123
企业员工 150 000030118 A0000662
Small Bus Emp 5 000030637 A0000737
Small Bus Emp 37 000030738 A0000755
企业员工 100 000030639 A0000784
企业员工 100 000030616 A0000784

解决方法

编辑:根据评论中指定的新要求,请使用此版本的代码:

S =
CALCULATE (
    SUMX (
        SUMMARIZE ( Corporate,Corporate[NumEmp],Corporate[AcctNum] ),Corporate[NumEmp]
    ),KEEPFILTERS ( Corporate[Group1] = "Corp Employees" ),ALLEXCEPT ( Corporate,Corporate[Group1] )
)

enter image description here

基于原始需求的代码:

如果您想获得唯一 AcctNum 和 Corp Employees 的所有内容的总计,请使用此

VAR IsUniqueAcct =
    FILTER (
        VALUES ( Corporate[AcctNum] ),CALCULATE (
            COUNTROWS ( Corporate ),Corporate[Group1] = "Corp Employees"
        ) = 1
    )
VAR Result =
    CALCULATE ( SUM ( Corporate[NumEmp] ),IsUniqueAcct )
RETURN
    Result

enter image description here

如果您想根据 AcctNum 分离 NumEmp 的总数,请使用以下命令:

S = 
VAR IsUniqueAcct =
    FILTER (
        VALUES ( Corporate[AcctNum] ),Corporate[Group1] = "Corp Employees"
        ) = 1
    )
VAR Result =
    CALCULATE (
        SUM ( Corporate[NumEmp] ),KEEPFILTERS ( IsUniqueAcct ),Corporate[AcctNum] )
    )
RETURN
    Result

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。