zoukankan      html  css  js  c++  java
  • Table.NestedJoin合并…Join(Power Query 之 M 语言)

    数据源:

      “销量表”和“部门表”两个查找表,每个表中都有“姓名”列

    目标:

      根据“姓名列”将“部门表”中对应的部门合并到“销量表”中。

    操作过程:

      选取“销量表”》【主页】》【合并查询】/【将查询合并为新查询】》选取“部门表”》选取匹配列》【确定】

       

       展开Table.Expand…

    M公式:

      = Table.NestedJoin( 表1, {"表1匹配列1",...,"表1匹配列n"}, 表2, {"表2匹配列1",...,"表2匹配表n"}, "新列名", 匹配函数)

    匹配函数:

      JoinKind.LeftOuter / 1 / 缺省:左外部

      JoinKind.RightOuter / 2:右外部

      JoinKind.FullOuter /3:完全外部

      JoinKind.Inner / 0:内部

      JoinKind.LeftAnti / 4:左反

      JoinKind.RightAnti / 5:右反

      JoinSide.Left:相当于内部的效果

      JoinSide.Right:相当于左外部的效果

    扩展:

      左外部合并查询

        = Table.AddJoinColumn( 表1, {"表1匹配列1",...,"表1匹配列n"}, 表2, {"表2匹配列1",...,"表2匹配表n"}, "新列名")

       模糊匹配的合并查询

        = Table.FuzzyNestedJoin( 表1, {"表1匹配列1",...,"表1匹配列n"}, 表2, {"表2匹配列1",...,"表2匹配表n"}, "新列名", 匹配函数, 匹配选项)

        匹配选项:[IgnoreCase=true / false, IgnoreSpace=true / false, NumberOfMatches=数字, Threshold=0到1之间的数字, TransformationTable=表名]

          IgnoreCase:区分大小写

          IgnoreSpace:忽略空格

          NumberOfMatches:指定可为每个输入行返回的最大匹配行数

          Threshold:指定两个值将按其进行匹配的相似性分数。

          TransformationTable:允许根据自定义值映射来匹配记录的表

       一步到位的合并查询

        = Table.Join( 表1, {"表1匹配列1",...,"表1匹配列n"}, 表2, {"表2匹配列1",...,"表2匹配表n"}, 匹配函数)

          各表匹配列名不重复时才可加上匹配函数

      一步到位的模糊匹配合并查询

        = Table.FuzzyJoin( 表1, {"表1匹配列1",...,"表1匹配列n"}, 表2, {"表2匹配列1",...,"表2匹配表n"}, 匹配函数, 匹配选项) 

  • 相关阅读:
    Django和Angular.js模板标签冲突的解决方式
    ImageMagick 使用经验
    Getting Real内容浓缩
    RA layer request failed
    [硬件结构]硬件体系结构中的缓存的定性与定量分析案例
    hdu5373
    百度地图之标注一组地理坐标<2>
    【KMP】hdu1867(A + B for you again) 杭电java a题真坑
    hdu1034 简单模拟
    杂谈之WEB前端project师身价
  • 原文地址:https://www.cnblogs.com/officeplayer/p/15612847.html
Copyright © 2011-2022 走看看