【问题标题】:Expanding a record with unknown keys in Power Query在 Power Query 中扩展具有未知键的记录
【发布时间】:2021-07-19 09:34:21
【问题描述】:

我正在处理一个嵌套的 json 文件。问题是嵌套 json 的键是日期,它们的值事先不知道。因此我无法对其应用 expandRecordColumn 方法。

每一行都有一个唯一的 refId,看起来像这样

{
     "refId" : "XYZ",
     "snapshotIndexes" : {
               "19-07-2021" : {
                          url: "abc1",
                          value: "123"
                },
                "20-07-2021" : {
                          url: "abc2",
                          value: "567"
                }
       }
}

我终于想要一个包含这些列的表格,

refid    |     date     |     url      |    value
XYZ      |  19-7-2021   |     abc1     |      123 

XYZ      |  20-7-2021   |     abc2     |      567

PQR      |  7-5-2021    |     srt      |      999

在新表中,refId 和 date 将共同构成一个唯一条目。

这是 powerBi 快照 Records

【问题讨论】:

    标签: json database powerbi azure-cosmosdb powerquery


    【解决方案1】:

    我能够在每一行上使用 Record.ToTable 从记录转换为表,然后应用 ExpandTableColumn 来解决它

      let
            Source = DocumentDB.Contents("sourceurl"),
            Source = Source{[id="dbid"]}[Collections],
            SourceTable= Source{[db_id="dbid",id="PartnerOfferSnapshots"]}[Documents],
            ExpandedDocument = Table.ExpandRecordColumn(SourceTable, "Document", {"refId", "snapshotIndexes"}, {"Document.refId", "Document.snapshotIndexes"}),
            TransformColumns = Table.TransformColumns(ExpandedDocument,{"Document.snapshotIndexes", each Table.ExpandRecordColumn(Record.ToTable(_), "Value", {"url","id","images"}, {"url","id","images"})}),
            ExpandedTable = Table.ExpandTableColumn(TransformColumns, "Document.snapshotIndexes", {"Name","url","id","images"}, {"Document.dates","Document.url","Document.id","Document.images"})
        in
            ExpandedTable
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-25
      • 2018-11-18
      • 2019-04-02
      • 1970-01-01
      相关资源
      最近更新 更多