所以我根据这个模型在Power Bi中进行了嵌入工作
[https://community.powerbi.com/t5/Developer/Embedded-Report-add-filter-to-EmbedConfig/td-p/199739]
但是一旦我添加过滤器,事情就开始失败了。它在配置中包含设置时出错。我按照这篇文章中概述的模型进行了操作。这是它在Angular 4中抛出的错误和代码块。任何人都对这个问题有什么想法?
src / app / components / reporting / reporting.component.ts(73,49)中的错误:错误TS2345:类型的参数' {type:string; accessToken:string; embedUrl:string; id:string; filters:{$ schema:string; TA ...'不能分配给' IEmbedConfigurationBase |类型的参数未定义&#39 ;. 输入' {type:string; accessToken:string; embedUrl:string; id:string; filters:{$ schema:string; TA ...'不能分配给' IEmbedConfigurationBase'。 财产类型'设置'是不相容的。 输入' {filterPaneEnabled:boolean; navContentPaneEnabled:boolean; }'不能分配类型' ISettings |未定义&#39 ;. 输入' {filterPaneEnabled:boolean; navContentPaneEnabled:boolean; }'没有与类型' ISettings'相同的属性。
let accessToken = 'XXX'; let embedUrl = 'https://app.powerbi.com/dashboardEmbed?dashboardId=XXX'; let embedReportId = 'XXX'; const myFilter = { $schema: "http://powerbi.com/product/schema#advanced", target: { table: "myTable", column: "myColumn" }, operator: "In", values: ["1"] }; let config= { type: 'dashboard', accessToken: accessToken, embedUrl: embedUrl, id: embedReportId, filters: [myFilter], settings: { filterPaneEnabled: true, navContentPaneEnabled: false } }; // Grab the reference to the div HTML element that will host the report. let reportContainer = document.getElementById('reportContainer'); // Embed the report and display it within the div container. let powerbi = new pbi.service.Service(pbi.factories.hpmFactory, pbi.factories.wpmpFactory, pbi.factories.routerFactory); let report = powerbi.embed(reportContainer, config);
答案 0 :(得分:0)
我不知道这是否是导致此问题的原因,但它可能会导致一些问题 - 您正在混合2种方法。报表嵌入在其配置中支持过滤器(IReportLoadConfig)[https://github.com/Microsoft/powerbi-models/blob/1daad509c435a6f722222d753f1372c80763ad33/src/models.ts#L618],它使用您在myFilter中引用的界面...
但是,您正试图嵌入仪表板,根据您的配置类型(“仪表板”)&你的embedUrl(dashboardEmbed)。这可能是输入问题。
此外,我建议您使用Power BI JS SDK或(PowerBI-Models)[https://github.com/Microsoft/powerbi-models/]中提供的类型,以确保根据需要传递类型,使用Typescript类型 - 检查。
答案 1 :(得分:0)
我有同样的问题。只需替换本地设置,如下所示。
settings: {
localeSettings: {
language: "en",
formatLocale: "es"
}
}