昨天和大家聊了Excel最强手臂PQ,今天我们聊一聊PowerQuery的下一个环节PP。PP的全称为PowerPivot,主要负责的部分是数据建模。数据建模是什么?好像有点高大上啊,不要慌且听我细细道来。

PowerPivot是什么?

PowerPivot其实是Excel中的一插件,在2016之后已经内置Excel,成为了Excel的一部分。如果你装的是Excel2016那你应该可以在任务栏中发现它。它有一个单独的栏位就叫PowerPivot:

PowerPivot这个东东,如果你用过英文版的Excel会感觉很熟悉。因为我们经常用到的数据透视表的英文名称就叫PivotTable。那这个PowerPivot是不是就是数据透视表的增强版?

其实,如果硬要说两者有什么关系还真的确实有,他们的关系有点像是土壤和树木的关系。

PowerPivot为数据透视表提供分析所需的所有维度以及强大的算法支持

。算法维度什么的PowerQuery不是全都能搞定,再说我感觉现在的数据透视表功能就挺强大的啊?不需要什么算法支持。

PowerPivot能干什么?

PowerPivot功能太强大了,强大到你如果不亲身体验是难以理解的程度。所以我很害怕没办法说明白,我总结以下几点特点供大家参考:

Tips:但并不是所有人适合用PowerPivot的。如果你的数据量不够大,分析的维度不够多,对运算效率要求不够苛刻。你可能会感觉用PP就好像隔靴搔痒没什么意义。

1. 表关系的建立:PowerPivot可以将不同表建立关系,从此再也不用Vlookup

表关系是什么?就是建立表与表之前的关系啊(这是废话)。试想一下你从系统导出的数据是不是有日期、商品、销售数量、这些字段。如果你要分析水果和蔬菜的销售数量,你会怎么做?

一般的操作是:我先做一张商品是不是水果的对照表,然后再用Vlookup将这个字段Vlookup到销售表中,然后再用数据透视表做出来。

其实如果用PowerPivot的只用拖动鼠标,把两张表的商品字段建立一个关系后。就可以直接用数据透视表轻松完成上述工作。

你说什么?写公式和拖鼠标没什么差别啊。试想一下如果你产品的维度不止一个呢?你不止产品这一张维度表呢?写Vlookup是会累吐血的,分析效率也会大大降低。

当然PowerPivot的建模实际上没有这么简单,当模型复杂到一定程度后是需要更加专业的训练才可以的。关注我,我会带你入坑。

2. 智能函数:智能到可以根据语境计算对应结果

PowerPivot能作为大脑存在的根本原因就在于其强大的函数支持。这一部分的内容我可能很难直观的展示给大家,我会用一个例子来说明。再此之前我就先说一下我自己的理解吧:

1. PowerPivot中的函数根据上下文进行计算的,就和我们说话一样,同样的一句话在不同的情况下是有不同的理解的。就那意思这个词来说,什么意思和不好意思理解是不一样的。就是因为这个特性才造就了PowerPivot的复杂性。

2. 有计算列和度量值之分,计算列可以认为在原表中插入一列是占用存储空间的。度量值只是一种计算逻辑,不用的时候是不会产生系统消耗的。

上面这些内容听不懂没关系,以后慢慢就会了解的。下面说一个应用场景,有一天老板想看看每样商品有多少少人购买过?怎么办?

通常的做法是把会员的姓名和产品用数据透视表透视一下后,在使用一次数据透视才能得到刚才的内容。

而使用PowerPivot的函数DISTINCTCOUNT()非重复计数,一次就能搞定。

3. 效率之王:突破Excel100万行限制,提升最少10倍计算速度

PowerPivot采用的是列式存储数据,数据会被加载至内存中,计算内核采用DAX引擎。在计算效率上绝对比Excel自身要高出好几个档次。如果你的数据超过100万行,如果你在用SUMIFS匹配时经常需要好几个小时,不要犹豫,PowerPivot绝对是你首选的解决方案。

正是有了这些强大的功能PowerPivot才能为数据透视表提供源源不断的养分,为快速数据呈现提供了可能性,下面这张图就是其实至名归最好的证明。

回到开头的问题,数据建模是什么?数据建模就是将表与表建立关系后,把所以可能的计算规则用DAX函数写出来。最后通过数据模型为后面多维度的数据呈现,数据可视化提供可能性。

再啰嗦一遍,如果你的数据量不够大,分析的维度不够多,对运算效率要求不够苛刻。请谨慎入坑,因为一旦深入了解你会无法自拔。PP有风险,入坑需谨慎。

影像测量仪器公司

3次元测量仪

上海光学影像测量机质量好

高精度光学测量仪