PowerBI-JavaScript学习日记(嵌入三:分阶段嵌入)

分阶段嵌入

Background

一般用powerbi.embed做嵌入

var config = {
    type: 'report',
    tokenType: TokenType.Embed ,// or TokenType.Aad
    accessToken: ...,
    embedUrl: ...,
    id: ...,
    ...
};
 
// Get a reference to the embedded report HTML element
var embedContainer = $('#embedContainer')[0];
 
// Embed the report and display it within the div container.
var report = powerbi.embed(embedContainer, config);

调用后,嵌入式对象将被加载,并且与对象的任何交互都显示时完成。

为了改善用户体验和给码哥哥们提供更大的灵活性,就有了分阶段的API。

这个函数需要一个HTML元素和一个IembedConfiguration对象,类似于powerbi.embed(…)

// 先来一手配置对象
var config = {
    type: 'report',
    tokenType: TokenType.Embed,
    accessToken: ...,
    embedUrl: ...,
    id: ...,
    ...
};
 
// 获取页面元素
var embedContainer = $('#embedContainer')[0];
 
// 嵌入报表并渲染
var report = powerbi.load(embedContainer, config);

...
// 加载完成后就会触发loaded这个事件
report.on("loaded", function() {
    var pages = report.getPages();
    ...
}

Render

如果用powerbi.load(),则需要用report.render()来继续渲染报表
渲染成功后触发‘rendered’

report.on('loaded', function() {
   // 调用render()
   report.render();
});

report.on('rendered', () => {
   // rendered handler 渲染处理程序
});

例:

const config = {
...
};

var report = powerbi.load(config);

report.on('loaded',async () => {
    await report.setFilters(fitlers);
    report.render();
});

支持的API:

  1. Visuals:页面视觉效果
  2. Themes:报告主题
  3. Filters:设置、获取和重置所有过滤器(报表,页面和Visuals)
  4. Slicers:设置并获取Slicers状态
  5. Page navigation:页面导航设置
  6. Update settings:更新设置
  7. Bookmarks:获取和使用书签

一,Visuals

Get Visuals

获取视觉效果列表,如果要获取特定也年中的视觉效果列表,需要使用Page对象上的getVisuals async方法。

page.getVisuals().then(function(visuals) {
  ...
});

例:在第一页上获取视觉效果列表

report.getPages()
  .then(function (pages) {
    // Retrieve first page.
    var firstPage = pages[0];
 
    firstPage.getVisuals()
      .then(function (visuals) {
        console.log(visuals);
      })
  })

二,Themes

Apply Report Themes

应用报告主题,PBI可以将样式主题应用于整个列表。
在PBI Desktop中使用报表主题
主题设置应在JSON文件中按照规定格式定义:报表主题JSON格式
功能:可以保存并发布带有主题的报表。
使用PBI还可以嵌入自定义主题,可根据设置将具有不同主题的同一个报表加载给不同的用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值