PowerBI中按条件添加列并生成指定结构新表的需求
在PowerBI中从现有表创建结构转换后的新表
现有导入表结构
- 包含日期列,以及多个类别列(如A、B、C、D等),每个类别列对应对应日期的数值
期望生成的新表结构
- 三列:日期、类别、数值,将原表的多类别列转换为行记录
方法一:使用Power Query编辑器逆透视(推荐)
- 选中现有表,点击主页选项卡的转换数据,打开Power Query编辑器
- 选中日期列,右键选择逆透视其他列
- 自动生成
属性(原类别列名)和值(对应数值)两列,可右键重命名为类别和数值 - 点击关闭并应用,即可得到目标新表
方法二:使用DAX公式创建新表
在建模选项卡点击新建表,输入以下DAX代码(替换原数据表为你的实际表名):
新表 = UNION( SELECTCOLUMNS('原数据表', "日期", '原数据表'[日期], "类别", "A", "数值", '原数据表'[A]), SELECTCOLUMNS('原数据表', "日期", '原数据表'[日期], "类别", "B", "数值", '原数据表'[B]), SELECTCOLUMNS('原数据表', "日期", '原数据表'[日期], "类别", "C", "数值", '原数据表'[C]), SELECTCOLUMNS('原数据表', "日期", '原数据表'[日期], "类别", "D", "数值", '原数据表'[D]) -- 有更多类别列时,继续添加对应SELECTCOLUMNS语句 )
提示:如果类别列数量较多,Power Query逆透视方法更高效,无需手动逐个列编写DAX。
内容的提问来源于stack exchange,提问作者Raven
相关产品推荐
相关产品推荐

