查看原文
其他

DAX Studio:你迟早会用到的几个功能

采悟 PowerBI星球 2022-12-17


关于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星球」,一起精进技能

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存