PowerBi-Javascript: как узнать значение visualName для настройки среза? - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь использовать библиотеку Microsoft PowerBi-Javascript для встраивания отчета в веб-страницу.Я хочу применить слайсер при загрузке, который зависит от фактической страницы, на которой я нахожусь (поэтому по умолчанию в отчете это сделать невозможно).

Библиотека wiki дает возможность сделать это, установивслайсеры в конфиге передаются в функцию встраивания.Объект слайсера выглядит примерно так (из документации https://github.com/Microsoft/PowerBI-JavaScript/wiki/Slicers):

interface ISlicer {
  // Selects a slicer to change.
  selector: SlicerSelector;

 // A new state of the slicer
 state: ISlicerState;
}

interface ISlicerSelector {
  $schema: string;
  visualName: string;
}

Я доволен настройкой состояния с помощью приведенных примеров фильтрации, но у меня возникают проблемы с поиском visualName для селектора- Я не вижу его в интерфейсе (при просмотре или редактировании), и я попытался использовать имена / заголовки и т. Д. Я не вижу ничего из того, что работает.

Как мне узнать и /или установить, что это визуальное имя?

1 Ответ

0 голосов
/ 21 декабря 2018

Я не нашел способа увидеть это в пользовательском интерфейсе.Надеемся, что есть лучший способ, чем приведенный ниже, но он работает.

Однако, можно узнать, используя API или эту библиотеку, если вы можете возиться с выполнением некоторого кода локально.

В моем случае я обнаружил (при локальной разработке) поиск страницы, а затем визуальные элементы, которые отображались после рендеринга отчета, регистрации данных на консоли и определения того, какой визуал былхотел.

Что-то вроде:

report.on('rendered', () => {
        report.getPages().then(pages => {
            pages[0].getVisuals().then(visuals => console.log(visuals))
        });
    });

Где в этом случае я заботился только о первой странице.

Затем в консоли регистрировались некоторые данные о каждом визуале, в том числе значения координат и visualName, поэтому я смог идентифицировать интересующий меня объект и увидеть его свойство visualName.

Смущает, что свойство visualName больше похоже на id (хотя и не на guid).

...