纠结迷茫中
我好像知道自己在做什么,我知道我要什么结果,但是我却好像完全没有头绪我正在做些什么。这句话看上去好像很矛盾。以前,当我用Power Pivot的时候,没有这个感觉,但是当我把《DAX权威指南》越看越多以后,我的茫然感在不断增加。这其中一个很重要的原因是他们在书里主要讲原理,虽然里也有很多例子,但并不是以实例出发。在DAX里,计值上下文是很重要的东西,其中又包括了筛选上下文以及行上下文,筛选上下文对整个模型起作用,行上下文只能迭代单表。这是两句看上去很绕的话,同样让人觉得很类似,但完全不一样的还有度量值和计算列。度量值这个东西,我个人感觉挺飘渺,在没有报表的前提下,我简直不知道该如何考究那个东西,但实际上度量值这个玩意最终无非是某些聚合。以数据透视表的逻辑去考虑,只能放在数据透视表右下角的值里面,所以归根到底那就是某个计算的东西,但是它有可能是某个文字吗?这是有可能的。但到那个时候估计就是不是求和,而是一个计数了。比如说如果你返回东西是一个表,那么估计最终你就只能顶多在外面再套一个函数计算表的行数,然后把那个结果表达出来,但显然你要的不是这个表的行数,而是要这个表本身。但是话又说回来,度量值最终理论上不应该返回这种东西。
以前我觉得计算列很简单,一般的Excel里面也经常会用到,那跟用超级表没什么区别。但是当我知道得越来越多以后,我简直不知道该如何碰那个东西了。因为好像怎么整都不对劲。之所以这样,是因为如果这只是一个Excel的表的话,我知道用什么东西能实现我的功能,但是到了PP里,所有东西都乱套了。但实际上之所以发生这种事,倒不是因为PP真的有问题,相比于度量值,我在计算列上碰到的问题少很多。但我为什么要用PP呢?因为我需要得到的那些结果是单纯的表无法给我的。从一个表查询另外一个表的数据,这个我可以做到,但是通过度量值生成的那个表,再以那个表为基础查询原始表的数据再互相结合这个又该如何做到呢?以前我觉得PP可以把很多表的各种关系联系起来。这样用很方便了。相比于从前的Excel只有用SQL连接,文件换了一个电脑行不通,因为数据库本身是存在第一台电脑的某个地方。
大概这是学习必然会经历的某个境界吧。当我扛过了这个烦恼,我就能重获新生。但在此之前,我不知道我还得挣扎多长时间,还有一个就是实际上我是不是不应该从那本《DAX权威指南》开始看起呢?我应该先找一些比较低端说人话的教程,慢慢去让自己接受这个体系?
学习过好几门计算机语言,也学习过不少理工科的东西,我觉得学习DAX是我这辈子以来学得最纠结迷茫的。