我正在尝试使用Microsoft的PowerBi-Javascript库将报告嵌入网页中。我想在加载时应用切片器,这取决于我所在的实际页面(因此默认情况下无法在报表上完成此操作)。
库Wiki通过在传递给embed函数的配置中设置切片器来提供实现此目的的方法。切片器对象看起来像这样(来自文档https://github.com/Microsoft/PowerBI-JavaScript/wiki/Slicers):
interface ISlicer {
// Selects a slicer to change.
selector: SlicerSelector;
// A new state of the slicer
state: ISlicerState;
}
interface ISlicerSelector {
$schema: string;
visualName: string;
}
我很高兴使用给定的过滤示例来设置状态,但是我在查找选择器的visualName时遇到了问题-在界面(查看或编辑时)看不到它,我我尝试使用名称/标题等,但我都看不到。
我如何找出和/或设置这个visualName是什么?
答案 0 :(得分:0)
我没有在UI中找到一种方法来查看此内容。希望有比下面更好的方法,但是确实可以。
但是,如果您能够在本地运行一些代码,可以使用api或使用此库来查找。
在我的情况下,我发现(在本地开发时)先找到页面,然后找到呈现报表后显示的视觉效果,将数据记录到控制台,并确定我想要的视觉效果。< / p>
类似的东西:
report.on('rendered', () => {
report.getPages().then(pages => {
pages[0].getVisuals().then(visuals => console.log(visuals))
});
});
在这种情况下,我只关心第一页。
然后这会将有关每个视觉的一些数据记录到控制台,包括坐标值和visualName,因此我能够识别出我感兴趣的那个并查看其visualName属性。
令人困惑的是,visualName属性看起来更像是一个ID(尽管不是GUID)。