Power Query:拆分 table 列,同一行中有多个单元格
Power Query: Split table column with multiple cells in the same row
我有一个 SharePoint 列表作为 Power Query 中的数据源。
它有一个 "AttachmentFiles" 列,即 table,其中 table 我想要 "ServerRelativeURL".
列中的值
我想拆分该列,以便 "ServerRelativeURL" 中的每个值都有自己的列。
如果我使用扩展 table 函数,我可以获得这些值,但是它会将它分成多行,我想将它保留在一行中。
我只需要每个唯一 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
我自己解决了。
我添加了 3 个这样的自定义列
自定义列 1:[AttachmentFiles]{0}
自定义列 2:[AttachmentFiles]{1}
自定义列 3:[AttachmentFiles]{2}
并仅选择 "ServerRelativeURL" 展开它们。
有一个动态的解决方案会很好。但这暂时可以正常工作。
我有一个 SharePoint 列表作为 Power Query 中的数据源。
它有一个 "AttachmentFiles" 列,即 table,其中 table 我想要 "ServerRelativeURL".
列中的值我想拆分该列,以便 "ServerRelativeURL" 中的每个值都有自己的列。
如果我使用扩展 table 函数,我可以获得这些值,但是它会将它分成多行,我想将它保留在一行中。
我只需要每个唯一 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
我自己解决了。
我添加了 3 个这样的自定义列
自定义列 1:[AttachmentFiles]{0}
自定义列 2:[AttachmentFiles]{1}
自定义列 3:[AttachmentFiles]{2}
并仅选择 "ServerRelativeURL" 展开它们。 有一个动态的解决方案会很好。但这暂时可以正常工作。