Excel 在Power Query中创建不同的透视图

Excel 在Power Query中创建不同的透视图,excel,pivot-table,powerquery,Excel,Pivot Table,Powerquery,我有以下格式的excel数据结构 我要做的是把它变成这个。简单地说,对于每个ID,我想记录与前一天的值的差异,如果前一天没有值,我们只保留当前值 作为中间步骤,我尝试将原始数据转换为类似的内容,但我不确定如何在简单的Excel数据透视表或Power query转换中进行转换 您的示例有问题,因为[v1-v2]与[v5-v4、v3-v2、v8-v7]的方法不同,但我认为后者是正确的 看看这对你有用吗 假设数据位于名为Table1的范围内的3列中,列标题为日期、ID、值 您可以使用。。。高级编辑

我有以下格式的excel数据结构

我要做的是把它变成这个。简单地说,对于每个ID,我想记录与前一天的值的差异,如果前一天没有值,我们只保留当前值

作为中间步骤,我尝试将原始数据转换为类似的内容,但我不确定如何在简单的Excel数据透视表或Power query转换中进行转换


您的示例有问题,因为[v1-v2]与[v5-v4、v3-v2、v8-v7]的方法不同,但我认为后者是正确的

看看这对你有用吗

假设数据位于名为Table1的范围内的3列中,列标题为日期、ID、值

您可以使用。。。高级编辑器

为该ID创建一个值为“昨天”的列,如果未找到任何内容,则返回null。然后做减法,然后旋转

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Dates", type date}, {"ID", type text}, {"Value", Int64.Type}}),
Yesterday = Table.AddColumn(#"Changed Type" , "Yesterday", (i) => List.Sum(Table.SelectRows( #"Changed Type", each ([ID] = i[ID] and Date.AddDays([Dates],1) = i[Dates]))[Value]), type number ),
#"Replaced Value" = Table.ReplaceValue(Yesterday,null,0,Replacer.ReplaceValue,{"Yesterday"}),
#"Added Custom" = Table.AddColumn(#"Replaced Value", "Custom", each [Value]-[Yesterday]),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Value", "Yesterday"}),
#"Pivoted Column" = Table.Pivot(Table.TransformColumnTypes(#"Removed Columns", {{"Dates", type text}}, "en-US"), List.Distinct(Table.TransformColumnTypes(#"Removed Columns", {{"Dates", type text}}, "en-US")[Dates]), "Dates", "Custom", List.Sum)
in  #"Pivoted Column"