基于上周的 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"))
我在 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"))