我在Power Query中有一个SharePoint列表作为数据源。
它有一个“ AttachmentFiles”列,即一个表,在该表中,我需要“ ServerRelativeURL”列中的值。
我想拆分该列,以便“ ServerRelativeURL”中的每个值都拥有自己的列。
如果使用扩展表功能,我可以获取值,但是它将拆分为多行,我想将其保留在一行中。
每个唯一ID我只希望一行。
示例:
我可以使用固定数量的列,因为每个ID通常不超过3个附件。
我认为我可以添加一个自定义列,该列引用“ AttachmentFiles ServerRelativeURL Value(1)”,但我不知道如何。
有人可以帮忙吗?
尝试此代码:
let
fn = (x)=> {x, #table({"ServerRelativeUrl"},List.FirstN(List.Zip({{"a".."z"}}), x*2))},
Source = #table({"id", "AttachmentFiles"},{fn(2),fn(3),fn(1)}),
replace = Table.ReplaceValue(Source,0,0,(a,b,c)=>a[ServerRelativeUrl],{"AttachmentFiles"}),
cols = List.Transform({1..List.Max(List.Transform(replace[AttachmentFiles], List.Count))}, each "url"&Text.From(_)),
split = Table.SplitColumn(replace, "AttachmentFiles", (x)=>List.Transform({0..List.Count(x)-1}, each x{_}), cols)
in
split