【发布时间】:2017-01-31 05:02:26
【问题描述】:
我正在计算上一年和年初至今的销售额的新销售额和销售额损失。我试图在表格中显示它,然后用年份切片器过滤该表格。 以下是我使用的公式:
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 公式显示了正确的值,但没有显示总数。
感谢所有提示!
样本数据:
当前结果:
注意客户 A 年初至今没有销售额。 LostSalesOld 显示销售额为 -85000,但总额中没有任何反映。 LostSalesUppdate 什么也没显示。
期望的结果:
【问题讨论】:
-
你能用一些样本(比如每月)数据来解释你想要完成什么以及你目前看到了什么吗? SalesPY 和 SalesYTD 度量是不同的(一个仅限于当前日期上下文,另一个是 YTD 度量)。因此,一旦本年度发生销售,SalesYTD 永远不会为 0,而 SalesPY 可能经常为 0。因此,我不会将 LostSalesUppdate 和 NewSalesUpdate 描述为相互对立的。
-
感谢您的回复@Leonard!我会尽量具体一点。
-
在下表中,您可以看到我希望它如何工作。但是,正如我之前所说,LostSalesOld 公式在 lostSales 中显示客户 A 的 -70000,但不显示总数。当我改为尝试使用 LostSalesUpdated 时,lostSales 列会变为空白(永远不会变为真)。所以我知道当我只使用 IF 语句时该公式有效,但当我添加 Values 方法时它不起作用。由于我正在过滤每个客户的 SalesYTD,感觉 SalesYTD 应该可能为 0。@Leonard
-
我希望很清楚我想要达到的目标。您对我可以使用的其他公式是否有任何提示以获得所需的结果? CustomerName SalesPY SalesYTD NewSales LostSales A 70000 0 -70000 B 0 50000 50000 Total 70000 50000 50000 -70000
-
我现在意识到,我试图在 cmets 字段中写入的表格并没有那么好。如果您能通过 derf95stack@gmail.com 给我发电子邮件,我将不胜感激,这样我就可以更轻松地在 power bi 中发送我的桌子的图像。这样我觉得会更容易理解。如果其他人也想帮助我,也非常欢迎您给我发电子邮件。找到答案后,我们可以在这里发布,以便其他人看到。 @伦纳德
标签: powerbi