如何在加载报告之前添加过滤器
How to add filters before loading reports
我是 power bi 的新手。
我已经实现了多个简单的 power bi 报告,其中后端是 IMPORT 而不是 Direct Query 并且 Excel-sheet.
我还使用 power bi embedded 和 IFrame 成功嵌入了它们。
现在我有一个挑战:
我想按日期范围过滤我的报告。
在使用 power bi embedded 或 IFrame 加载报表之前,我想应用两个过滤器 fromdate 和 todate。
这些过滤器值将从网络应用程序日期选择器中选择,然后单击加载,我想通过应用这些过滤器来显示我的报告。
我浏览了以下链接,但仍然不明白如何实现:
https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details
即使我有相同的要求,我们有嵌入式报告,并且从客户端我们有日期范围选择器。一旦您设置了 select 日期范围,您的报告就会进行过滤。
我尝试手动推送日期并且成功了,来自 javascript。
下面是示例代码
var fromDate = new Date("2011/10/30");
fromDate = fromDate.toJSON();
var toDate = new Date("2011/02/01");
toDate = toDate.toJSON();
$predefinedFilter1.on('click', function (event) {
var models = window['powerbi-client'].models;
const advancedFilter = new models.AdvancedFilter({
table: "Time",
column: "Date"
}, "And", [
{
operator: "GreaterThan",
value: fromDate
},
{
operator: "LessThan",
value: toDate
}
]);
//report.page("ReportSection3").setFilters([advancedFilter])
report.setFilters([advancedFilter])
.catch(errors => {
// Handle error
});
});
希望你能理解。
我是 power bi 的新手。
我已经实现了多个简单的 power bi 报告,其中后端是 IMPORT 而不是 Direct Query 并且 Excel-sheet.
我还使用 power bi embedded 和 IFrame 成功嵌入了它们。 现在我有一个挑战:
我想按日期范围过滤我的报告。
在使用 power bi embedded 或 IFrame 加载报表之前,我想应用两个过滤器 fromdate 和 todate。 这些过滤器值将从网络应用程序日期选择器中选择,然后单击加载,我想通过应用这些过滤器来显示我的报告。
我浏览了以下链接,但仍然不明白如何实现:
https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details
即使我有相同的要求,我们有嵌入式报告,并且从客户端我们有日期范围选择器。一旦您设置了 select 日期范围,您的报告就会进行过滤。 我尝试手动推送日期并且成功了,来自 javascript。 下面是示例代码
var fromDate = new Date("2011/10/30");
fromDate = fromDate.toJSON();
var toDate = new Date("2011/02/01");
toDate = toDate.toJSON();
$predefinedFilter1.on('click', function (event) {
var models = window['powerbi-client'].models;
const advancedFilter = new models.AdvancedFilter({
table: "Time",
column: "Date"
}, "And", [
{
operator: "GreaterThan",
value: fromDate
},
{
operator: "LessThan",
value: toDate
}
]);
//report.page("ReportSection3").setFilters([advancedFilter])
report.setFilters([advancedFilter])
.catch(errors => {
// Handle error
});
});
希望你能理解。