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"}, 匹配函数, 匹配选项) 

  • 相关阅读:
    BSON与JSON的区别
    Zookeeper --分布式应用程序协调服务
    Stream Big Data : Storm, Spark and Samza
    Java Virtual Machine
    day1 计算机基础
    畅通工程(kruskal算法)
    The Suspects (并查集)
    The Sum of 0 for four numbers(拆解加二分思想)
    Rebranding(字母代换)
    最长公共子序列和最长公共子串
  • 原文地址:https://www.cnblogs.com/officeplayer/p/15612847.html
Copyright © 2011-2022 走看看