【问题标题】:Excel Power Query: transform two cells into two duplicate rowsExcel Power Query:将两个单元格转换为两个重复的行
【发布时间】:2016-07-28 14:28:18
【问题描述】:

我有一个 Excel Power Query,它可以从本质上是一个时间表 Web 应用程序导入和转换一个 CSV 数据传输文件,以便再次通过 CSV 导入我们的工资单应用程序。某些行在两个单独的字段中同时具有“白天”和“夜间”时间。我需要将这两个字段转换为两个单独的行,为每个字段添加一个自定义“rate”字段。举例说明:

Name               day hours      night hours
A.N Other               6              4

转化为:

Name               day hours      night hours    hours      rate
A.N Other               6              0           6        rate1
A.N Other               0              4           4        rate2
  • 工资单应用程序只能处理单个行的“小时”和“费率”
  • 我已经完成了完整的“M”规范,没有任何问题。
  • 我在 Google 上搜索过,有很多关于删除重复项的内容,而不是关于创建它们的内容!

说实话,我真的不知道从哪里开始。任何帮助都会受到热烈欢迎。

【问题讨论】:

    标签: excel csv powerquery


    【解决方案1】:

    这里的关键步骤是在查询编辑器中选择day hoursnight hours 列,然后在Transform 选项卡下选择Unpivot Columns

    这将产生:

    Name                Attribute      Value       
    A.N Other           day hours        6
    A.N Other          night hours       4        
    

    完成后,您可以使用以下规则创建自定义列:

    if [Attribute] = "day hours" then [Value] else 0
    

    同样适用于夜间栏:

    if [Attribute] = "night hours" then [Value] else 0
    

    从那里您可以根据需要重新排列、重命名和删除列。

    您还可以使用属性列或小时列之一创建具有类似逻辑的自定义费率列。

    【讨论】:

    • 答案正盯着我看!完美的解决方案,受到热烈欢迎。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 2020-11-28
    相关资源
    最近更新 更多