功率枢轴 - 与同一工作日相比

Power pivot - compare to the same weekday

╔═══════╦═════╦═══════╦════════╦═══════╦════════╗
║ Month ║ Day ║ City1 ║        ║ City2 ║        ║
╠═══════╬═════╬═══════╬════════╬═══════╬════════╣
║       ║     ║ Abs.  ║ Relat. ║ Abs.  ║ Relat. ║
║ Jan   ║ 1   ║ X     ║ 10%    ║ Z     ║ -3%    ║
║       ║ 2   ║ X     ║ -7%    ║ Z     ║ 5%     ║
║       ║ ... ║       ║        ║       ║        ║
║       ║ 31  ║       ║        ║       ║        ║
║ Feb   ║ 1   ║ ...   ║ ...    ║ ...   ║ ...    ║
║       ║ 2   ║       ║        ║       ║        ║
║       ║ ... ║       ║        ║       ║        ║
║       ║ 31  ║       ║        ║       ║        ║
╚═══════╩═════╩═══════╩════════╩═══════╩════════╝

A​​bs:绝对;关系:相对

我是 Power Pivot 的新手。

我需要像这样创建一个 table,其中“相对”列基于过去 4 周(同一工作日)的平均值。

示例:1 月 1 日是星期五,因此:

  1. 相关列将计算最近 4 个星期五(12 月 4、11、18、25 日)的平均值
  2. 然后比较绝对值(以%表示)

如何计算此相对列?

最简单的方法是将其分为两个阶段。 首先,创建一个计算前四个星期平均值的度量:

Average Abs = 0.25 * ( CALCULATE(SUM(Table1[Abs]),DATEADD(Table1[Date],-7, Day)) + CALCULATE(SUM(Table1[Abs]),DATEADD(Table1[Date],-14, Day))+ CALCULATE(SUM(Table1[Abs]),DATEADD(Table1[Date],-21, Day))+ CALCULATE(SUM(Table1[Abs]),DATEADD(Table1[Date],-28, Day)) )

重要提示: DateAdd 函数仅在您的日期集中没有间隔时才有效。如果您有一个没有数据的日期,那么您需要在数据中为该日期创建一个空白条目 table 或(推荐选项)创建一个日期字典 table 和 link 您的事实上table。

注意:我假设您的数据至少可以追溯到报告开始前的 4 周,否则加起来除以 4 将不会得出正确的平均值。

然后创建一个度量,将其与该日期的 Abs 值进行比较:

relat = DIVIDE(SUM(Table1[Abs]),[Average Abs])-1

将其格式化为 %。

根据我生成的一些随机数据,我得到如下内容: