Версия: 1.7

Набор данных

Данные, добавленные в область Values визуала, автоматически связываются с внутренним набором данных dataset в представлении Vega или Vega-Lite. Он обновляется при добавлении и удалении столбцов и мер, а также при изменении числа строк — например, из-за изменения контекста фильтрации.

Связь данных визуала со спецификацией

Хотя данные передаются из Power BI, спецификация должна содержать ссылку на именованный набор dataset. Иначе при разборе спецификации значения не попадут в кодирование. Всегда проверяйте наличие следующего фрагмента:

Vega-Lite
{
    ...
    "data": { "name": "dataset" }
    ...
}
Vega
{
    ...
    "data": [
        { "name": "dataset" }
    ]
    ...
}

Все встроенные шаблоны визуала используют этот подход. Если сомневаетесь, создайте спецификацию из шаблона [empty] и используйте её как основу.

Детализация и контекст строки

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

Допустим, в визуал добавлены следующие данные:

Столбец City и мера Mean Temperature

Если вы привыкли работать с JSON, при разборе спецификации в неё подставляется представление, похожее на следующее:

{
  "dataset": [
    { "City": "Auckland", "Mean Temperature": 14.62 },
    { "City": "Christchurch", "Mean Temperature": 9.49 },
    { "City": "Dunedin", "Mean Temperature": 6.83 },
    { "City": "Hamilton", "Mean Temperature": 13.27 },
    { "City": "Lower Hutt", "Mean Temperature": 12.12 },
    { "City": "North Shore", "Mean Temperature": 14.62 },
    { "City": "Tauranga", "Mean Temperature": 12.99 },
    { "City": "Waitakere", "Mean Temperature": 14.62 },
    { "City": "Wellington", "Mean Temperature": 12.12 }
  ]
}

Дополнительные поля

При просмотре набора данных на панели Data или данных примитива через подсказку вы увидите дополнительные поля, которых нет в модели данных.

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

Обращение к столбцам и мерам

Когда в спецификации нужно обратиться к столбцу или мере, используйте отображаемое имя из области Values, а не имя из модели данных.

Если вы переименовали или удалили столбец либо меру, обновите спецификацию соответствующим образом.

Специальные символы в именах столбцов и мер

При именовании столбцов и мер в модели данных можно использовать самые разные символы. Однако у Vega, Vega-Lite и JSON есть особенности привязки полей и выражений для некоторых символов, прежде всего ., [, ], \ и ".

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

Для примера возьмём такую меру:

Имя меры содержит точку

При обращении к ней через канал field нужно заменить . подчёркиванием:

{
    ...
    "x": {
      "field": "$ Sales_Current",
      "type": "quantitative"
    }
    ...
}

Если вы передаёте столбцы или меры со специальными символами и не хотите такой замены, переименуйте их в области Values, чтобы специальные символы не попадали в набор данных.

Изменение сопоставления полей спецификации

Меры и столбцы, привязанные к каналам кодирования или выражениям, могут использоваться во многих местах спецификации. Если вы хотите заменить поле или переименовали его в области данных Values, искать и заменять все ссылки вручную может быть неудобно.

Чтобы упростить эту задачу, нажмите команду Edit Specification Field Mapping или Ctrl + Alt + F. Откроется диалог со списком всех полей набора данных, обнаруженных в кодированиях и выражениях:

Диалог изменения сопоставления полей спецификации

Как и при создании спецификации из шаблона, вы можете добавлять и удалять поля в области Values. Они станут доступны для выбора и замены.

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

Добавление других наборов данных

В спецификации Vega можно добавить другие объекты data в массив. Спецификации Vega-Lite также могут содержать наборы данных отдельных слоёв или несколько именованных наборов. Но учитывайте следующее:

  • Сертифицированные визуалы AppSource не могут получать данные или ресурсы из внешних источников.
    • Поэтому загрузка внешних файлов в визуале не разрешена.
    • Можно попробовать это в автономной версии, но загрузка данных с удалённых адресов подчиняется ограничениям CORS из-за правил безопасности всех пользовательских визуалов Power BI. Подробнее об этих ограничениях рассказано в справочнике HTML Content, в разделе «Custom visuals — high-level».
  • Поэтому рекомендуется считать именованный источник "dataset" единственным источником всех данных модели для вашей спецификации.

Особенности преобразования данных

Vega и Vega-Lite поддерживают преобразования, которые изменяют исходные данные. Это может быть необходимо для определённых типов визуализации, но меняет контекст строки. Некоторые возможности после этого могут стать недоступны, особенно связанные с интерактивностью. Подробности приведены в разделе «Интерактивность».

Ограничение числа строк

Чтобы в большинстве случаев сохранялась приемлемая производительность, по умолчанию визуал ограничивает число строк значением 10 000.

При желании это ограничение можно снять. Однако число возвращённых строк будет зависеть от доступных ресурсов и полностью определяться Power BI.

Чтобы снять ограничение, найдите меню Data Limit Options на панели форматирования Power BI:

Меню Data Limit Options

При включении Override Row Limit Deneb просит Power BI загрузить в набор дополнительные строки порциями по 10 000, например:

Загрузка дополнительных строк при включённой Override Row Limit

При использовании этой настройки нужно учитывать несколько особенностей. Поэтому Show Data Loading Notes включена по умолчанию: она кратко объясняет авторам и разработчикам ограничения этой возможности.

Хотя эти сведения видны на снимке экрана, основные моменты перечислены и здесь:

  • Power BI повторно загружает данные визуала, когда:
    • Вы добавляете или удаляете столбцы или меры из области Values.
    • Меняется контекст фильтрации визуала.
    • Изменяются значения на панели свойств.
  • Большинство операций в редакторе визуала не вызывает повторную загрузку. Если не выполнять перечисленные действия, Power BI должен лишь изредка прерывать работу для обновления набора данных.
  • Однако редактирование спецификации с большим количеством данных обычно отрицательно влияет на производительность. О возможных проблемах и способах их уменьшить см. «Производительность».

Когда вы освоитесь с этой возможностью или будете готовы опубликовать отчёт и не захотите показывать заметки пользователям, выключите Show Data Loading Notes, чтобы упростить экран:

Упрощённый экран загрузки без заметок