PowerBi-Javascript:如何找出用于设置切片器的visualName值?

时间:2018-12-21 11:27:48

标签: javascript powerbi powerbi-embedded

我正在尝试使用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是什么?

1 个答案:

答案 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)。