Microsoft Learn的Pivot columns说明,Power Query围绕列中的唯一值形成新表,并可为每个值进行聚合计算。文档随后提供Don't aggregate选项,另用具体文字说明它仍然预期行与列的交点只有一个值。[1]

先区分两种参与转换的内容。被透视列的值形成新的列标题,value column提供这些新列中的内容。原文Country、Position、Product的例子中,Position承担形成标题的角色,Product承担提供内容的角色。读者因此不能只说“把Product换成列”:该例中作为新标题依据的是Position,产品值则进入标题所指的单元位置。这两项分工直接决定结果中名称与内容来自哪里。

默认聚合是求和,但它并非唯一选择。微软并列列出Count(all)、Count(not blank)、Minimum、Maximum、Median、Sum、Average和Don't aggregate。前面几项表达对输入值进行计数或计算的方式,最后一项则用于不能聚合,或当前目的不需要聚合的情形。理解选项时,应先辨认它在回答“怎样产生单元内容”,而不是把所有选项看成同一种表格排列的不同名字。

为具体解释交点,可以设想三个自拟标签组合:甲国与日期A、乙国与日期A、甲国与日期B,每个组合各有一项输入值。前两项共享日期,却处在不同行;第一与第三项共享国家,却处在不同列。它们并不只因国家或日期有相同标签,就争用同一个交点。只有将行标签与列标签成对考虑,才说清某项值准备进入哪里。这是依据文档定义的纸面情境,没有转换结果;它说明单列标签重复与同一行列组合对应多项输入是不同条件。

错误说明进一步给出单值要求。微软写道,Don't aggregate会抓取一个值,放到一对行列所对应的交点。随后Country、Date、Value的例子,将国家置于行、日期置于列,Value中的值则成为交点内容。若每一种国家与日期组合在输入中对应多条记录,这个交点就面临多个候选值;原例因此返回错误,而没有替读者自动挑一条或把它们拼接。

这条约束与“有没有执行求和”是不同层面的事。求和能够把若干输入计算成一个输出值;不聚合则没有进行这种归并计算,但目标位置依然是一个行列交点。于是,省略计算并未同时取消输出位置的单值预期。将“不聚合”解释成“多条都可原样塞进一格”,就遗漏了原文对交点内容的定义。

原页给出的错误文字是“There were too many elements in the enumeration to complete the operation”,并明确联系到国家、日期组合预期单值。这可以帮助经营报表读者理解错误涉及的结构条件,却不足以认定输入记录在业务上重复,更没有指出应当删除哪条。本文没有执行转换或审核经营数据;该文标示2025年7月21日更新,首次发布日期未另明确。

信息来源

本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。