小伙伴们,周末愉快!今天小编和大家分享的是一个学习Power BI DAX入门中容易混淆的概念:变量,尽管我们叫它变量(variable),但是,DAX中的变量我个人觉得更像是个常量(constant),千万不要被它的名字所迷惑,一旦变量复制后不能修改,关于这个特性我们在本文后面举例说明,提前有这个概念。
1. 定义变量的关键词VAR(大小写不敏感),然后定义返回的结果需要使用关键词RETURN,一般而言,变量会先定义在度量值里面开始位置,然后再被引用(当然变量也可以定义在度量值中间,进行多层嵌套)。既能够存储标量值,也可以是表或者返回表的表达式。下面图1红色框的是返回表的表达式变量,存放的是销售额大于1w的客户;图2的SalesAmt则返回的是标量值(具体的一个值).
图2
新手经常会遇到一个变量的理解问题,为什么它叫变量确实一个常量?在本文的开始,小编已经和大家做了分享,这里通过一个案例和大家进行分析。在分析案例之前,大家反复读这句话4遍:变量是在其被定义的时候计算,而不是在其被使用的时候计算,变量只计算一次。(下图是DAX权威指南原版的原文page177)
下面是需要计算每个地区销售额占全国的比例,我们分析下面两个度量值的写法,第1个度量值是正确的写法,分子是当前地区的销售额,分母是整个全国的销售额,取消了地点维度表的筛选,返回的是全部地区的销售,计算没问题。但是,我们看第2个度量值返回的结果全部是100%,原因很简单:因为saleAmt变量只在它被定义时候的上下文计算,不受其被调用时候的计算上下文影响,因此,这里面CALCULATE对变量计算没有影响,所以,返回的结果都是与度量值salesAmount一致(参见图4)
图1
图2
图3
免费课程:免费教学视频目录大全(2023年全集) 免费课程绝大部分都是录制视频讲解,针对典型案例进行讲解,大家可以当做是一个字典,需要时候来找一找。免费课程不系统,有些基础内容小编默认你是知道,所以没有详细讲解,需要系统学习推荐看看小编的付费系统课程。 付费课程:Power BI会员课程更新(202310) 付费课程从零基础开始讲解,上手平滑,深入浅出,结合实际案例针对性强。具体可以参考介绍,课程内容持续更新,永久学习!(付费后,小编后面开发推出的所有课程和资源免费获取,无需再付费!) 交流答疑群:本群为付费制(49/一位),仅作为学习交流Power BI/Excel/Tableau/SQL等数据分析、数据处理工具用,有问题可以描述清楚你的问题,附上案例数据求助。除此外,不讨论任何无关事情,违者立刻剔除。啊?不是吧?加群还要付费?嗯,是的,所以,加群后请谨言慎行!群里会不定期分享各类模板、学习书籍等资讯,确认以上条件都能接受再添加小编私信!