【问题标题】:Create a different pivot view in Power Query在 Power Query 中创建不同的数据透视视图
【发布时间】:2020-06-30 00:12:14
【问题描述】:

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

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

作为中间步骤,我试图将原始数据转换成类似的东西,但我不确定如何在简单的 Excel 数据透视表或 Power 查询转换中进行。

【问题讨论】:

    标签: excel pivot-table powerquery


    【解决方案1】:

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

    看看这是否适合你

    假设数据在名为 Table1 的范围内的 3 列中,列标题为 Dates, ID, Value

    您可以使用...高级编辑器...粘贴到 PowerQuery ...

    为该 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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      • 2020-10-23
      • 1970-01-01
      • 2021-01-19
      • 1970-01-01
      相关资源
      最近更新 更多