我正在努力传递一个过滤器,该过滤器必须在加载报告时传递到 powerbi。我正在使用带有
<PowerBiEmbed />
的 React TypeScript 是否可以传递我输入的值来过滤报告的 powerbiembed onload 内容?
我尝试制作这样的过滤器:
const filter: models.IBasicFilter = {
$schema: "http://powerbi.com/product/schema#basic",
filterType: models.FilterType.Basic,
target: {
table: "SampleTable",
column: "[Column1]"
},
operator: "In",
values: [12345]
};
然后在我的 PowerBIEmbed 上看起来像这样:
<PowerBIEmbed
embedConfig={{
type: 'report',
id: 'id', // Replace with your report ID
embedUrl: 'url', // Replace with your report's embed URL
tokenType: models.TokenType.Aad,
accessToken, // Replace with your access token
filters: [filter],
settings: {
panes: {
pageNavigation: {
visible: false
},
filters: {
expanded: false,
visible: false
}
}
}
}}
eventHandlers={
new Map([
['loaded', function () { console.log('Report loaded'); }],
['rendered', function () { console.log('Report rendered'); }]
])
}
/>
我希望使用我传递的过滤器加载报告
<PowerBiEmbed>
。
我发现了,我的过滤器值错误,这就是为什么它没有加载我想要的报告。要正确处理此问题,您必须检查此更改:
const filter: models.IBasicFilter = {
$schema: "http://powerbi.com/product/schema#basic",
filterType: models.FilterType.Basic,
target: {
table: "SampleTable",
column: "Column1"
},
operator: "In",
values: ["12345"]
};
问题是该列不应包含在 [] 中,并且在我的情况下还要检查该列的数据类型,我尝试将数字传递给过滤器,但我将其更改为字符串,现在它使用我想要的过滤器加载报告看。就是这样。