那么到底是什么难题,故意刁难人呢?对方说,根本不是什么难题,就一个很简单的题目。如下:
PowerBI 中,筛选非常重要,一共有多少种筛选?
这题目的确是表面看上去很基础,但实际细细想来,却不敢贸然回答。
这个题目,可以说是一个题中题,将一个非常基础的概念提升到非常本质的境地。
首先,回答这个问题,必须搞清楚一件事:到底什么叫筛选。
其次,就是要很清楚,PowerBI 对这一机制的支持,到底有多少种。
因此,如果某人,不能本质而透彻的理解在 PowerBI 中几乎最重要的概念:筛选;或不能同时非常熟悉 PowerBI 的操作,是回答不出来的。
有人回答是:3,4,5,6,7,8,...
你又认为是多少???
很显然,这些回答都将遭遇无情的淘汰,以上:3,4,5,6,7,8,... 全错!!!
正确答案是:至少 10 种以上。
分析本题
PowerBI 中,筛选非常重要,一共有多少种筛选?
这看上去是一个封闭式题目,因为答案只用猜:1,2,3,4,5,6,7,8,9,10,11,12,13,...
关键是,坑在后面。
如果你回答了 12 种,那面试官就会追问:哪 12 种。
当你数出了 12 种以后,面试官又会继续追问:既然有这么多种,那么什么情况下用什么呢?
当你千辛万苦回答出了什么时候用什么,面试官又会继续追问:那这些筛选的本质共同点是什么呢?
当你回答出了这个问题,面试官当然还可以继续追问:...。
你不妨在看后面前,自己来试着回答一下这些问题,看看自己的表现,自己是不是满意呢。
理解筛选
考虑到每个人对筛选的理解有所差异,所以,我们不要求大家可以有精确的统一认识,但不管是怎样的差别,都可以得到 10 种以上答案。
筛选,顾名思义,就是筛和选,即对集合中找到满足某条件的一个子集。
这个条件就是:筛选条件。
在 PowerBI 中的筛选,究其本质就是:
也就是对某个表的列进行筛选。
在界面的表现如下:
从这个意义上来看,凡是可以在界面的筛选器提示中出现的都可以视为筛选。
重要的再重复一次:凡是可以在界面的筛选器提示中出现的都可以视为筛选。
本文并不是一个讲解 PowerBI 筛选的文章,因为这个特性的确非常基础,但难点在于:
1、你是否思考过这件事情,去定义这个概念;
2、你是否思考过这么多类似事件背后的共性和本质;
3、你是否用过这些特性以及知道在什么时候用。
下面仅仅列出这些特性。
这些特性都可以在任何一个图表元素的视图的筛选器列表中显示出来。就是这个小漏斗的图标:
开始来盘点吧。
1.报告级筛选
该筛选器具有全局作用,如下:
可以一次性筛选整个报告。
2.页面级筛选
该筛选器有页面级作用,如下:
可以一次性筛选当前页面。
3.可视化对象级筛选
该筛选器只针对某个视觉对象,如下:
仅仅筛选当前视觉对象。
4.切片器
这类可视化对象就是为了筛选而存在的,如下:
这就是切片器,它有很多形态,但都是它。
5.交互筛选
由于一个对象被选中,而导致其他视觉对象被筛选,如下:
这种筛选在交互过程中发生,故称为交互式筛选。
6.向下钻取
从高层级向低层级筛选,如下:
向下钻取后,只会保留父级的子级。
7.向下扩展(不带父级)
从高层直接向下展开,如下:
不再带有父级。
8.向下扩展(带父级)
从高层带有父级向下展开,如下:
带有父级。
9.向下钻取交互筛选
这是一个默认行为,指的是当发生下钻行为时,其他视觉对象是否会受到影响,默认是会受到影响,如下:
可以进一步设置影响的范围。
10.跨页钻取筛选
通常由宏观到微观,会钻取到另一个页面,如下:
可以用数据字段或度量值来作为钻取字段。
11.工具提示页筛选
设置了工具提示页后,如下:
在作为工具提示后,会被主体元素的选择而筛选,如下:
这种筛选效果必须在运行时才能体会。
12.跨页同步筛选
跨页同步筛选,是指在某页的筛选被设置后,其他页面也随着筛选,如下:
这对在不同页面之间切换对用户的交互友好是非常重要的。
而其高级选项,更加可以实现不需要建立关系,就可以筛选的作用。
这是在视觉层完成筛选控制的重要技巧,目前尚未见文章描述实际案例。
13.跨报告钻取筛选
在发布了 Power BI 的报告以后,可能会在云端查看报告时,从一个报告跳转到另一个报告,但还带有筛选。如下:
实际应用中,并不多见,这将:钻取和跨报告结合在一起会增加项目的复杂度,用户也会发晕,所以,很少应用。
14.URL参数筛选
这更是在 URL 中加入了可以控制筛选的机制,如下:
这样的好处也是可以跨报告筛选,而且可以构造在链接里。
其他
很多伙伴还会将公式,关系,行级别权限控制等也算入筛选范畴,如果这么算的话,那筛选的机制就更多了。
因此,作为面试题的答案,回答出思考的逻辑并给出 10 种讲解是非常非常基础的。
如果你还不知道这十几种筛选那要赶快注意咯,因为看了本文的企业在面试时很可能用此题来测试哦。
总结
筛选,表面是一个非常简单而基础的话题。抛开 PowerBI 本身,任何商业智能包括数据分析都必须设计一套筛选机制,来供分析人员使用。在 SQL 中是 where。从更加本质的意义上来说:由于人脑在瞬时思考的运算空间是有限的,必须通过筛选将无限的数据缩窄到可以立马处理的一个范围,这就是筛选的本质意义,在于按照人脑的工作能力将数据范围迅速缩小到一个可处理的范畴以便立刻在脑中计算。
因此,在 DAX 中,被称为筛选上下文的机制也正是这一原理的实现,在最后计算的时候,万一后悔了怎么办,这就涉及到筛选范围的调整,可以彻底后悔,部分后悔;或者可以进一步缩窄范围或改变范围,这就需要 DAX 公式的控制。
因此,我们说在一个数据模型中,通过界面筛选,将数据计算控制到一个有意义的范围,然后可以在人脑中立刻演算,是商业智能分析可以顺利进行的底层逻辑和原理,任何商业智能软件或工具,谁可以越自然地做到这点,就越有可能让人类的思考变得更加的自然和轻松。
回到题目本身,PowerBI 中,筛选非常重要,一共有多少种筛选?其实是给了答题人一个机会,来充分阐述:筛选,在数据分析乃至商业智能工具中的本质作用原理和机制,因为工具就是顺着这些原理而被设计的,那么筛选有多少种就根本不重要了,因为不管有多少种,他们仅仅是在合适的场景和时机来缩窄数据范围。在充分阐述了筛选后,如果再加上如何控制筛选的阐述,相信面试者能够更多共鸣,而对本质的揭露的透彻如果超过了面试者的预期,那么,也许可以通过这个基础而又蕴含深度的面试题。
这个故事来自真实场景,来自通过面试了的同学的描述。当然,他是我们 VIP 课程的学员。(面试者加问一题:你上过谁的课?哈哈哈啊啊,这广告可以吧)