前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >阅读圣经丨测试上下文理解

阅读圣经丨测试上下文理解

原创
作者头像
PowerBI丨白茶
修改2021-09-02 09:25:46
8840
修改2021-09-02 09:25:46
举报
文章被收录于专栏:PowerBIPowerBI

在《圣经2》中,关于上下文理解这一块,白茶看到两个有意思的小测试,决定分享给各位小伙伴。

这是一份销售数据,将其导入到PowerBI中。

结果如图。

现在开始进行问题描述。

问题一:

为数据模型添加计算列,输入如下代码公式,结果是什么?

代码语言:txt
复制
销售额 =
SUM ( '示例'[销售价] )

A、销售额所在的每一行的数字都不一样

B、销售额所在的每一行数字都一样

C、公式报错;无法显示,因为计算列不允许使用SUM函数。

小伙伴们,请根据上面的示例文件,思考计算列的结果。

开始思考!

1

2

3

4

5

6

7

...

小伙伴们,有结果了么?

没有的话可以在这里停留一下。

...

问题二:

在度量值界面编写下面代码,不嵌套任何聚合函数,结果是什么?

代码语言:txt
复制
利润率 =
( '示例[销售价]-'示例'[进价] ) / '示例'[进价]

A、公式输入没问题,但是显示没结果

B、错误,系统提示不行,有红色波浪线

C、公式没问题,但是显示结果不对

开始思考!

1

2

3

4

5

6

7

看到这里,咱来看看正确答案。

问题一的答案:

B、每一行的数字都显示的一样。

解析:

因为SUM本身是一个聚合类的函数,它本身的聚合只是针对表中的某一列,唯一影响它计算结果的是筛选上下文

在表中添加新列输入SUM函数,这个时候它的计算环境是行上下文

环境是行上下文,执行要求是筛选上下文,这二者相碰撞结果是什么?

就是筛选上下文为空!就像在表格中我们不选择某一对象,那么默认无筛选,就会显示所有结果的汇总一样,所以这里呈现的结果是每一行都相同。

与SUM函数类似的还有MIN、MAX等基本聚合类函数。

问题二的答案:

B、错误,系统提示不行,有红色波浪线

解析:

度量值计算的前提是什么?上下文!

还记得之前白茶提过的概念么?

激发迭代→逐行取值→计算。

度量值不像计算列一样,计算列会依据左边的列,逐行的匹配值,进行相关的结果计算,说白了就是自带行上下文。在题二的度量值中,每一行都有不同的数字,没有对它进行上下文设定,度量值就懵了!

它的内心想法就是:

卧槽!

80要减去哪个16?

这么多16!

16前面这么多值,谁是他对象!?

这不是刁难我度量值一样么!

明白了吧,就好比有人告诉你,你的相亲对象是大街上的一个女的!

这咋找?范围太广了啊!完全没思路啊!

通过两个小例子,希望小伙伴们能够明白行上下文与筛选上下文的区别。如果白茶表述的不当,也请各位小伙伴多多谅解。

(白茶:T^T瞎唠叨一通,各位大佬别较真)

这里是白茶,一个PowerBI的初学者。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档