【问题标题】:Power Query - Normalise columnsPower Query - 规范化列
【发布时间】:2019-01-13 05:36:38
【问题描述】:

如何通过最大值对所有列进行归一化?

请看下表:

结果应该是所有列都除以自己的最大值,如下:

Power Query 脚本应该:

  • 应用于所有列,列数是动态的
  • 各列应除以它们自己的最大值

【问题讨论】:

    标签: excel powerquery


    【解决方案1】:

    有趣的问题!如果您习惯在高级编辑器中使用 M 而不是仅仅依赖 GUI,这并不难。

    let
        Source = <Data Source Here>,
        ToColumns = Table.ToColumns(Source),
        DivideByMax = List.Transform(ToColumns,
                          (Col) => List.Transform(Col, each _ / List.Max(Col))
                      )
        Result = Table.FromColumns(DivideByMax, Table.ColumnNames(Source))
    in
        Result
    

    它的作用是获取表格并将其转换为列表(列)列表。然后它通过将该列表的每个元素除以该列表/列的最大值来转换每个列表/列。最后,它使用第一步中的列名将列表列表转换回表格。

    【讨论】:

    • 这是一个非常好的和优雅的解决方案,谢谢!唯一的事情:您在 List.Transform(Col, each _ / List.Max(Col))> 之后错过了一个括号
    猜你喜欢
    • 2023-03-16
    • 2016-12-23
    • 2020-05-31
    • 2021-03-16
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 2011-01-17
    相关资源
    最近更新 更多