关于DAX Studio,之前的文章中(PowerBI中的数据如何导出到Excel?)初步介绍过,它主要是用于DAX代码的编辑和查询,对于PowerBI的普通用户来说,PowerBI Desktop的DAX编辑框已经很好用,配合表格和数据视图也可以查看代码的输出结果,并不是必须要使用它。
不过当你深入学习DAX,以及处理更大量的数据时,你会发现DAX Studio是一个非常棒的辅助工具。
DAX Studio不仅用于PowerBI,实际上也可用于Excel PowerPivot、SQL Sever、MDX等,本文只介绍它是如何更好的服务于PowerBI的。
下载DAX Studio
可登录DAX官网:
https://daxstudio.org/
下载最新的版本,也可以在微信公众号对话框中输入“DAX Studio”获取网盘链接。
DAX Studio界面
成功安装并打开DAX Studio,它将自动识别目前已经打开的pbix文件,
选择一个文件并点击连接,进入工作界面,
虽然是英文版的,但理解起来并不难,界面很简洁,几个常用的区域标记如下:
1.当前处理的PowerBI文件名称
2.该PowerBI模型中的表
3.代码输入窗口
4.运行按钮,也可按F5运行
5.输出窗口
6.输出选项,可选择在输出在5的窗口,也可选择输出为excel、txt文件
7.代码格式化按钮,可以一键格式化,非常方便
8.计时功能,可用于代码性能测试
下面介绍几个好用的功能.
01 | 格式化DAX代码
格式化代码的好处之前已经介绍过(送你一份 DAX格式指南),DAX Studio可以格式化为长代码和短代码两种形式,在选项中可以设置,
以短代码为例,在DAX Studio中一键完成,
02 | 从pbix文件中导出数据
在Power BI Desktop中导出数据有行数限制,而使用DAX Studio可以导出任意数量级的数据,并且速度非常快。
把PowerBI模型中的数据导出为csv格式的文件,只需在输出选项中设置为"File",
需要导出什么数据,输入相应的代码,点击运行,就可以导出数据了。
常用的导出数据的几种形式:
导出一个现有表
比如导出订单表中所有的数据
EVALUATE
'订单'
导出过滤的表
比如导出订单表中2017年的订单数据
EVALUATE
FILTER('订单',YEAR('订单'[订单日期])=2017)
导出汇总的表
比如导出每个月的销售合计,
EVALUATE
ADDCOLUMNS (
SUMMARIZE (
'日期表',
'日期表'[年度],
'日期表'[月份]
),
"销售额", [销售金额]
)
ORDER BY
'日期表'[年度],
'日期表'[月份
]
导出汇总表并按照年度和月份进行排序。
03 | 导出PowerBI文件中的度量值
利用DAX Studio,可以导出pbix文件中的所有度量值,在代码框中输入以下代码:
select
MEASURE_NAME,
EXPRESSION
from $SYSTEM.MDSCHEMA_MEASURES
where MEASURE_AGGREGATOR = 0
order by MEASUREGROUP_NAME
这段代码是SQL语句,不理解也没关系,直接复制下来用就行了,从这里也可以看出,DAX Studio不仅运行DAX代码,也可运行SQL.
点击运行,就可以输出所有的度量值代码,
当然也是可以输出到excel文件,
04 | 测试性能
进行数据分析时,使用不同的函数或者代码可以实现同样的结果,但是到底哪一个性能更优呢,DAX Studio可以帮助我们测试。
按照以下步骤操作,
即可查看计算所用的时间。
假设计算每天的订单数量,有两种度量值的写法:
订单数量1=
COUNTROWS (
FILTER (
'订单',
'订单'[订单日期] = EARLIER('日期表'[日期])
)
)
测试结果如下:
订单数量2=
CALCULATE (
COUNTROWS ( '订单' ),
'订单'[订单日期] =EARLIER('日期表'[日期])
)
测试结果如下:
从测试结果上看,第二种代码的性能优于第一种,大家可以思考以下是什么原因?
总结
DAX Studio常用的功能如下
· DAX代码格式化
· 导出pbix文件中的数据
· 导出pbix文件中的度量值
· 代码性能测试
上面的这几个功能很好的弥补了目前PowerBI的不足之处,可满足大部分人的日常需求,当然DAX Studio还有更多强大的功能,需要使用的伙伴请自行深度探索。
加入PowerBI星球,一起精进技能。