Power BI中实现列转行:合并年份列并生成带年月的列
在Power BI中将宽表转换为带年份的月份格式窄表
方法一:使用Power Query编辑器(推荐,适合批量处理)
- 打开Power Query编辑器,选中你的原始表格
- 选中
2022年数值和2023年数值这两列,点击顶部转换选项卡中的「逆透视所选列」(旧版本可能叫“取消透视列”) - 操作后会生成两列:
属性(值为“2022年数值”“2023年数值”)和值(对应数量数据) - 添加自定义列来生成「年月」格式:
- 如果原
月份列已经是“1月”“2月”这类文本格式,自定义列公式写:Text.BeforeDelimiter([属性], "年") & "年" & [月份] - 如果原
月份列是数字(比如1、2),公式改成:Text.BeforeDelimiter([属性], "年") & "年" & Number.ToText([月份]) & "月"
- 如果原
- 将自定义列命名为
年月,然后删除不需要的属性和原月份列,把值列重命名为数量,最后关闭并应用即可。
方法二:使用DAX创建新表
直接在「建模」选项卡中新建表,输入以下DAX公式(注意替换原表为你的实际表名):
新表 = UNION( -- 提取2022年数据并拼接年月 SELECTCOLUMNS( 原表, "年月", "2022年" & 原表[月份], "数量", 原表[2022年数值] ), -- 提取2023年数据并拼接年月 SELECTCOLUMNS( 原表, "年月", "2023年" & 原表[月份], "数量", 原表[2023年数值] ) )
如果原月份列是数字类型,需要把月份转成带“月”的文本,比如把"2022年" & 原表[月份]改成"2022年" & FORMAT(原表[月份], "0月")。
内容的提问来源于stack exchange,提问作者C. Huygens
相关产品推荐
相关产品推荐

