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

Power BI中实现列转行:合并年份列并生成带年月的列

在Power BI中将宽表转换为带年份的月份格式窄表

方法一:使用Power Query编辑器(推荐,适合批量处理)

  1. 打开Power Query编辑器,选中你的原始表格
  2. 选中2022年数值和2023年数值这两列,点击顶部转换选项卡中的「逆透视所选列」(旧版本可能叫“取消透视列”)
  3. 操作后会生成两列:属性(值为“2022年数值”“2023年数值”)和值(对应数量数据)
  4. 添加自定义列来生成「年月」格式:
    • 如果原月份列已经是“1月”“2月”这类文本格式,自定义列公式写:
      Text.BeforeDelimiter([属性], "年") & "年" & [月份]
      
    • 如果原月份列是数字(比如1、2),公式改成:
      Text.BeforeDelimiter([属性], "年") & "年" & Number.ToText([月份]) & "月"
      
  5. 将自定义列命名为年月,然后删除不需要的属性和原月份列,把值列重命名为数量,最后关闭并应用即可。

方法二:使用DAX创建新表

直接在「建模」选项卡中新建表,输入以下DAX公式(注意替换原表为你的实际表名):

新表 = 
UNION(
    -- 提取2022年数据并拼接年月
    SELECTCOLUMNS(
        原表,
        "年月", "2022年" & 原表[月份],
        "数量", 原表[2022年数值]
    ),
    -- 提取2023年数据并拼接年月
    SELECTCOLUMNS(
        原表,
        "年月", "2023年" & 原表[月份],
        "数量", 原表[2023年数值]
    )
)

如果原月份列是数字类型,需要把月份转成带“月”的文本,比如把"2022年" & 原表[月份]改成"2022年" & FORMAT(原表[月份], "0月")。

内容的提问来源于stack exchange,提问作者C. Huygens

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 19:13:08