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

Power BI中将无序JSON对象查找值匹配到正确列的实现方案

Power BI 实现方案(Power Query 操作)

不需要手动调整JSON字符串顺序,直接通过解析JSON结构+规则匹配实现,操作步骤如下:

  1. 进入Power Query编辑器,选中表1,首先添加索引列(用于后续区分原数据行,避免分组混淆):点击「添加列」选项卡 → 索引列 → 从1开始。
  2. 新增自定义列解析JSON内容,公式为:
    = Json.Document([你存储JSON的实际列名])
    将公式中的列名替换为你表1里存JSON的列名,得到record类型的解析结果。
  3. 展开解析后的record为键值对行:点击自定义列右上角的扩展按钮,选择「转换为表」,生成的新表默认包含两列,分别对应JSON的键、值,将两列重命名为Key、Value,并将Key列的数据类型修改为整数。
  4. 匹配表2获取条目名称:点击「合并查询」,同时选中表1的Key、Value两列作为匹配键,选择匹配表为表2,同样选中表2的Key、Value两列作为匹配键,连接类型选「内部」,展开合并后的列,仅保留Entry字段。
  5. 按规则给条目分类:新增自定义列字段类型,公式如下:
= let
    // 替换「索引」为你第一步添加的索引列名
    当前行所有Key = Table.SelectRows(#"上一步操作的步骤名", (r) => r[索引] = [索引])[Key],
    最小Key = List.Min(当前行所有Key),
    最大Key = List.Max(当前行所有Key)
in
    if [Key] = 最小Key then "Fruit"
    else if [Key] = 最大Key then "Colour"
    else "Size"

注意替换公式里的「上一步操作的步骤名」为你上一步操作在Power Query右侧「应用步骤」面板里显示的实际名称。
6. 生成最终结果列:选中字段类型列,点击「转换」选项卡 → 透视列,值列选择Entry,聚合值函数选「不要聚合」,即可得到你需要的Fruit、Size、Colour三列,删除多余辅助列后加载回数据模型即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:06:04