首页 文章

在Power BI中使用IF和值()的错误总计

提问于
浏览
0

我正在努力获得与去年销售额和销售年度相关的新销售额和销售额损失 . 我试图在表中显示这个,然后用一年切片器过滤该表 . 以下是我使用的公式:

SalesPY = CALCULATE(SUM(SalesData[Value]),SAMEPERIODLASTYEAR('Calendar'[DateKey]))

SalesYTD = TOTALYTD(SUM(SalesData[Value]), 'Calendar'[DateKey])

NewSalesUppdate = SUMX(VALUES(SalesData[CustomerName]),IF([SalesYTD] > 0 && [SalesPY] = 0, [SalesYTD]))

LostSalesUppdate = SUMX(VALUES(SalesData[CustomerName]),IF([SalesYTD] = 0 && [SalesPY] > 0, -[SalesPY]))

LostSalesOld = IF([SalesPY] > 0 && [SalesYTD] = 0, -[SalesPY])

NewSalesUppdate 公式可以正常工作并正确总结 . 然而 LostSalesUppdate 不起作用,尽管与 NewSalesUppdate 相比具有相反的公式 . 似乎 IF 声明永远不会成真 . 这很奇怪,因为 LostSalesOld 公式显示了正确的值,但它没有显示总数 .

所有提示表示赞赏!


Sample Data:

Sample Data

Current Result:

Current Result
请注意客户A如何没有年初至今销售额 . LostSalesOld在销售中显示-85000,但总数中没有反映出来 . LostSalesUppdate根本没有显示任何内容 .

Desired Result:

Desired Result
现在其中一个丢失的销售列(无关紧要)具有客户A的值,总计

1 回答

  • 0

    关注LostSalesUppdate,问题是上下文之一 . 您的衡量标准是“对于SalesData表中的每个客户名称,如果他们去年有销售而今年没有销售,则告诉我去年的销售额被否定” .

    问题(我承认这很微妙)是, because 今年客户A没有销售,就此措施而言,客户A在SalesData表中是 not . 因此,公式的其余部分将被忽略 .

    我建议添加一个单独的表,其中包含客户列表,类似于您的日期表(每个客户一行) . 然后,更新您的LostSalesUppdate公式,以便不从SalesData中提取CustomerName,而是从新的customer表中提取它 .

    LostSalesUppdate =
    SUMX (
    VALUES ( Customer[CustomerName] ),
    IF ( [SalesYTD] = 0 && [SalesPY] > 0, - [SalesPY] )
    )
    

相关问题