⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

M语言Records深度合并:超越VLOOKUP的多层嵌套匹配

在Power Query中使用Record工具和List.Accumulate实现多条件、多层级的数据合并,解决一对多关联和字段映射的复杂场景。 · 难度:入门 · +10XP

M语言Records深度合并:超越VLOOKUP的多层嵌套匹配

普通查询合并只能处理平面表。本教程教授如何将多个条件编码为嵌套Record,然后使用Table.TransformColumns配合Record.SelectFields实现动态字段映射。重点讲解Record.Combine、Record.Merge的差异,以及使用List.Accumulate构建多层IF逻辑。案例:订单表根据国家+产品类别+会员等级三个维度匹配不同折扣率表。最后演示如何将结果写回Excel模型。

let
    Source = Excel.CurrentWorkbook(){[Name="Orders"]}[Content],
    DiscountMap = [
        US = [Electronics = 0.1, Clothing = 0.15],
        EU = [Electronics = 0.2, Clothing = 0.25]
    ],
    AddDiscount = Table.AddColumn(Source, "Discount", each
        Record.FieldOrDefault(
            Record.FieldOrDefault(DiscountMap, [Country], []),
            [Category],
            0
        )
    )
in
    AddDiscount
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 254 篇
0 完成
🔥 0