前几天,我发了文章《PowerBI数据模型优化,从导入数据开始》,没想到引起不少朋友的兴趣和认可。
的确,数据模型的优化,是深入应用Power BI的一项关键内容,所以,我也打算后续能把这个写成一个小的系列,给大家提供更多的例子和参考。
上次的文章里提到,影响Power BI文件大小和打开效率,一个很重要的影响因素是列和列基数。
这让我想起曾经写过文章《什么是雪花维度?Power BI里如何降低模型复杂度?》,其中提到,将维度表(如产品、类别、供应商等)上的列,尽可能通过合并查询的方式读到事实表(如订单表、订单明细表)里——就像在Excel里,为了做数据透视表,要先将多个表的数据整理到一个大表里一样,BI行业经常称之为“大宽表”:
这样,在后续的数据分析过程中,就可以直接在事实表里使用了,既方便,又简洁!
但是,毕竟,通过合并查询的方式将维度表里的很多列读取到事实表,数据就明显重复了,而且,事实表里的行数往往是最多的!那么,这些数据重复之后,Power BI文件会不会增大得很厉害呢?
下面我们就拿一份数据来试一下:30个供应商,500种产品,30万行订单,初始订单表4列信息:
数据导入Power BI后,文件大小为 3484 KB:
接下来,通过合并查询,将产品表的“产品名称”、“产品类型”、“供应商”等字段合并到订单表中,即,订单表此时增加了3列内容:
此时,Power BI文件竟然不是变得更大,而是变小了:3092KB !!!
经过前面将产品信息合并到订单表后,再继续将供应商的“联系人”、“公众号”、“地址”等数据合并到订单表,此时,订单表增加到9列:
此时,Power BI文件略有增大,但也只是增大了5KB!
从这个例子可以看出,通过合并查询将维度表(如产品表)上的数据读取到事实表(如订单表),对数据模型的大小影响不大。
所以,对于类似雪花状的数据模型,我们可以放心地将常用的维度信息,通过合并查询的方式放入事实表中,避免后面在处理数据模型、制作图表等等过程中,要面临一个复杂的数据关系视图以及一个又长又不好控制的关系链!
本文分享自 Excel到PowerBI 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!