Lazy loaded image建立基于PQ查询生成的透视表,如何避免生成新查询?

type
status
date
slug
summary
tags
category
icon
password
notion image

(本文3000字,阅读需要8分钟左右)
最近给学员解决的一个经典问题,在此记录反馈,这个标题可能有些拗口,这里想说明的问题是(如下图所示):
notion image
比如我们用PQ查询出来的一个源数据表(如图中的“002、销售预算”),我们基于这个PQ查询数据表来建立透视表,为什么又给我生成个新的查询?我不想生成这个新的源,而是直接链接最早的PQ查询生成的源,因为每次我修改了真正的源,也就是“002、销售预算”这个并刷新后,或者给这个原始的PQ查询修改、添加了步骤后,这个因为创建数据透视表而新生成的查询并不会刷新或同步修改的步骤,很多情况下,我可能精心打磨了真正的源,也就是“002、销售预算”,会基于这个源查询做很多个数据透视表或者透视图,如果后面我修改了第一个查询的步骤,如果不能把新步骤刷新同步到生成的那么多数据透视表或者透视图上,那相当于再重做很多遍了,请老师帮忙解决这个问题!
以上是学员的问题,可以说他提出的这个问题,是所有Excel Power Query进阶用户都会遇到的、最核心的困扰之一!他描述的这个现象和担忧,也是完全正确的,也是一个非常真实的工作痛点。

总结一下,他的核心诉求就是

我不想每次创建数据透视表都生成一个“一次性”的、无法同步更新的“副本查询”。我希望我所有的透视表,都能动态地、永远地链接到我那个唯一的、精心打磨的“主查询”上,这样我只需要维护这一个“主查询”,所有下游的分析就能自动更新。
其实,这种想法,正是Power Query和数据模型设计的标准工作模式!这个问题,完全是可以解决的,但是一定要注意操作流程中的一个微小但关键的误解。

问题的根源:对“查询”和“连接”的误解

首先,我们必须澄清一个最重要的概念:
您在右侧窗格看到的 002、销售预算  002、销售预算 (2),它们不是两个独立的、重复的数据“源”。
  • 002、销售预算:这是您精心打磨的**“查询配方”**。它本身并不存储任何数据,只是一套指令。
  • 002、销售预算 (2):这不是一个新的“源”,它只是Excel为您创建的一个**“加载任务”“数据连接”。它的唯一工作,就是执行002、销售预算这个配方,并将结果加载到数据模型**中,以供您的数据透视表使用。
最关键的一点是:002、销售预算 (2) 这个加载任务,是完全依赖于 002、销售预算 这个查询配方的!

为什么您会觉得“不会刷新或同步”?

您提到的“新生成的源并不会刷新或同步修改的步骤”,这是一个美丽的误会。它绝对会同步,但可能因为以下几个原因,让您产生了不会同步的错觉:
  1. 刷新的对象不对:您可能只刷新了数据透视表本身,而没有刷新整个数据连接。
  1. 缓存问题:Excel的缓存机制有时会导致更新的延迟。
  1. 操作流程的误解:创建透视表时的选项,决定了它们之间的联动关系。

实现您目标的“黄金流程”

为了让您所有的透视表都动态链接到那一个“主查询”,请严格遵循以下这个最佳实践流程。

第一步:将您的“主查询”设置为“仅限连接”

这是最关键、也是最基础的一步。
  1. 进入Power Query编辑器,完成您对 002、销售预算 这个查询的所有清洗和打磨工作。
  1. 点击 “主页” -> “关闭并加载” -> “关闭并加载到...”
  1. 在弹出的“导入数据”对话框中,选择 “仅创建连接 (Only Create Connection)”
  1. 同时,勾选下方的“将此数据添加到数据模型 (Add this data to the Data Model)”
  1. 点击“确定”。
效果
  • 现在,002、销售预算 这个查询的结果,被加载到了工作簿唯一的Power Pivot数据模型中,但没有在任何工作表上创建物理的表格。
  • 在右侧的“查询和连接”窗格中,您会看到002、销售预算的状态是“仅限连接”。

第二步:基于“数据模型”创建所有透视表

现在,您可以基于这个已经加载到模型中的、唯一的“主查询”结果,创建任意多个数据透视表。
  1. 点击 “插入” -> “数据透视表”
  1. 在“创建数据透视表”对话框中,选择 “从数据模型 (From Data Model)” 或 “使用此工作簿的数据模型 (Use this workbook's Data Model)”
  1. 选择您想放置透视表的位置,然后点击“确定”。
  1. 重复此步骤,您可以创建第二个、第三个...第N个数据透视表,它们的数据源都是同一个、唯一的“数据模型”
此时,您会发现,Excel并不会再为您创建(2), (3)...这样的新查询了! 因为所有透视表都共享着由002、销售预算加载进来的那一份数据。

第三步:验证“一键同步”的魔力

现在,我们来验证您最关心的“同步更新”问题。
  1. 修改“主查询”
      • 回到“查询和连接”窗格,双击002、销售预算,进入Power Query编辑器。
      • 在里面添加一个新步骤(比如,筛选掉某个部门),或者修改一个现有步骤
      • 完成后,点击 “关闭并加载”
  1. 执行“全部刷新”
      • 回到Excel主界面。
      • 点击 “数据” -> “全部刷新 (Refresh All)”
见证奇迹的时刻:
  • Power Query会重新执行您修改过的002、销售预算查询。
  • 这个查询的最新结果会被加载到数据模型中。
  • 所有基于这个数据模型创建的数据透视表和透视图,都会自动地、同步地反映出您刚才所做的修改!

【点击文末“阅读原文”,获取本文使用到的及历史以来提及、发布的相关精选和原创资料,和我们一起充电,加入后可享受每月6次免费咨询提问,帮助解决您的特定问题!】

如果本篇文章对您有帮助或启发,请帮我们点赞、转发、推荐、关注,让更多想转型财务BP、锻造数据分析和可视化洞察能力的财务同行们看到,关注【老汪洞察】,不迷路!
若想获得更多制造业成本本管控、核算、全面预算、业财融合方面的落地实操干货,加入我们的大本营是你的不二之选,快点击下方卡片看看吧!
 
温馨提示
🙏🏻
如果您不想错过【老汪洞察】的文章,请将我们设为"星标",这样每次最新文章推送才会第一时间出现在您的订阅列表里。 方法:点击文章页面左上角蓝色文字“老汪洞察”进入主页,点击关注后,再点主页右上角"...",然后选择"设为星标",即可完成,感谢您的支持。
notion image
 
上一篇
制造业成本核算:“跑成本”背后的常见问题答疑
下一篇
助力销售,财务如何解忧?
Loading...
文章列表
让财税成为经营的力量
电脑与网络
从Power Query到Power BI,入门到精通
知识运用