Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让Power Query/Excel从同一列中分离并关联两个唯一ID?_Excel_Vba_Powerbi_Powerquery_M - Fatal编程技术网

如何让Power Query/Excel从同一列中分离并关联两个唯一ID?

如何让Power Query/Excel从同一列中分离并关联两个唯一ID?,excel,vba,powerbi,powerquery,m,Excel,Vba,Powerbi,Powerquery,M,我有一个数据集,导出时只包含一列,其中包括人员ID和职务ID 我想使用Power Query将个人ID和工作ID分别放入一列和另一列。人们与他们上方最接近的工作相关。作业ID为6个字符的文本字符串,人员ID为9个字符。同一职务ID可以应用于多人,但人员ID是唯一的(每个人只能有一个职务,某些职务有多人) 数据结构示例: 希望有人有东西 一步一步地 突出显示输入数据 数据…来自表/范围。。。不检查[]我的表有标题 添加列…自定义列。。。使用列名自定义,带有公式 Text.Length([Colu

我有一个数据集,导出时只包含一列,其中包括人员ID和职务ID

我想使用Power Query将个人ID和工作ID分别放入一列和另一列。人们与他们上方最接近的工作相关。作业ID为6个字符的文本字符串,人员ID为9个字符。同一职务ID可以应用于多人,但人员ID是唯一的(每个人只能有一个职务,某些职务有多人)

数据结构示例:

希望有人有东西

一步一步地

突出显示输入数据

数据…来自表/范围。。。不检查[]我的表有标题

添加列…自定义列。。。使用列名自定义,带有公式

Text.Length([Column1])
if [Custom]=6 then [Column1] else null
添加列…自定义列。。。使用列名称Custom.1和公式

Text.Length([Column1])
if [Custom]=6 then [Column1] else null
单击Custom.1列,右键单击并填充…向下

使用自定义列旁边的箭头并取消选中[]6,只留下[x]11

单击“柱自定义”,单击鼠标右键,然后选择“删除柱”

文件…关闭并加载

生成的代码:

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Added Custom" = Table.AddColumn(Source, "Custom", each Text.Length([Column1])),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each if [Custom]=6 then [Column1] else null),
#"Filled Down" = Table.FillDown(#"Added Custom1",{"Custom.1"}),
#"Filtered Rows" = Table.SelectRows(#"Filled Down", each ([Custom] =11)),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Custom"})
in #"Removed Columns"

我太新了,无法添加图像,也许这会有帮助。。。到目前为止,您研究/尝试了什么,为什么它不起作用?我正在寻找使用Text.Length和条件来确定哪个数字是要开始的类型的方法,但在语法方面遇到了问题。然后我需要类似于offset的东西来检查每个参考单元格(personid)上方的单元格中的值,以找到最近的作业ID。这些值必须复制或透视到新列中。最后一步是过滤引用列,使其仅为个人ID,而新列仅为职务ID。我打赌有一种更简单的方法。我可能会为此制作一个VBA宏,但我更喜欢使用power query/M,因为这是获取数据的方法。刚刚测试过,这是一个很好的解决方案!这将节省我大量的工作时间。非常感谢!