当 Excel 中的数据源更新时,电源查询运行后硬编码的值错位
Posted
技术标签:
【中文标题】当 Excel 中的数据源更新时,电源查询运行后硬编码的值错位【英文标题】:Values hard-coded after power query runs is dislocated when data source updates in Excel 【发布时间】:2018-06-14 15:05:50 【问题描述】:我有一个像这样的名为“COMPANIES”的表:
Company Type
Lafarge Cement
Google IT
Disney Entertainment
然后将该表加载到 Power Query 中并显示为 COMPANIES2 表
在 Excel 视图中 的 COMPANIES2 表中,我添加了一个带有硬编码文本的新列,如下所示:
Company Type Country
Lafarge Cement France
Google IT US
Disney Entertainment US
现在回到 COMPANIES 表,添加了一个新行:
Company Type
Lafarge Cement
Toyota Cars
Google IT
Disney Entertainment
当我刷新表 COMPANIES2 时,我得到了这个:
Company Type Country
Lafarge Cement France
Toyota Cars US
Google IT <blank>
Disney Entertainment US
正如您所见,出于某种原因,美国对 Google 的价值已经上升。
我玩弄了 COMPANIES 表,例如通过切换某些行或重命名它们。最后 COMPANIES2 表总是一团糟。
有没有办法告诉 Excel / Power Query 保护同一位置的第二个表?也许我们可以告诉 Power Query “公司”是 ID 字段并且在此表中是唯一的?因此,当 Company 字段移动时,任何硬编码的新值都应该移动?
【问题讨论】:
【参考方案1】:查看@MarcelBeug 对this earlier posted question 的回答。他包含了这个link to a good video that he made 来展示它是如何完成的。
【讨论】:
【参考方案2】:郑重声明,我不能 100% 确定这实际上是理智的,但它似乎有效。
将您的 COMPANIES2 表仅作为连接加载到 Power Query 中。现在转到您原来的 COMPANIES2 查询(将没有“国家”列),将其与仅连接版本合并,并从中展开“国家”列。
虽然这起初看起来像是一个循环引用,但我认为它在实践中有效,因为 PQ 必须在刷新输出之前在 Excel 中提取表中的现有数据,因此它将保留您在 Country 列中添加的数据.
【讨论】:
以上是关于当 Excel 中的数据源更新时,电源查询运行后硬编码的值错位的主要内容,如果未能解决你的问题,请参考以下文章