https://zhuanlan.zhihu.com/p/64422599

为什么要进行格式化?

DAX 是一种函数式语言,正如我们已经学习的或者看到的,DAX 代码中总有一些函数带有几个参数,而参数还可以是其他函数所构成,参数的数量以及嵌套的层数决定了 DAX 代码的复杂度。

使用 PowerBI 进行数据分析时,有三层嵌套的 DAX 代码很常见,四层及以上的嵌套也经常需要用到,如果将所有的代码写在一行上,不做任何格式化的处理,将导致难以理解,即使是自己写的,回头再看或者修改也会一头雾水。

因此,按一定的格式编写 DAX 代码十分必要,上一篇文章中(如何快速理解一个复杂的DAX?),我也将格式化作为理解DAX的第一步。

那么什么是规范的 DAX 代码格式呢?

DAX 格式化规则

其实并没有官方的统一标准,只是为了可读性和沟通交流的方便,有一些约定的习惯和规则。代码的可读性主要取决于换行和缩进规则,

1.如果函数只有一个参数,则和函数放在同一行

2.如果函数具有2个或更多参数,则将每一个参数

都另起一行

3.如果函数及其参数写在多行上:

3.1左括号"("与函数在同一行

3.2参数是新行,从该函数对齐位开始缩进4字符

3.3右括号")"与函数开头对齐

3.4分隔两个参数的逗号位于前一个参数的同一行

3.5如果必须将表达式拆分为更多行,则运算符

作为新行中的首字符

通过以上规则,很容易就能分辨出 DAX 代码中每一个函数的参数、起止位置,嵌套的层数等。

(如果编写的DAX代码非常简单,虽然有嵌套,但一行都能轻易写完,那就不要考虑上述规则了)

除了换行和缩进,在其他编写细节上也有一定的规则,比如函数名都用大写字母、等号之后留个空格等,这些对整体的代码可读性影响不大,不再介绍。

PowerBI 快捷键

在 PowerBI Desktop 中的 DAX 编辑框中,对于换行和缩进都有对应的快捷键,并且缩进正是按照以上规则,每次缩进4个字符。

缩进的快捷键如下:

向右缩进:Ctrl + ]
向左缩进:Ctrl + [

换行的快捷键如下:

换行后缩进:Shift + Enter
换行后不缩进:Alt + Enter

关于 DAX 格式化的一般规则和快捷键总结如下图,

推荐一个快速格式化的工具

如果你对上述规则感到困惑,或者你拿到别人写的一长串 DAX 代码不想从头开始格式化,那么有这个神奇的网站,帮你进行快速格式化:

http://www.daxformatter.com/raw/

上述的 DAX 格式规则也是该网站推荐采用的,用起来十分方便,打开网站后,直接把代码粘贴到编辑框中,

点击 FORMAT 按钮,一键格式 DAX 代码,

在这个网站上你还可以学习到更详细的DAX格式规则,强烈推荐你上去看看。

以上介绍的只是 DAX 格式的一般规则,并不是强制这样使用,你也可以编写个人风格的 DAX,不过无论是什么风格,请保证DAX代码的可读性。

数据可视化之DAX篇(十八)收藏 | DAX代码格式指南的更多相关文章

  1. 数据可视化之DAX篇(八) DAX学习:使用VAR定义变量

    https://zhuanlan.zhihu.com/p/64414205 前面介绍如何使用DAX生成日期表的时候,使用了VAR,有人留言问这个VAR怎么理解,那么这篇文章就来介绍VAR以及它的用法. ...

  2. 数据可视化之分析篇(八)Power BI数据分析应用:结构百分比分析法

    https://zhuanlan.zhihu.com/p/113113765 PowerBI数据分析02:结构百分比分析法 作者:海艳 结构百分比分析法,又称纵向分析,是指同一期间财务报表中不同项目间 ...

  3. 数据可视化之PowerQuery篇(八)利用PowerQuery,进行更加灵活的数据分列

    https://zhuanlan.zhihu.com/p/66540160 常规分列 我们最常见的就是有固定分隔符的规范数据,这种直接就按照分隔符拆分就可以了, 如果没有分割符怎么办?依然是上面的数据 ...

  4. 数据可视化之PowerQuery篇(四)二维表转一维表,看这篇文章就够了

    https://zhuanlan.zhihu.com/p/69187094 数据分析的源数据应该是规范的,而规范的其中一个标准就是数据源应该是一维表,它会让之后的数据分析工作变得简单高效. 在之前的文 ...

  5. 数据可视化之 图表篇(二)如何用Power BI制作疫情地图?

    丁香园制作的这个地图可视化,相信大家每天都会看好几遍,这里不讨论具体数据,仅来探讨一下PowerBI地图技术. 这个地图很简洁,主要有三个特征: 1,使用着色地图,根据数据自动配色 2,只显示中国地图 ...

  6. 【WaaCaa】一款开源科学作图/数据可视化工具 —— 诞生篇

    作为一个理工男.用过了形形色色能够用于科学作图/数据可视化软件:从大学时做实验课推荐用于分析简单採集数据的 Origin; 毕业论文时用来呈现实验时序信号和离线分析脑电信号的 MATLAB.后面还发现 ...

  7. 数据可视化之 图表篇(四) 那些精美的Power BI可视化图表

    之前使用自定义图表,每次新打开一个新文件时,都需要重新添加,无法保存,在PowerBI 6月更新中,这个功能得到了很大改善,可以将自定义的图表固定在内置图表面板上了. 添加自定义图表后,右键>固 ...

  8. 数据可视化之PowerQuery篇(十八)Power BI数据分析应用:结构百分比分析法

    ​https://zhuanlan.zhihu.com/p/113113765 本文为星球嘉宾"海艳"的PowerBI数据分析工作实践系列分享之二,她深入浅出的介绍了PowerBI ...

  9. 数据可视化之PowerQuery篇(十九)PowerBI数据分析实践第三弹 | 趋势分析法

    https://zhuanlan.zhihu.com/p/133484654 ​本文为星球嘉宾"海艳"的PowerBI数据分析工作实践系列分享之三,她深入浅出的介绍了PowerBI ...

随机推荐

  1. 伪造随机的User-Agent

    写好爬虫的原则只有一条: 就是让你的抓取行为和用户访问网站的真实行为尽量一致 1.伪造UA字符串,每次请求都使用随机生成的UA 为了减少复杂度,随机生成UA的功能通过第三方模块库fake-userag ...

  2. 曹工说Redis源码(8)--面试时,redis 内存淘汰总被问,但是总答不好

    文章导航 Redis源码系列的初衷,是帮助我们更好地理解Redis,更懂Redis,而怎么才能懂,光看是不够的,建议跟着下面的这一篇,把环境搭建起来,后续可以自己阅读源码,或者跟着我这边一起阅读.由于 ...

  3. Spark读取Hbase中的数据

    大家可能都知道很熟悉Spark的两种常见的数据读取方式(存放到RDD中):(1).调用parallelize函数直接从集合中获取数据,并存入RDD中:Java版本如下: JavaRDD<Inte ...

  4. Pycharm下安装Numpy包

    Numpy--Numerical Python,是一个基于Python的可以存储和处理大型矩阵的库.几乎是Python 生态系统的数值计算的基石,例如Scipy,Pandas,Scikit-learn ...

  5. Linux切换超级管理员root用户

    Ubuntu用$标志表示你现在处于普通用户,#表示超级用户. 普通用户会有限制,想从普通变成超级用户,可以输入 su 或 su - 命令,要求你输入密码, 你如记得密码就可以直接输入,再Enter即可 ...

  6. 【JMeter_03】JMeter GUI操作界面介绍

    JMeter主界面主要分为 标题栏.菜单栏.工具栏.测试计划树形目录.内容展示区 标题栏:主要展示JMeter的程序版本.当前脚本的名称.脚本的储存路径 菜单栏:程序基本上所有功能的所属分类目录,基本 ...

  7. cb09a_c++_顺序容器的操作2-在顺序容器中添加元素_插入数据

    cb09a_c++_顺序容器的操作2在顺序容器中添加元素vector不能向前插入数据,list可以用insertc.push_back(t);c.push_front(t);c.insert(p,t) ...

  8. 用OpenPyXL处理Excel表格 - 向sheet读取、写入数据

    假设一个名叫"模板"的excel表格里有四个sheet,名字分别是['平台', '制冷', '洗衣机', '空调'] 1.读取 from openpyxl import load_ ...

  9. Python中用OpenPyXL处理Excel表格 - 单元格格式设置

    官方文档: http://openpyxl.readthedocs.io/en/default/ OpenPyXL库 --单元格样式设置 单元格样式的控制,依赖openpyxl.style包,其中定义 ...

  10. Linux Pam后门总结拓展

    首发先知社区: https://xz.aliyun.com/t/7902 前言 渐渐发现pam后门在实战中存在种植繁琐.隐蔽性不强等缺点,这里记录下学习pam后门相关知识和pam后门的拓展改进. 0x ...