我正在反向工程一个将查询发送到的应用程序 通过JSON结构的查询的HTTP POST进行SOMESERVERNAME.analysis.windows.net/public/reports/querydata。
示例查询的某些初始行在此消息的末尾。
我在任何地方都找不到任何文档。我不知道这是一些秘密API还是什么。我最终只想完全忽略聚合,而只是转储原始数据,这些数据似乎位于后端的一些平面文件类型的容器中,但是由于没有一些API文档,我只能重新运行super我已经能够拦截的一些基本查询。
注意:此应用程序是使用PowerBI创建的嵌入式分析页面,但是我可以找到的PowerBI唯一的REST API与查询无关,而只是基本的对象管理。
谢谢!
{
"version": "1.0.0",
"queries": [
{
"Query": {
"Commands": [
{
"SemanticQueryDataShapeCommand": {
"Query": {
"Version": 2,
"From": [
{
"Name": "s",
"Entity": "Sheet1"
}
],
"Select": [
{
"Aggregation": {
"Expression": {
"Column": {
"Expression": {
"SourceRef": {
"Source": "s"
}
},
"Property": "Total"
}
},
"Function": 0
},
"Name": "Sum(Sheet1.Total)"
}
],
"Where": [
{
"Condition": {
"In": {
"Expressions": [
{
"Column": {
"Expression": {
"SourceRef": {
"Source": "s"
}
},
"Property": "Year"
}
}
],
"Values": [
[
{
"Literal": {
"Value": "'2018'"
}
}
]
]
}
}
},
............
答案 0 :(得分:0)
我已经构建了一个客户端,可以使用相同的 API 从特定的 Power BI 报告中提取数据,但您可能可以根据自己的用例进行调整。也许我们甚至可以将代码抽象为一个更通用的 Power BI 客户端!
修改 API 两天后,我意识到可以通过多种方式格式化数据:
data.PH
中)可以引用其他数据集(在 data.SH
中)基本内容如下:
S
,其中包含其和所有后续单元格的架构。G0
的 age
字段。我的客户似乎只处理特定类型的查询 (SemanticQueryDataShapeCommand
)、特定的维度 nr 和标记为主要的特定列(通过 Binding.Primary
)。但也许这有帮助! https://github.com/derhuerst/fetch-bvg-occupancy/blob/1ebb864b1ff7130f9d2f0ab031c6d78bcabdd633/lib/parse-dataset.js
答案 1 :(得分:0)
使用此 API 的唯一记录方式是通过 ADOMD.NET 或 OleDb provider。
如果您想以编程方式发送 DAX/MDX 查询并检索数据,这里有一个示例,说明如何使用简单的 REST API here 对服务进行前端处理。