前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PQ的这个坑,你迟早会碰到!

PQ的这个坑,你迟早会碰到!

作者头像
大海Power
发布2021-08-31 11:08:11
8590
发布2021-08-31 11:08:11
举报
文章被收录于专栏:用户8950297的专栏

在视频课里,我强调过,Power Query虽然在很大程度上给用户实现报表的自动化(随源数据的增减动态一键刷新得结果)提供了很好的功能。

但是,在某些操作上,Power Query里的步骤所生成的代码是相对固定的,因而会导致某些新增的数据不能被添加进来,或某些数据被删除时出现错误。如视频《PQ操作的陷阱及工作原理》:

这些“坑”,我在系列视频中,当案例中的操作方法可能出现类似的问题时,都尽可能做好提醒以及提供实现真正动态化的方法,让大家尽可能少走弯路,更快地加深对Power Query的理解并灵活运用到实际工作中。

以下是视频课交流群里的朋友需要实现的一个问题:动态合并除某些列以外的所有列

这个问题用操作的方法很简单,即选中需要合并的列,然后点击“合并列”按钮,就搞定了,如下图所示:

但是,通过这种操作方法,当你删掉一些列的时候刷新就会出错:

而当增加一些列的时候,刷新却出不来,如源数据中增加一列:

究其原因,是因为“合并列”的操作步骤中,生成的代码如下,其中对你操作时选中的列生成了一个固定的列表:{"标题2", "标题3", "标题4", "标题5"},如下图所示:

那么,如果我们要实现动态的合并,那就要想办法让这个列表能够适应表中相应列的删除或增加,即通过相关的函数,来动态的构建这个列表,具体实现方法如下:

即,将原来生成的固定的列表的内容,替换成图中红框内的函数应用,思路也很简单:

1、通过函数Table.ColumnNames读取整个表的所有列的列名;

2、通过List.RemoveItems函数删掉不要合并的列的列名。

这样,无论你在源数据上是增加还是删除需要合并的列,这个函数的组合就会动态地获取到整个表最新的列名信息,然后剔除不需要合并的列名信息,剩下需要合并的列名。

类似的情况有很多,但是,只要我们掌握PQ的工作原理及相关的基础知识,就一定能在遇到这些坑的时候,顺利的跨越

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel到PowerBI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档