Как отобразить подробную информацию по щелчку на столбчатой диаграмме в Power BI Report Server с помощью параметров API?

Вопросы и ответы

Я использую API в качестве источника данных в Power BI Report Server. У API есть две конечные точки:

  1. GET localhost/peoples : Возвращает полный список людей.
  2. GET localhost/peoples/{id} : Возвращает подробную информацию о конкретном человеке по его id.

В моем отчете Power BI Report Server, оптимизированном для отображения, есть столбчатая диаграмма, которая отображает всех людей и их соответствующие баллы. Что я хочу достичь следующее:

Когда пользователь нажимает на конкретную колонку в диаграмме (представляющую человека), я хочу отобразить подробную информацию об этом человеке в другом визуальном элементе (например, в таблице или другой диаграмме), сделав вызов ко второй конечной точке API (localhost/peoples/{id}) с id выбранного человека.

Вопросы:

  • Как я могу настроить взаимодействие между двумя визуальными элементами (столбчатой диаграммой и диаграммой с детальной информацией) в Power BI Report Server?
  • Как я могу настроить параметры запроса, чтобы передать id из выбранной колонки в вызов API для второго визуала? Любые советы или примеры будут очень полезны!

Что я пробовал:

Я пытался создать действие drillthrough, где нажатие на колонку передавало бы id выбранного человека во второй визуал, но не смог разобраться, как динамически передать id из выбранной колонки в детальный вызов API (localhost/peoples/{id}).

Что я ожидал:

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

Ответ

Для достижения цели по отображению детальной информации о человеке при нажатии на столбец в графике Power BI Report Server с использованием параметров API, выполните следующие шаги:

Шаг 1: Настройка данных

  1. Создайте источник данных:
    Убедитесь, что у вас настроены два HTTP-источника данных для API:

    • Один для получения списка людей: GET localhost/peoples
    • Второй для получения детальной информации о человеке: GET localhost/peoples/{id}
  2. Импортируйте данные:
    Импортируйте данные с первого API в Power BI. Это позволит вам создавать визуализации на основе общего списка людей, их оценок и идентификаторов.

Шаг 2: Создание визуализаций

  1. Создайте столбчатую диаграмму:
    Перейдите на вкладку "Визуализации" и выберите "Столбчатая диаграмма". Перетащите поле с именем человека и его оценку в соответствующие оси диаграммы.

  2. Создайте второй визуал:
    Создайте визуализацию, например, таблицу или карточку, чтобы отобразить детальную информацию о выбранном человеке. Пока визуализация будет пустой, мы позже свяжем ее с первым графиком.

Шаг 3: Настройка взаимодействия

  1. Настройка выделения:
    Выделите столбчатую диаграмму. Затем в меню "Формат" активируйте опцию "Взаимодействие". Убедитесь, что ваша таблица или другая визуализация настроена на взаимодействие, чтобы отображать данные в ответ на выбор в столбчатой диаграмме.

  2. Использование фильтров для передачи ID:
    В Power BI Report Server вы можете настроить фильтры на уровне визуализации. Для этого:
    • Выберите столбчатую диаграмму.
    • Перейдите в панель фильтров и добавьте "ID" человека как фильтр для второй визуализации. Это позволит динамически передавать выбранный ID.

Шаг 4: Настройка запроса API

  1. Используйте параметры для API:
    В таблице или визуализации, отображающей детальную информацию, настройте запрос к вашему API. В Power BI вам необходимо будет задать параметр (например, ID) для запроса второй конечной точки (например, GET localhost/peoples/{id}).

    Для этого вам может понадобиться настроить функцию или использовать M-код в редакторе запросов Power Query, чтобы динамически формировать URL на основе выбранного ID. Например:

    let
       SelectedID = SELECTEDVALUE(YourTable[ID]), // Получите выбранный ID
       Source = Web.Contents("localhost/peoples/" & Text.From(SelectedID)),
       JsonResponse = Json.Document(Source)
    in
       JsonResponse

Шаг 5: Тестирование и публикация

  1. Тестирование:
    Публикуйте отчёт на Power BI Report Server и тестируйте взаимодействие. Нажмите на столбец, и вторая визуализация должна обновляться с использованием данных из API.

  2. Отладка:
    Если данные не обновляются, проверьте настройки фильтров и убедитесь, что ID корректно передается в API запрос.

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

Оцените материал
Добавить комментарий

Капча загружается...