本文主要是介绍DAX与SQL对比学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、select查询整张表
--DAX
EVALUATE
'销售合计表'--SQL
selct * from 销售合计表
2、select查询表中特定字段
--DAX
EVALUATE
SUMMARIZE ( '销售合计表', '销售合计表'[产品], '销售合计表'[日期] )--SQL
select 产品,日期 from 销售合计表
3、distinct去重
--DAX
EVALUATE
SUMMARIZE ( '销售合计表', '销售合计表'[产品])--SQL
select distinct 产品 from 销售合计表
4、order排序
--DAX
EVALUATE
'销售合计表'
ORDER BY '销售合计表'[日期] DESC--SQL
select * from 销售合计表 order by 日期 desc
5、where筛选
--DAX
EVALUATE
FILTER ( '销售合计表', '销售合计表'[分类] = "配饰" )--SQL
select * from 销售合计表 where 分类='配饰'
6、多表关联后筛选
--DAX
EVALUATE
FILTER ( '销售合计表', RELATED ('产品分类信息表'[是否主营] ) = "是" )--SQL
select * from 销售合计表 a ,产品分类信息表 b where a.产品=b.产品 and b.是否主营='是'
需要注意的是,在PowerBI的模型当中,需要先构建好销售合计表、产品分类信息表的关联关系。
7、group by分组
--DAX
EVALUATE
SUMMARIZE ( '销售合计表', '销售合计表'[分类], "分类总销量", SUM ( '销售合计表'[销量] ) )--SQL
select 分类,sum(销量) as 分类总销量 from 销售合计表 group by 分类
8、having
--DAX
EVALUATE
FILTER(SUMMARIZE ( '销售合计表', '销售合计表'[分类], "分类总销量", SUM ( '销售合计表'[销量] ) ),[分类总销量]>500)--SQL
select 分类,sum(销量) as 分类总销量 from 销售合计表 group by 分类 having 分类总销量 >500
9、join连接
--DAX
//左外连接
EVALUATE
NATURALLEFTOUTERJOIN('销售合计表','产品分类信息表')//内连接
EVALUATE
NATURALINNERJOIN('销售合计表','产品分类信息表')//全连接
EVALUATE
CROSSJOIN('销售合计表','产品分类信息表')--SQL
//左外连接
select * from 销售合计表 a left join 产品分类信息表 b on a.产品=b.产品//内连接
select * from 销售合计表 a inner join 产品分类信息表 b on a.产品=b.产品//全连接
select * from 销售合计表 a full outer join 产品分类信息表 b on a.产品=b.产品
这篇关于DAX与SQL对比学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!