You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle中如何将透视表的多行分散列值合并为一行?

合并透视表多行数据为单行的方法

Excel 快捷解法

直接用MAX函数提取每列的非空值:

  • 在空白单元格(比如新的A列位置)输入公式 =MAX(A:A)
  • 按住单元格右下角的填充柄,横向拖动到B、C、D列,即可自动忽略空值,得到每行对应列的1。

Excel 手动操作步骤

如果不想用函数:

  • 选中透视表的所有数据行(包含空值的4行),按Ctrl+C复制
  • 右键点击空白单元格,选择选择性粘贴 → 勾选转置,点击确定
  • 选中转置后的列,点击数据选项卡 → 删除重复值,只保留唯一的1
  • 再次选中这一列,复制后选择性粘贴转置回一行,对应到A、B、C、D列即可。

Power Query 处理流程

  • 选中透视表数据区域,点击数据选项卡 → 从表格/区域(弹出对话框时勾选“我的表格有标题”)
  • 在Power Query编辑器中,选中A、B、C、D所有列,点击转换选项卡 → 填充 → 向下填充
  • 选中前3行,右键选择删除行,只保留最后一行数据
  • 点击关闭并上载,将结果导出到Excel中。

Python Pandas 代码实现

如果用代码处理这类数据:

import pandas as pd

# 模拟你的透视表数据
df = pd.DataFrame({
    'A': [1, None, None, None],
    'B': [None, 1, None, None],
    'C': [None, None, 1, None],
    'D': [None, None, None, 1]
})

# 提取每列的非空值,合并为单行
merged_row = df.max().to_frame().T
print(merged_row)

内容的提问来源于stack exchange,提问作者qka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 13:24:59