Я сталкиваюсь со следующей проблемой при использовании библиотеки PowerBI-JavaScript для установки фильтров на визуал:
Я не могу установить следующие типы фильтров: Расширенный (filterType: 0) и TopN (filterType: 5) на визуале при использовании функции setFilters
(на визуальном объекте), например:
const myAdvancedFilter = {
$schema: 'http://powerbi.com/product/schema#advanced',
target: {
table: 'MyDataTable',
measure: 'TimeDifference'
},
filterType: 0,
logicalOperator: 'And',
conditions: [
{
operator: 'GreaterThanOrEqual',
value: 0
},
{
operator: 'LessThanOrEqual',
value: 12
}
]
}
myVisual.setFilters([myAdvancedFilter])
.catch(errors => {
console.log(errors) // An error occurs
});
Это ошибка, которую я получаю:
Следующее также не работает:
reportPage.getVisuals().then(visuals => {
let firstVisual = visuals[0]; // Note: The report only contains one visual
firstVisual.getFilters().then(visualFilters => {
// The visualFilters array contains advanced/topN filters (note: the visual has the advanced filters applied when it is initially embedded; before I attempt to set filters)
firstVisual.setFilters(visualFilters).catch(errors => {
// If I attempt to set the 'visualFilters' to the visual I get the error depicted in the above screenshot. This issue shouldn't occur because the report already has these filters applied
});
})
})
Появляется функция setFilters()
для отправки запроса PUT
(/ report / pages / {PageName} visuals / {Visual} / filters) во встроенный отчет (в iframe), пропуская фильтры в теле запроса.Ответ возвращает ошибку «InvalidFilter».
Примечание: я могу установить основные фильтры, например, значение для столбца без каких-либо ошибок.Например:
const basicFilter = {
$schema: 'http://powerbi.com/product/schema#advanced',
filterType: 1,
operator: 'In',
target: {
table: 'MyDataTable',
column: 'Zone'
},
values: ['MyZone']
}
myVisual.setFilters([basicFilter])
.catch(errors => {
console.log(errors) // No error occurs
});
Я могу установить все фильтры (базовый, расширенный и topN) через панель фильтров, я просто не могу установить их программно через PowerBI-JavaScript библиотека.
Как мне решить эту проблему?