You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Query合并列透视后,动态填充hazard assessment conclusion空白值

问题描述

我有一个生成源数据表的函数,原本想通过合并Route和Custom列,再对Value列做透视,把合并后的行转成对应的列名。但操作后发现,"hazard assessment conclusion"(危害评估结论)被当成了独立的列名,现在需要修改逻辑,让危害评估结论依赖Route值,填充对应的空白单元格。需要动态解决方案,实际要处理数百行同格式数据。

现有M代码:

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Merged Columns" = Table.CombineColumns(Source,{"Route", "Custom"},Combiner.CombineTextByDelimiter("#(lf)", QuoteStyle.None),"Merged"),
    #"Pivoted Column" = Table.Pivot(#"Merged Columns", List.Distinct(#"Merged Columns"[Merged]), "Merged", "Value")
in
    #"Pivoted Column"

示例数据:

名称接触途径自定义项值
柠檬酸吸入危害评估结论未识别出危害
柠檬酸皮肤接触危害评估结论中等危害
柠檬酸口服危害评估结论未识别出危害
二丙二醇醚吸入DNEL(推导无效应水平)70 mg/m³
二丙二醇醚吸入NOAEC351 mg/m³
二丙二醇醚皮肤接触DNEL(推导无效应水平)51 mg/kg bw/day
二丙二醇醚皮肤接触NOAEL1010 mg/kg bw/day
二丙二醇醚口服DNEL(推导无效应水平)24 mg/kg bw/day
二丙二醇醚口服NOAEL470 mg/kg bw/day

解决方案

核心思路是先给每个条目生成明确关联Route的列名,确保「危害评估结论」不会单独成列,再执行透视操作,完全适配动态数据场景。

通用版代码

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    // 生成绑定Route的列名:格式为「接触途径 - 自定义项」
    #"生成列名" = Table.AddColumn(Source, "列名", each [Route] & " - " & [Custom]),
    // 动态透视所有列名,按Name分组
    #"透视列" = Table.Pivot(
        #"生成列名",
        List.Distinct(#"生成列名"[列名]),
        "列名",
        "Value"
    )
in
    #"透视列"

可选:调整结论列格式

如果希望把「危害评估结论」作为列名前缀(比如「危害评估结论 - 吸入」),可以用以下代码:

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"生成列名" = Table.AddColumn(Source, "列名", 
        each if [Custom] = "Hazard assessment conclusion" then 
            "危害评估结论 - " & [Route] 
        else 
            [Route] & " - " & [Custom]
    ),
    #"透视列" = Table.Pivot(
        #"生成列名",
        List.Distinct(#"生成列名"[列名]),
        "列名",
        "Value"
    )
in
    #"透视列"

关键说明

  • 新增的「列名」列明确关联了Route和Custom,彻底避免透视时出现独立的结论列。
  • List.Distinct自动识别所有生成的列名,无需手动指定,完美适配数百行的动态数据。
  • 透视后空白单元格会保留,若需要填充默认值,可在透视后添加Table.FillNulls步骤(比如Table.FillNulls(#"透视列", {"列名1", "列名2"}, "无数据"))。

内容的提问来源于stack exchange,提问作者Nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 22:45:53