Входные данные для диаграммы Санки в Vega на PowerBI Deneb

Вопрос или проблема

Я пытаюсь создать аналогичный визуальный элемент, как в этой ссылке ниже в Deneb PowerBI: Sankey charts (alluvial charts) – By PBI – Davide. Я вижу, что данные вводятся вручную в виде JSON, например:

"data": [
    {
      "name": "input",
      "values": [
        {
          "category": "Серверные продукты и облачные технологии",
          "stack": 1,
          "sort": 1,
          "labels": "left"
        },
        {
          "category": "Корпоративные услуги",
          "stack": 1,
          "sort": 2,
          "labels": "left",
          "gap": 20
        },
        {
          "category": "Офисные продукты",
          "stack": 1,
          "sort": 3,
          "labels": "left"
        }
    }

В PowerBI данные импортируются в виде

{
  "data": [
    {
      "name": "dataset"
    } 
}

Есть ли способ как-то использовать значения из “dataset” полей PowerBI (воспользовавшись контекстом фильтра для получения конкретных значений) в полях “name”:”input”.

Например: я хочу добиться чего-то подобного

"data": [
{
  "name": "dataset"
},
{
  "name": "input",
  "values": [
    {
      "category": "Серверные продукты и облачные технологии",
      "stack": "datum['Measure1']",  // Пользовательское значение из мер PowerBI
      "sort": 1,
      "labels": "left"
    },
    {
      "category": "Корпоративные услуги",
      "stack": "datum['Measure2']",  // Пользовательское значение из мер PowerBI
      "sort": 2,
      "labels": "left",
      "gap": 20
    },
    {
      "category": "Офисные продукты",
      "stack":"datum['Measure3']",  // Пользовательское значение из мер PowerBI
      "sort": 3,
      "labels": "left"
    }
}

Однако, это не позволяет мне сделать так. Я новичок в Vega и думаю, что есть другой способ ссылаться на эти значения.

В .pbix два отчета. Inline имеет встроенные данные, как вы говорите, но второй отчет под названием Data Driven уже делает то, что вы спрашиваете.

.

Ответ или решение

Для создания Sankey chart (или аллювиальной диаграммы) в Deneb на платформе Power BI с использованием данных из контекста фильтров, необходимо понимать, как правильно задать входные данные и связывать их с мерами Power BI. Ниже представлен подробный ответ на ваш запрос с объяснением необходимых шагов.

Шаг 1: Понимание структуры данных в Vega

Vega предоставляет возможность визуализации данных с использованием JSON-структуры. Каждый элемент визуализации может содержать набор данных, имя которого указывается в поле name. В вашем примере, данные вводятся вручную в блоке "input" для отображения различных категорий и связанных значений.

Шаг 2: Подготовка данных в Power BI

Во-первых, убедитесь, что ваши меры (например, Measure1, Measure2, Measure3) правильно настроены в модели данных Power BI. Эти меры должны извлекать необходимые значения на основе контекста фильтров, применяемого в отчете.

Для доступа к этим мерам в Vega необходимо сначала импортировать данные в виде объекта:

"data": [
    {
        "name": "dataset"
    }
]

Здесь вы создаете объект dataset, который будет содержать все данные, доступные в вашем отчете.

Шаг 3: Создание блока input с параметрами из Power BI

Для того чтобы динамически извлекать значения из меры Power BI и использовать их в блоке "input" для Sankey chart, стоит воспользоваться следующей структурой:

"data": [
    {
        "name": "dataset"
    },
    {
        "name": "input",
        "values": [
            {
                "category": "Server Products & Cloud",
                "stack": {"signal": "datum['Measure1']"},
                "sort": 1,
                "labels": "left"
            },
            {
                "category": "Enterprise Services",
                "stack": {"signal": "datum['Measure2']"},
                "sort": 2,
                "labels": "left",
                "gap": 20
            },
            {
                "category": "Office Products",
                "stack": {"signal": "datum['Measure3']"},
                "sort": 3,
                "labels": "left"
            }
        ]
    }
]

Обратите внимание на использование {"signal": "datum['Measure1']"} — это позволяет ссылаться на значения, полученные из Power BI. Таким образом, вы сможете динамически обновлять визуализацию в зависимости от текущего контекста фильтров.

Шаг 4: Публикация и проверка

После того как вы внесли изменения в JSON-код, проверьте визуализацию в Power BI, убедившись, что все меры правильно воспринимаются и отображаются на диаграмме Sankey. Зафиксируйте данные, чтобы убедиться, что значения отрабатываются корректно во всех сценариях использования.

Заключение

Использование значений из Power BI в визуализациях Vega требует точной настройки JSON-структуры и правильного обращения к сигналам. Следуя вышеуказанным шагам, вы сможете динамически интегрировать данные в Sankey chart, что упростит отображение комплексных взаимосвязей между вашими категориями.

Если у вас возникнут дополнительные вопросы или потребуется помощь, пожалуйста, дайте знать!

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

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