首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Power BI系列:为什么度量值计算的占比全是100%?

不管是Power BI中还是在Excel的Power Pbiot中使用DAX,都支持VAR变量的写法。变量的方法不仅提高了代码的性能,还能减少代码的重复使用带来的阅读不方便。

但是很多的新手朋友们在编写表达式的时候,使用变量可能会犯这样一个错误。来看看你是不是也有这样的习惯和问题。先来看一下数据模型。

比如,要计算每个大区的订单金额占所有大区订单总金额的占比。这是一个简单的度量值,新手朋友们有可能的一种编写的代码是:

然后我们将其放入到矩阵中,来观察一下结果。发现结果全是100%.如图所示:

上述公式虽然没有报错,但是其本身计算的结果是硬错误的,因为每个大区的订单金额占比都是100%,这是显而易见的。出现这种错误的原因是,代码关于VAR变量的理解是不正确的:

变量只在定义的时候计算,不会在使用变量的时候计算结果,并且变量的计算只进行一次。在这个例子中,已经定义的salestotal的变量不会受到CALCULATE函数的影响,即不考虑调用变量时的筛选上下文,所以后面的占比计算的时候,每一个大区返回的都是所有大区订单金额的总计值。

所以,上述错误的代码,可以分成来写成2个度量值:

再编写金额占比的度量值,如下:

再来看一下结果,就正确了。

所以,你知道你写的变量为什么总是返回100%了嘛~

当然,如果你使用了按列排序的功能也会造成你的占比的计算全是100%的情况,具体可以参考上一节的内容。

让我看看,是哪个小可爱翻到惊喜了~~

小必老师近期新出版的《Excel商务智能:Power Query和Power Pivot数据清洗、建模与分析实战》一书,在上市以来就取得不俗的表现,豆瓣上更是有了9.5分的评分。本书有50+的实战案例,有1G+的随书重难点章节的配套视频。主要讲解Power Query中的M和Power Pivot中的DAX,适用于Excel和Power BI。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230118A01P8I00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券