基于上周的 DAX

DAX Based on Previous Week

我在 SSMS 中有 table_a,如下所示:

REPORT_DATE     product       sales     
2021-08-01      prod_a        0
2021-08-01      prod_b        0
2021-07-25      prod_a        0
2021-07-25      prod_b        
2021-07-19      prod_a        
2021-07-19      prod_b        

我想创建一个 DAX 度量,找出本周与上周的差异百分比,然后根据它所处的阈值对其进行排名。

这是它的伪代码:

(Sales This Week / Sales Last Week) = X%

If X > 0 then "Good"
If X = 0 then "Neutral"
If X < 0 then "Bad"

如何使用 DAX 执行此操作?我不确定如何获取前一周的值。

也许这里我有一些语法错误,因为我没有你的 power bi file.I 刚从 table 得到最大日期并将其区分为 14 天前和 7 天前获取前一周的日期,反之亦然。请在下面为我的代码进行计算。随意为 X=0 添加另一个 IF 语句。

var maxdate = calculate(MAX(table_a[Date]))
var day14back = DATEADD(maxdate,-14,day)
var day7back = DATEADD(maxdate,-7,day)

var priv_weeksales = CALCULATE(sum(table_a[sales]),table_a[Date]<=day7back,table_a[Date]>=day14back)
var this_weeksales = CALCULATE(sum(table_a[sales]),table_a[Date]<=maxdate,table_a[Date]>day7back)

var X = DIVIDE(this_weeksales,priv_weeksales,0)

return IF(X>0,"Good",IF(X<0,"Bad","Neutral"))