json 通过Power Query在Excel中创建Smartsheet数据

7ajki6be  于 2024-01-09  发布在  其他
关注(0)|答案(2)|浏览(197)

Smartsheet的API输出将行和列作为相互独立的单独对象返回。这将导致列的单独记录(字段名称列表)和行的另一组记录(具有来自各个字段的值的单个字段的记录)
有没有一种方法可以返回一个JSON列表(行和列导致一个记录列表)?
这是我在查询编辑器中使用的返回单独的列和列的代码

  1. = Web.Contents(
  2. "https://api.smartsheet.com/1.1/sheet/[SHEET_ID]",
  3. [
  4. Headers =
  5. [
  6. #"Authorization" = "Bearer YOUR_API_TOKEN"
  7. ]
  8. ]
  9. )

字符串

xkftehaa

xkftehaa1#

我使用他们网站上的样本数据来实现这组转换:

  1. let
  2. Source = Json.Document(File.Contents("D:\testdata\foo.json")),
  3. ColumnIds = List.Transform(Source[columns], each Text.From([id])),
  4. ColumnNames = List.Transform(Source[columns], each [title]),
  5. Table = Table.FromList(Source[rows], Splitter.SplitByNothing(), null, null, ExtraValues.Error),
  6. Expanded = Table.ExpandRecordColumn(Table, "Column1", {"rowNumber", "cells"}, {"rowNumber", "cells"}),
  7. Mapped = Table.TransformColumns(Expanded, {"cells",
  8. each Record.Combine(List.Transform(_, each Record.AddField([], Text.From([columnId]), [value])))}),
  9. Result = Table.ExpandRecordColumn(Mapped, "cells", ColumnIds, ColumnNames)
  10. in
  11. Result

字符串

ojsjcaue

ojsjcaue2#

柯特·哈根洛彻的回答正是我所期待的
我做了一些更改,以获得rowID,并解决一些问题,如果工作表或某些列是空的

  1. let
  2. Source = Json.Document(File.Contents("C:\0\0\0\0\test.json")),
  3. ColumnIds = List.Transform(Source[columns], each Text.From([id])),
  4. ColumnNames = List.Transform(Source[columns], each [title]),
  5. Table = Table.FromList(Source[rows], Splitter.SplitByNothing(), 1, {"id", "rowNumber", "cells"}, ExtraValues.Error),
  6. Expanded = Table.ExpandRecordColumn(Table, "Column1", {"id", "rowNumber", "cells"}, {"id", "rowNumber", "cells"}),
  7. Mapped = Table.TransformColumns(Expanded, {"cells",
  8. each Record.Combine(List.Transform(_, each Record.AddField([], Text.From([columnId]), try [value] otherwise null)))}),
  9. Result = Table.ExpandRecordColumn(Mapped, "cells", ColumnIds, ColumnNames),
  10. #"Changed Type" = Table.TransformColumnTypes(Result,{{"id", type text}})
  11. in
  12. #"Changed Type"

字符串

展开查看全部

相关问题