Power Bi Javascript API - 修改视觉效果
Power Bi Javascript API - Modify a visual
我正在使用 Power BI 嵌入式解决方案。我知道如何 select 报告中的特定视觉对象。我想要完成的是突出显示或在视觉上更改特定的视觉效果,以便我可以识别特定的视觉效果。在我的解决方案中,我创建了一个自定义讨论窗格,用户可以在其中就特定数据点进行交流。我希望能够显示页面上的哪些数据点具有与之关联的评论,以便我可以将用户吸引到这些点。有没有办法使用 Javascript API 改变 Power BI Visual 的视觉外观?如果是这样,有没有人有如何改变它的例子?
我找到了解决办法。通过使用另一个 Microsoft 库 Power BI Report Authoring. From this library, you can select a specific visual, and then apply properties to it. The code example from the git hub page 是:
report.getPages()
.then(function (pages) {
// Retrieve active page.
var activePage = pages.find(function (page) {
return page.isActive
});
activePage.getVisuals()
.then(function (visuals) {
// Retrieve the wanted visual. (replace "VisualContainer1" with the requested visual name)
var visual = visuals.find(function (visual) {
return visual.name == "VisualContainer1";
});
const selector: models.IVisualPropertySelector = {
objectName: "title",
propertyName: "alignment"
};
const propertyValue: models.IVisualPropertyValue = {
schema: "http://powerbi.com/product/schema#property",
value: "center" // models.TextAlignment.Center
};
visual.setProperty(selector, propertyValue)
.catch(errors => {
// Handle error
console.log(errors);
});
});
});
我正在使用 Power BI 嵌入式解决方案。我知道如何 select 报告中的特定视觉对象。我想要完成的是突出显示或在视觉上更改特定的视觉效果,以便我可以识别特定的视觉效果。在我的解决方案中,我创建了一个自定义讨论窗格,用户可以在其中就特定数据点进行交流。我希望能够显示页面上的哪些数据点具有与之关联的评论,以便我可以将用户吸引到这些点。有没有办法使用 Javascript API 改变 Power BI Visual 的视觉外观?如果是这样,有没有人有如何改变它的例子?
我找到了解决办法。通过使用另一个 Microsoft 库 Power BI Report Authoring. From this library, you can select a specific visual, and then apply properties to it. The code example from the git hub page 是:
report.getPages()
.then(function (pages) {
// Retrieve active page.
var activePage = pages.find(function (page) {
return page.isActive
});
activePage.getVisuals()
.then(function (visuals) {
// Retrieve the wanted visual. (replace "VisualContainer1" with the requested visual name)
var visual = visuals.find(function (visual) {
return visual.name == "VisualContainer1";
});
const selector: models.IVisualPropertySelector = {
objectName: "title",
propertyName: "alignment"
};
const propertyValue: models.IVisualPropertyValue = {
schema: "http://powerbi.com/product/schema#property",
value: "center" // models.TextAlignment.Center
};
visual.setProperty(selector, propertyValue)
.catch(errors => {
// Handle error
console.log(errors);
});
});
});