UNION语句
UNION语句类似于PowerQuery中的追加查询,可以将两个表或者两个数据集进行上下合并。DAX函数中也有UNION,而且用法上有很大的相似。
UNION使用要求两个数据集列的数量相同,两个数据集列的数据类型完全一致,且列的顺序也需要保持一致。
除了UNION之外,还有UNION ALL语句。二者的区别在于前者返回的数据集没有重复项,后者返回的数据集包含重复项。
基础语法
UNION语法:
代码语言:txt复制SELECT 列名称(s) FROM 表1
UNION
SELECT 列名称(s) FROM 表2
UNION ALL语法:
代码语言:txt复制SELECT 列名称(s) FROM 表1
UNION ALL
SELECT 列名称(s) FROM 表2
使用实例
案例数据:
在白茶本机的数据库中,存在名为“TEST”的数据库,存在名为“婴儿类”和“混合类”的案例数据。
例子1:
在PowerBI中使用UNION语句将两张表进行合并。
代码语言:txt复制SELECT * FROM 婴儿类
UNION
SELECT * FROM 混合类
结果如下:
例子2:
在PowerBI中使用UNION ALL语句将两张表进行合并。
代码语言:txt复制SELECT * FROM 婴儿类
UNION ALL
SELECT * FROM 混合类
结果如下:
对比例子1的结果我们可以很容易的发现,混合类的重复项目得到了保留。
例子3:
在PowerBI中使用UNION语句将两张表中的商品分类列进行合并。
代码语言:txt复制SELECT 商品分类 FROM 婴儿类
UNION
SELECT 商品分类 FROM 混合类
结果如下:
例子4:
在PowerBI中使用UNION语句将婴儿类中的商品分类列与混合类的销售价列进行合并。
代码语言:txt复制SELECT 商品分类 FROM 婴儿类
UNION
SELECT 销售价 FROM 混合类
结果如下:
因为两个数据集中的列数据类型不同,所以结果报错。
闲聊几句:
对于PowerBI的认知,白茶更喜欢称之为容器、平台。
对比其他BI类软件而言,微软的PowerBI兼容性更强,可以兼容很多其他的语言。
比如说:Python、R语言、SQL语言、Mysql语言等等。
因此小伙伴们在开发过程使用到了其他语言,一定要注意这个语言的一些开发规范和细节要求。
因为PowerBI作为平台可以兼容这些语言,同样也是要遵循原本这些语言的要求的。
比如说:Mysql为了区分关键字与普通字符,引入了反引号。而在SQL Server中是没有反引号这个概念的,只有单引号。因此我们在PowerBI中使用SQL查询的时候,也需要遵守这些细节。