1

我正在尝试通过 REST Web 服务创建一个自定义 PowerBI 连接器,该服务返回一组分页记录(类似于 OData nextLink 模式)。该服务会忽略没有值的字段的空值,因此某些记录的字段可能比其他记录多或少。

例如,我可能会回来:

{
  "count": 2,
  "next_link": "...",
  "value": [
    {
      "first": "John",
      "last": "Doe"
    },
    {
      "first": "Jame",
      "middle": "S",
      "last": "Doe"
    }
  ]
}

我已经从 DataConnectors TripPin 存储库实现了分页机制(使用辅助函数 Table.GenerateByPage),但是当我查看记录列表时,我看到缺少字段的行出现错误。错误的形式如下:

Expression.Error: The field 'middle' of the record wasn't found.
Details:
    first=Jane
    last=Doe

根据文档:“组合表的列和表类型(即所有页面一起)来自第一页数据。” 但在上面的示例中,第一页数据包含一条没有“中间”名称字段的记录。

我了解该错误,但不确定如何在我的数据连接器中处理此错误。我希望 PowerBI 中的结果表对任何缺失值使用“null”。如何修改 Table.GenerateByPage 以对任何缺少的字段使用 null 来规范化连接列表?或者有没有更喜欢的方式来处理这种类型的数据?

4

1 回答 1

1

您需要按照 TripPin 教程系列中的第 7 个对数据实施架构:https ://github.com/Microsoft/DataConnectors/tree/master/samples/TripPin/7-AdvancedSchema

这确实有效 - 我最近在此处的通用 REST API 上实现了 Microsoft 的示例:https ://github.com/GrantQuick/BlackbaudSkyApi

于 2018-01-22T21:51:33.067 回答