Power Query中「Unpivot Columns」与「Unpivot Only Selected Columns」的区别
Power Query中「Unpivot Columns」与「Unpivot Only Selected Columns」的区别及适用场景
核心行为差异
- 「Unpivot Columns」:选中列后执行,会把未选中的所有列逆透视成「属性-值」对,选中的列作为固定标识列保留。简单说就是「留选中,转其余」。
- 「Unpivot Only Selected Columns」:选中列后执行,只会把选中的列逆透视成「属性-值」对,未选中的列全部作为固定标识列保留。简单说就是「转选中,留其余」。
举个实际例子:假设表格有「姓名」「语文」「数学」「英语」四列:
- 选中「姓名」列,点「Unpivot Columns」:最终得到「姓名」「属性」「值」三列,属性列对应「语文/数学/英语」,值列对应分数。
- 选中「语文」「数学」「英语」三列,点「Unpivot Only Selected Columns」:得到和上面完全一致的结果。
- 但如果选中三列后点「Unpivot Columns」,会把未选中的「姓名」列逆透视,得到「语文」「数学」「英语」「属性」「值」四列,属性列固定为「姓名」,值列对应具体名字——这显然不是常规需求,也直观体现了二者逻辑的本质区别。
适用场景
- 「Unpivot Columns」适合固定列结构的场景:当你明确知道数据源的列数和结构,需要保留少数固定列,逆透视其余所有列时使用。比如上面的例子,只需要保留「姓名」,不管有多少科目列,选中「姓名」点这个选项就能一次性处理所有科目列,无需逐个选中科目。
- 「Unpivot Only Selected Columns」适合列数动态变化的场景:当数据源会不定期新增/删除列,而你只需要逆透视指定的某几列时使用。比如你只需要处理「语文」「数学」,哪怕后面新增了「物理」「化学」列,这个操作也只会处理你选中的两列,不会误操作新增列;反之,如果不确定总列数,但要保留固定列、逆透视其余列,仍需用「Unpivot Columns」(选中固定列即可)。
内容的提问来源于stack exchange,提问作者Stevoisiak
相关产品推荐
相关产品推荐

