Невозможно установить определенные типы фильтров Power BI (на визуальном изображении) - PullRequest
1 голос
/ 26 апреля 2019

Я сталкиваюсь со следующей проблемой при использовании библиотеки 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
  });

Это ошибка, которую я получаю:

Power BI error

Следующее также не работает:

 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 библиотека.

Как мне решить эту проблему?

...