PBID外部工具DAX Beautifier使用必读

关于DAX Beautifier

DAX Beautifier是由本人(Davis.Z) 开发的一款Power BI Desktop外部工具,同时也是全球Power BI社区第一个基于Python语言开发的PBID外部工具,它的作用是可以使你一键美化PBI文件中的所有DAX公式,增强代码可读性并大幅提升开发效率。

事实上,该工具早在2个月前已开发完成,但由于当时PBID尚未迎来7月的更新,还没有加入外部工具这一功能,因此当时的方案是需要手动解压PBIX或PBIT文件,然后运行程序修改文件夹下的DataModelSchema,将文件中的DAX代码替换为经过美化的DAX代码,通过这种方式来实现PBI文件全部DAX代码美化的效果(具体原理参考《一分钟格式化所有DAX及M语句》)。

现在有了外部工具,我就可以使程序直接和Analysis Services进行交互了。过去,一些第三方工具,如Tabular Eidtor对AS模型只能做到Read-Only,而现在可以支持将修改直接应用到PBID,尽管该工具使用.NET进行开发,那么理论上我使用Python也能够实现该效果(而并非像某些人说的需要权限)。尽管除了Tabular Eidtor开放的源代码之外几无资料可供参考,幸运的是,我在不到两天的时间里摸索出了具体方法。就在上周五(7月31日),DAX Beautifier正式诞生,它完美地实现了所有DAX公式(无论是计算表,计算列还是度量值)的一键美化!

下载与安装

下载:目前提供的是第一个版本的测试版(v1.0.0 beta) ,可点此到达。后续的版本也会发布到此地址。

安装:跟随向导即可,如下。

在这里插入图片描述

使用前的注意事项

使用该工具前请确保您已满足如下要求:

1.请确认你的Power BI Desktop的版本支持外部工具(版本号应不小于:2.83.5894.661)。

在这里插入图片描述

2.确认你已为PBID开启增强元数据集:

在这里插入图片描述

3.确保你的表格模型能够正常的连接到数据源(若出现类似下图情况则可能导致工具失效):

在这里插入图片描述

4.确保您报表所在的设备能够连接到互联网。由于该工具的DAX代码美化需要依赖于daxformatter.com提供的API接口,您报表的每一个DAX公式的格式化都相当于发送了一次post请求,因此无法连接到互联网或中途网络断开连接都可能会导致代码美化的失败。

使用演示

该工具的使用可参考如下视频(已上传至知乎):

限制

在当前PBID版本(2020年7月),受制于计算表的兼容级别,针对于计算表内的计算列的格式化无效。

该问题可能会在后续版本解决

问答

问:为何我使用DAX Beautifier后,我的报表中的DAX并无任何变化,并且我已满足前述的所有前提条件。

答:在个别情况下,DAX Beautifier返回的格式化的结果不会立即反映到Power BI Desktop内,但此时模型内部的格式化已经完成,你可以保存报表并重启PBID进行验证。如果情况依然未解决,请刷新数据集后重试。此外,如果您的公式本身具有语法错误,那么他将保留原来的格式而不会被美化。

后续版本

本文基于最初版本1.0.0编写,后续版本可能有变化,请留意本项目Github页面的更新说明

鸣谢

由Macro Russo的DAX FORMATTER提供的API服务

在这里插入图片描述

由王信信(知识星球:Power BI朋友圈社区星主)提供的赞助

在这里插入图片描述

以及在该工具发布之前帮忙验证测试的朋友。

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可
关于本文,如有问题或建议,欢迎您前往知乎微软BI圈发帖(备注本文链接),我将尽快回复