多个文件汇总
我们在实际应用中往往情景会更复杂,上一个章节说明了多个数据表间的横向和纵向汇总,那么如果是多个文件去汇总呢?如果是多个文件夹下的多个文件去汇总呢?本节我们就来学几招。
1
同一文件夹下的多个文件
假定我们在某一个文件夹下面有3个Excel文件,2015.10,2015.11,2015.11 三个月的咖啡数据表。我们想要把三张表的数据汇总到一张表中去。
1)选择从文件夹获取数据,并进入到编辑查询器中
2)将无用的列删除以使页面整洁
3)添加自定义列,在自定义列公式栏中输入=Excel.Workbook([Content]) (注意在Power Query中的公式严格区分大小写,所以要保持完全一致)
4)单击自定义列名称的双箭头角标,选择扩展Name和Data (意思是展开表名称和表数据),扩展后你会看到现在三张表都成功地汇总到了一张表中
5)我们再做最后的修整,把名称补全,因为是三张表的名称,在这个表中的表头会重复出现三次,所以我们要把他们给剔除掉。
可能大家觉得输入Excel.Workbook([Content])的过程也稍显复杂,但我相信如果你有数十张表需要汇总,并且每个月都要做同样的更新工作,这个几秒就搞定的必杀技绝对值得你记下。
另外,新版的PowerBI中已经加入了合并和编辑功能,也就是说你不需要输入公式你就可以完成合并多文件的工作,逻辑上与这个方法是一样的。但我仍然希望你懂得使用公式这个方法,一是他的操作很简单,二是对它的理解会便于你在后期操作步骤中做调整修改。
2
多个文件夹下的多个文件
对于多个文件夹下的多个文件,汇总数据的方法与单个文件夹基本是一样的。唯一的不同是我们需要标注出数据来自于哪个文件夹下。假定我们有一个城市数据文件夹,下面有北京、南京、天津三个文件夹,每个文件夹下又分别有三个月的Excel数据文件,我们现在要把所有的表汇总到一起。
我们完全按照前面单个文件夹的方法的步骤1-5选择“城市数据”文件夹获取数据,删除掉无用的列但一定要保留Folder Path列(因为它还有文件夹的名称),添加自定义列用Excel.Workbook([Content]),扩展Name和Data,修整标题行并剔除掉重复项。现在我们获得了所有表格的数据在一张表上。最后一步我们需要把 北京 南京 天津 这三个城市名称标记出来。
这里我们要用到转换选项卡下的拆分功能或者提取功能来处理文本。
拆分法 - 先按字符数拆分(靠右3个字符),再按分隔符拆分(),得到城市名列
提取法 - 选中Folder Path列,使用提取-范围。
它会让你输入起始索引和字符数,至于如何计算"北京"是位于第几位的字符,我们可以把文本“C:UsersmashiDesktopPowerBI获取数据城市数据北京”复制到任意一个Excel表中,利用Excel公式LEN计算文本字符长度。结果为44。从后往前数,可以看出“北京”约为41-43个字符。我们可以输进去试验,最后发现数字为41。输入后即成功提取出了北京。(其实我们也可以利用提取中的长度选项来计算字符长度,关于提取的解释请见下一章2.4的内容)
过程稍复杂,但这个例子体现了知识活学活用的好处,我们不仅掌握了一独门必杀技,更重要地是,学会了拆分和提取这两个常用功能的使用。
感谢您关注公众号PowerBI大师