我不确定这是否可行,但我正在使用一个 API,它提供了一个 URI 作为值,我希望将其作为其他查询(针对每个结果)的来源。想象一下初始 Web 查询返回这样的值(想象一下一些小而有意义的东西,例如 100 个结果):
https://.../用户
{ "users": [
{ "name": "foo",
"email": "foo@localhost",
"uri": "https://example.com/user/admin-foo"
},
{ "name": "bar",
"email": "bar@localhost",
"uri": "https://example.com/user/anon-bar"
},
]
}
Power Query 结果:
姓名 | 电子邮件 | 乌里 |
---|---|---|
富 | foo@localhost | https://example.com/user/admin-foo |
酒吧 | 酒吧@本地主机 | https://example.com/user/anon-bar |
我想要做的是遍历每一行并使用 URL 获取更多详细信息(例如,发出https://example.com/user/admin-foo
和 的查询https://exmaple.com/user/anon-bar
)以加入初始查询。
例子
https://.../用户/管理员-foo
{ "foo": {
"name": "foo",
"is_admin": true,
"is_local": false,
"ip_address": "192.168.1.100/32"
}
}
https://.../用户/anon-bar
{ "bar": {
"name": "bar",
"is_admin": false,
"is_local": false,
"ip_address": "192.168.1.101/32"
}
}
姓名 | 电子邮件 | 乌里 | Ext.is_active | Ext.is_local |
---|---|---|---|---|
富 | foo@localhost | https://example.com/user/admin-foo | 真的 | 错误的 |
酒吧 | 酒吧@本地主机 | https://example.com/user/anon-bar | 错误的 | 错误的 |
答案1
非常简单,类似于:
Calls = List.Accumulate(#"Your Sample Table"[uri],{}, (state, current)=> state & {Web.Contents(current)})
将返回列中每个 uri 的 Web 内容列表(可能是二进制文件)uri
。
对于您的特定 uri,每个 uri 在解码时都会返回一条错误消息:
DataSource.Error: Web.Contents failed to get contents from 'https://example.com/user/admin-foo' (404): Not Found
Details:
DataSourceKind=Web
DataSourcePath=https://example.com/user/admin-foo
Url=https://example.com/user/admin-foo
DataSource.Error: Web.Contents failed to get contents from 'https://example.com/user/anon-bar' (404): Not Found
Details:
DataSourceKind=Web
DataSourcePath=https://example.com/user/anon-bar
Url=https://example.com/user/anon-bar