javascript - PowerBi-Javascript:如何找出用于设置切片器的 visualName 值?
问题描述
我正在尝试使用 Microsoft 的 PowerBi-Javascript 库在网页中嵌入报告。我想在加载时应用切片器,这取决于我所在的实际页面(因此默认情况下无法在报告中完成)。
图书馆 wiki 通过在传递给嵌入函数的配置中设置切片器来提供一种方法。切片器对象看起来像这样(来自文档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 是什么?
解决方案
我还没有在 UI 中找到查看此内容的方法。希望有比下面更好的方法,但这确实有效。
但是,如果您能够在本地运行一些代码,则可以使用 api 或使用这个库来查找。
在我的例子中,我通过(在本地开发时)找到页面,然后在报告呈现后显示的视觉效果,将数据记录到控制台,并确定哪个视觉效果是我想要的。
就像是:
report.on('rendered', () => {
report.getPages().then(pages => {
pages[0].getVisuals().then(visuals => console.log(visuals))
});
});
在这种情况下,我只关心第一页。
然后,这会将有关每个视觉对象的一些数据记录到控制台,包括坐标值和视觉名称,因此我能够识别出我感兴趣的对象并查看其视觉名称属性。
令人困惑的是,visualName 属性看起来更像一个 id(尽管不是 guid)。
推荐阅读
- c# - 将值从 datagridview 转换为文本框
- ruby-on-rails - 在 rails admin 中过滤虚拟字段
- java - 推特上传按钮的网址
- java - Spring Cloud Data Flow - 在 CommandLineRunner 之前处理异常
- python - XGBoost超参数ValueError的优化:标签必须由形式为0、1、2、...、[num_class - 1]的整数标签组成
- powershell - 将 $MyInvocation.UnBoundArguments 传递给 Powershell 中的嵌套函数
- html - iOS 15 邮件中的图像 HTML
- php - 如何通过 POST 从表单中传递变量?
- r - R 中的 stem 函数是否正确处理大量计数?
- c# - 打印多页 C#