暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

学习篇 | 对比Excel Power Qeury学习SQL

Excel和PowerBI聚焦 2021-08-30
876

今天通过Excel Power Query中的两个函数来学习一下SQL中的两个子句。


关于连接,在各个数据工具中都有一些函数或者方法来实现。比如在Excel Power中有两个函数,List.Union与List.Combine;在SQL中也有两个句子,一个是Union,另外一个是Union All.


下面通过一个简单的例子,来学习一下这两个工具中关于合并的用法。



Excel Power Query


如下图所示,首先创建一个lsit。

    = {"Excel","SQL","Python","Java","R"}


    再写另外一个List,如下图所示。

      = {"Excel","SQL","Python","Power BI","R","Tabeau","SPSS","SAS"}



      使用List.Union将上述两个List进行连接。

        let
        list1 = {"Excel","SQL","Python","Java","R"},
        list2 = {"Excel","SQL","Python","Power BI","R","Tabeau","SPSS","SAS"},
        连接 = List.Union({list1,list2})
        in
        连接

        如果如下图所示:

        从图中我们可以看出List.Union函数对于两个List中的数据去重后进行了连接。

        通常情况下该函数的语法为:

          function(lists as list,optional equationCriteria as any) as list

          需要注意的是第一个参数的类型是一个List。


          然后下来我们再使用Lict.Combine函数进行连接。

            = List.Combine({list1,list2})


            使用List.Combine函数进行连接时,是把所有的数据无任何的操作就连接在一起了。这个函数较List.Union函数比较简单。常用的语法为:

              function (lsits as list) as list

              通过上面的例子可以看出。List.Union函数在连接两个List时具有去重功能,而List.Combine函数则没有。


              SQL


              如下图所示,有两张表分别为sht001与sht002。如下图所示:

              sht001

              sht002

              如下图所示,先使用union将两张表连接起来。

                select
                title
                from
                mydata.sht001
                union
                select
                title
                from
                mydata.sht002

                结果如下图所示:

                从结果可以看出。union同样具有去重的功能,去重后将查询的字段连接。

                再来看一下union all的功能。

                  select
                  title
                  from
                  mydata.sht001
                  union all
                  select
                  title
                  from
                  mydata.sht002

                  从下面的结果可以看出union all是将所有的记录进行连接,并没有去重操作。


                  Union:对两个结果集进行并集操作,不包含重复行;

                  Union All:对两个结果集进行并集操作,包括重复行.


                  当然在Excel Power Qeury中还有Table.Combine与Record.Combine等函数。

                  文章转载自Excel和PowerBI聚焦,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论