我的 Power BI 报告中有一个表格,如下所示:
Date | Offer | Offer_start | Offer_end |Offer_day
---------|-------|-------------|-----------|---------
15/03/24 |A |15/03/24 |17/03/24 |1
16/03/24 |A |15/03/24 |17/03/24 |2
17/03/24 |A |15/03/24 |17/03/24 |3
18/03/24 |B |18/03/24 |20/03/24 |1
每天添加一个新行,其中“日期”列定义为当天。
Offer_day 列是一个计算列,定义如下:
Offer_day = datediff(mytable[Offer_start], mytable[Date], day)+1
永远不应该有两个优惠同时有效。
我想添加一个列,标记每个日期的报价是在哪一周。但是,周数应定义为星期日至星期六。所以想要的结果应该是这样的:
Date | Offer | Offer_start | Offer_end |Offer_day | Offer_week
---------|-------|-------------|-----------|----------|-----------
15/03/24 |A |15/03/24 |17/03/24 |1 |1
16/03/24 |A |15/03/24 |17/03/24 |2 |1
17/03/24 |A |15/03/24 |17/03/24 |3 |2
18/03/24 |B |18/03/24 |20/03/24 |1 |1
在 24 年 3 月 17 日,优惠周变为第 2 周,因为 24 年 3 月 17 日是星期日,即使优惠 A 仅在第三天。第二天,优惠周返回到第 1 周,因为这是新优惠的第一周。
请问有人知道怎么做吗?
您需要计算优惠开始日期的周数和当前行日期的周数,以找出当前日期和优惠开始日期之间的周数差异。 如果没有差异或者当前日期与优惠开始在同一周,则返回 1。否则,它会根据您计算的差异增加周数。
Offer_week =
VAR OfferStartWeek = WEEKNUM(mytable[Offer_start], 1)
VAR CurrentDateWeek = WEEKNUM(mytable[Date], 1)
VAR WeekDifference = CurrentDateWeek - OfferStartWeek
RETURN IF(WeekDifference >= 0, WeekDifference + 1, 1)