一、需求
需要将接近20个excel和csv文件的数据进行分析并生成图表,然后复制到word中,再根据图表信息改写报告文字。
如果这些文件彼此之间没有关联或者不需要分析,最直观的办法是打开每一个文件然后生成图表。尽管如此,也要打开20多次文件并手动生成20多个图表。耗时。
更何况需要将某些文件进行关联,以进行分析,这时手动操作就更得不偿失了。
二、解决办法
用power bi desktop建立数据模型,将所有文件引入到模型中,清洗、分析,生成图表。
考虑到文件太多,因此,我才用引入文件夹的方式,一次将全部文件添加到power bi desktop中。最终生成了40个查询、13页图表和近80个数据图表。
这40个查询,有一个公共源,所有其他查询都引用这个公共源,以简化代码维护:如果是直接复制查询,则每次修改路径,要修改四十次,这可是个体力活儿。
更进一步,我将文件夹路径设置为一个参数,其他所有文件的路径都在这个参数基础上进行变换得到。这样有新的报告要做的时候,我只需要修改这个参数,然后刷新即可。
由于不同客户需要的报告图表可能不同,最开始我是每个客户建立一个power bi desktop文件,但这样带来的问题是我的数据模型在随时修正中,最后版本太多,我也弄不清哪个文件才是修改过的了。所以,最后我只用一个power bi desktop文件来应对所有客户的不同需求。有些图表不需要,就将其对应的查询修改为“不加载”,下次要用的时候,再修改为“加载”即可。
有时候可能会忘记修改文件路径的参数,所以还有个办法是把数据模型另存为power bi desktop的模板文件,这样每次双击模板,就会新建一个文件,初始化的时候要求填写参数。这个办法适用于要把模板发送给其他人使用。我自己用的话,还是倾向于用一个单一文件即可。
当要做新报告时,我只需要把参数修改为数据源的路径,然后刷新,所有的图表就自动更新了。最后剩下的是复制每一张图表到word报告中去,再根据图表信息修改相应的文字描述即可。
三、延伸
这种复制粘贴有时候也挺烦人。另外一种办法是优化报告的结构,将其变为图表为主,文字为辅,这样就可以直接在power bi desktop中添加文字部分,最后导出为pdf即可,避免了复制图片、粘贴图片、调整版式和大小的烦恼。