需要可嵌入报告服务中的报告规范动态指向不同的 table 名称
Need the report specification in the Embeddable Reporting service to dynamically point to a different table name
我正在使用 Bluemix 的嵌入式报告服务。我想动态更改报告定义的 SQL 查询中的 SQL 文本,以便从引用的 table 生成报告。可以使用 https://erservice-impl.ng.bluemix.net:443/ers/v1/definitions//specificationAPI 更改报告规范。但是,如何更改 SQL 文本?
以下是涉及的步骤:
- 在您最喜欢的创作工具中根据示例创作报告 table。
- 通过单击工具 > 将报告复制到剪贴板获取报告规范。
- 在报告规范中找到 SQL 字符串并将其更改为您可以轻松 search/replace 的标记。例如:
Select * from %%DATATABLE%%
- 将此模板保存在文件中或应用程序中的字符串变量中。
- Search/replace 字符串
%%DATATABLE%%
和你想要的 table。
执行报告:
一个。 POST 到 /ers/v1/packages/(package-id)/reports
内容类型 application/xml
和规范作为正文。响应将包含新报告的位置。
b。 GET /ers/v1/reports/(report-id)/html
以在 HTML.
中呈现报告
这里有一个 curl 的例子:
- 使用您的 cloudant/Mongo URL 和可嵌入报告服务凭据连接到该服务。例如:
curl --insecure -i -X POST --cookie-jar newcookies.txt -H "Content-Type: application/json" -d '{"bundleUri":"https:/(repository-uri)/"}' https://(ers-userid):(ers-password)@erservice-impl.ng.bluemix.net/ers/v1/connection
- 根据包含您的 database.For 示例的 packageId 的规范创建一个 运行 实例:
curl --insecure -i -X POST -b newcookies.txt -H "Content-Type: application/xml" -d '(report-spec-goes-here)' https://erservice-impl.ng.bluemix.net/ers/v1/packages/(package-id)/reports
这是一个示例响应:
{
...
"_links": {
"formats": [
{
"href": "/ers/v1/reports/JwVd3JkeR3SFUkLlOi1bWw/html",
"disposition": "paged",
"mimeType": "text/html"
},
... other formats ...
]
},
"_bundleID": "JwVd3JkeR3SFUkLlOi1bWw"
}
您现在可以 运行 response._links.formats.href
运行 HTML 中的实例。例如:
curl --insecure -i -X GET -b newcookies.txt https://erservice-impl.ng.bluemix.net:443/ers/v1/reports/JwVd3JkeR3SFUkLlOi1bWw/html
找回 HTML。
我正在使用 Bluemix 的嵌入式报告服务。我想动态更改报告定义的 SQL 查询中的 SQL 文本,以便从引用的 table 生成报告。可以使用 https://erservice-impl.ng.bluemix.net:443/ers/v1/definitions//specificationAPI 更改报告规范。但是,如何更改 SQL 文本?
以下是涉及的步骤:
- 在您最喜欢的创作工具中根据示例创作报告 table。
- 通过单击工具 > 将报告复制到剪贴板获取报告规范。
- 在报告规范中找到 SQL 字符串并将其更改为您可以轻松 search/replace 的标记。例如:
Select * from %%DATATABLE%%
- 将此模板保存在文件中或应用程序中的字符串变量中。
- Search/replace 字符串
%%DATATABLE%%
和你想要的 table。 执行报告:
一个。 POST 到
/ers/v1/packages/(package-id)/reports
内容类型application/xml
和规范作为正文。响应将包含新报告的位置。b。 GET
/ers/v1/reports/(report-id)/html
以在 HTML. 中呈现报告
这里有一个 curl 的例子:
- 使用您的 cloudant/Mongo URL 和可嵌入报告服务凭据连接到该服务。例如:
curl --insecure -i -X POST --cookie-jar newcookies.txt -H "Content-Type: application/json" -d '{"bundleUri":"https:/(repository-uri)/"}' https://(ers-userid):(ers-password)@erservice-impl.ng.bluemix.net/ers/v1/connection
- 根据包含您的 database.For 示例的 packageId 的规范创建一个 运行 实例:
curl --insecure -i -X POST -b newcookies.txt -H "Content-Type: application/xml" -d '(report-spec-goes-here)' https://erservice-impl.ng.bluemix.net/ers/v1/packages/(package-id)/reports
这是一个示例响应:
{
...
"_links": {
"formats": [
{
"href": "/ers/v1/reports/JwVd3JkeR3SFUkLlOi1bWw/html",
"disposition": "paged",
"mimeType": "text/html"
},
... other formats ...
]
},
"_bundleID": "JwVd3JkeR3SFUkLlOi1bWw"
}
您现在可以 运行 response._links.formats.href
运行 HTML 中的实例。例如:
curl --insecure -i -X GET -b newcookies.txt https://erservice-impl.ng.bluemix.net:443/ers/v1/reports/JwVd3JkeR3SFUkLlOi1bWw/html
找回 HTML。