如何获取嵌入式 Power BI 报表正在使用的 table(s)?
How can I get what table(s) an embedded Power BI report is using?
我想像这样动态创建自定义过滤器:
const filter = {
$schema: "http://powerbi.com/product/schema#basic",
target: {
table: "tableName",
column: "columnName"
},
operator: "In",
values: ["value1", "value2"]
};
为此,我需要知道当前显示的报告使用的 table 名称。有没有办法通过 Power BI Embedded JS 来请求这个 API?
编辑:
使用 dataSelected 事件,我可以解析出 selected 数据点的 table。
report.on('dataSelected', function (event) {
console.log(event.detail.dataPoints[0].values[0].target.table);
});
是否可以通过编程方式 select 所有数据来触发 dataSelected 事件,以便我可以检索 table? (我知道这很恶心)
获取数据功能刚刚在 Power BI Embedded JS SDK 中发布:
https://github.com/Microsoft/PowerBI-JavaScript/wiki/Export-Data
这允许您从报表的特定视觉对象中获取数据行(汇总或基础)。
这也应该 return 原来的 table 列,这样您就可以使您的过滤器更健壮,并减少 'dataselected'
事件侦听器等变通方法。
只需使用:
// Exports visual data
visual.exportData(models.ExportDataType.Summarized, 100)
.then(function (data) {
Log.log(data);
})
我想像这样动态创建自定义过滤器:
const filter = {
$schema: "http://powerbi.com/product/schema#basic",
target: {
table: "tableName",
column: "columnName"
},
operator: "In",
values: ["value1", "value2"]
};
为此,我需要知道当前显示的报告使用的 table 名称。有没有办法通过 Power BI Embedded JS 来请求这个 API?
编辑: 使用 dataSelected 事件,我可以解析出 selected 数据点的 table。
report.on('dataSelected', function (event) {
console.log(event.detail.dataPoints[0].values[0].target.table);
});
是否可以通过编程方式 select 所有数据来触发 dataSelected 事件,以便我可以检索 table? (我知道这很恶心)
获取数据功能刚刚在 Power BI Embedded JS SDK 中发布: https://github.com/Microsoft/PowerBI-JavaScript/wiki/Export-Data
这允许您从报表的特定视觉对象中获取数据行(汇总或基础)。
这也应该 return 原来的 table 列,这样您就可以使您的过滤器更健壮,并减少 'dataselected'
事件侦听器等变通方法。
只需使用:
// Exports visual data
visual.exportData(models.ExportDataType.Summarized, 100)
.then(function (data) {
Log.log(data);
})