如何用power query添加新列?
现在有[Worker],[Code],[Job Type] 在PQ里, 想添加新的一列,条件是[Worker]一样的话,用此[worker]的[Job type]. 新增列[role]没有空白值。
Power query添加列问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
17条回答 默认 最新
关注 🕗晚上好,题主!目前:🟢[在线]
📢参考通义千问、由郭老师整理提供!
📣今日诗号:疏影横斜水清浅,暗香浮动月黄昏。在Power Query (现在称为Power Query M 或者 Microsoft Power Query) 中,你可以使用
Group By
和Dense Distinct
函数来实现这个需求。以下是创建新列 [Role] 的步骤:-
打开 Power Query Editor:
- 在Excel中,选择 "数据" 菜单 > "获取数据",然后选择 "从电子表格" 或者 "从其他源",根据你的数据源导入数据。
-
加载数据:
- 在 Power Query Editor 中,你会看到一个名为 "Table1" 或者你数据源名称的工作表。点击 "编辑" 按钮开始编辑查询。
-
添加新列:
- 在新的列上,你可以添加一个新的计算列。假设你的 Worker 列是
Worker
, Job Type 列是Job Type
,那么在编辑器的公式栏输入以下代码:
- 在新的列上,你可以添加一个新的计算列。假设你的 Worker 列是
=let // 创建一个新列,用于保存每个 Worker 的 Job Type NewRole = DenseDistinct(Worker), // 将 Worker 列与 NewRole 列关联,确保每个 Worker 只有一个角色 GroupedData = Table.Group(Table1, {"Worker"}, {{"Role", each NewRole, type text}}), // 将原始数据与新角色合并 FinalTable = Table.AddColumn(GroupedData, "Role", each if [Worker] = [Key] then [Role] else null, type nullable text), // 删除可能存在的空值(如果需要) CleanTable = Table.RemoveNullRows(FinalTable, {"Role"}), in CleanTable
- 应用更改并关闭编辑器:
- 点击 "关闭 & 应用"(如果是 Power Query M),或者 "主页" > "发布" > "到" > "工作表" 来将更改应用到你的Excel工作表。
这段代码首先通过
DenseDistinct
函数确定每个 Worker 的唯一 Job Type,然后根据 Worker 值填充 Role 列。RemoveNullRows
可以删除可能出现的空值,但根据你的描述,你希望 Role 列没有空白值,所以这一步可能不是必需的。请确保你的数据已经按照预期格式加载,并且 Worker 和 Job Type 列名与上述代码中的列名匹配。如果实际列名不同,只需替换相应的列名即可。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报-
悬赏问题
- ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
- ¥20 关于URL获取的参数,无法执行二选一查询
- ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
- ¥15 marlin编译错误,如何解决?
- ¥15 有偿四位数,节约算法和扫描算法
- ¥15 VUE项目怎么运行,系统打不开
- ¥50 pointpillars等目标检测算法怎么融合注意力机制
- ¥20 Vs code Mac系统 PHP Debug调试环境配置
- ¥60 大一项目课,微信小程序
- ¥15 求视频摘要youtube和ovp数据集