首页 > 解决方案 > 计算(SUM(..)..)与 SUMX

问题描述

我正在尝试根据 p_region、状态码、日期范围和美元金额对金额列求和。*

当我尝试使用 CALCULATE(SUM()) 时,我无法获得所需的所有子句。

<£50k =
CALCULATE (
    SUM ( tsg_enquiries[tsg_quoteprice_base] ),
    tsg_enquiries[statuscode] = 866120000
        || tsg_enquiries[statuscode] = 866120007,
    tsg_enquiries[tsg_quoteprice_base] <= 49999
)

以上缺少日期范围条款。

tsg_enquiries[createdon] >=  'LTM Live'[xxxBegin] &&`  
tsg_enquiries[createdon]  <= 'LTM Live'[xxxEnd]`

当我尝试 SUMX() 时,我无法评估金额。

£ALL =
SUMX (
    FILTER (
        tsg_enquiries,
        tsg_enquiries[pc_regionno] = 'LTM Live'[pc_regionno]
            && tsg_enquiries[statuscode] = 866120000
            || tsg_enquiries[statuscode] = 866120007
            && tsg_enquiries[statuscode] = 'LTM Live'[pc_regionno]
            && tsg_enquiries[createdon] >= 'LTM Live'[xxxBegin]
            && tsg_enquiries[createdon] <= 'LTM Live'[xxxEnd]
    ),
    tsg_enquiries[tsg_quoteprice_base]
)

以上缺少金额条款。

tsg_enquiries[tsg_quoteprice_base]<=49999

截屏

我怎样才能得到我想要的结果?

标签: powerbidaxm

解决方案


如果您在过滤器函数中使用复杂条件,则每个条件都应该只作用于一列。您可以使用CalculateTable 函数,可能是。下面是一个例子:

SUMX( CALCULATETABLE('InternetSales_USD', 'DateTime'[CalendarYear]=2002)
 , [SalesAmount_USD])

推荐阅读