gpt4 book ai didi

powerquery - 从 json 动态扩展所有列表和记录

转载 作者:行者123 更新时间:2023-12-05 03:07:01 26 4
gpt4 key购买 nike

我想在 json 响应中展开所有列表和记录。列就像例如(这是动态的,也可以是10条记录5个列表):

文本,文本,[列表],[列表],文本,[记录],[记录],字符串,[记录]

我写了一个函数来获取特定类型的所有列

Cn.GetAllColumnsWithType = (table as table, typ as type) as list =>
let
ColumnNames = Table.ColumnNames(table),
ColumnsOfType = List.Select(ColumnNames, (name) =>
List.AllTrue(List.Transform(Table.Column(table, name), (cell) => Type.Is(Value.Type(cell), typ))))
in
ColumnsOfType;

和一个从表格展开所有列表的函数

Cn.ExpandAllListsFromTable = (table as table, columns as list) =>
let
expandedListTable = List.Accumulate(columns, table, (state, columnToExpand) =>
Table.ExpandListColumn(state, columnToExpand))
in
expandedListTable;

所有列表现在都是记录,我想动态扩展所有这些记录。

我想我需要一个 foreach 来遍历列表(这只是 Cn.GetAllColumnsWithType 的记录原因),Table.ExpandRecordColumn 每个元素及其 Table.ColumnNames 并将其添加到表中,但我不知道该怎么做。也许你可以帮助我,因为它让我发疯。干杯

编辑:我最近打开了一个线程,但我想扩展一个特定的线程,比如

#"SelectItems" = Table.SelectColumns(records,{"$items"}),
#"$items1" = #"SelectItems"{0}[#"$items"],

但现在我想动态地完成这一切。

最佳答案

Chris Webb 编写了一个函数来为表类型列执行此操作:

http://blog.crossjoin.co.uk/2014/05/21/expanding-all-columns-in-a-table-in-power-query/

我已经分享了我为记录类型列制作的调整版本:

https://gist.github.com/Mike-Honey/0a252edf66c3c486b69b

关于powerquery - 从 json 动态扩展所有列表和记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48542013/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com