如何将前一行的值添加到 powerquery 新列中的下一行?

How to add value from previous row to the next row in a new column in powerquery?

我正在尝试在我的分组数据中创建一个新列,其中包含上个月的数据值。我找到了一个解决方案 here 但我无法将其用于我的问题,因为我正在对数据进行分组并且我想要一个可以应用于每个组的 table 的解决方案。进一步阐述我的分组数据看起来像

table 看起来像

我在power查询中的M代码看起来像

#"Grouped Rows" = Table.Group(#"Sorted Rows", {"Attribute", "Marketing_year"}, {{"Var", (t) => Table.FromColumns(
            Table.ToColumns(t) & {List.Transform(t[Data], each _/List.Last(t[Data]))},
            {"Attribute", "Marketing_year", "Marketing_month", "Data", "Variation"}
    )}}),

有没有办法在我的分组数据中添加一个额外的列(“Data_previous_month”),其中的值是上个月的数据值。例如,在上面的 table 中,新列“Data_previous_month”的第二行应该是 19.41,第三行应该是 19.17,依此类推。

在此先感谢您的帮助。

更改 Table.Group 函数中的聚合以添加一个移位列,以及变化列。并且不要忘记为新列添加列名称。

//change `val` to `Data` to match what you have for column names
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Marketing_year"}, {
        {"Var", (t)=> Table.FromColumns(
            Table.ToColumns(t) & 
                {List.Transform(t[Val], each _/List.Last(t[Val]))} &
                {{null} & List.RemoveLastN(t[Val],1)},
                {"Marketing_year","Marketing_month", "Val", "Variation","Previous Month Val"}
    )}}),