Поделиться через


Использование визуальных вычислений (предварительная версия)

Примечание.

Визуальные вычисления в настоящее время находятся в предварительной версии.

Визуальное вычисление — это вычисление DAX, определенное и выполняемое непосредственно на визуальном элементе. Визуальные вычисления упрощают создание вычислений, которые ранее сложно создавать, что приводит к упрощению DAX, упрощению обслуживания и повышению производительности.

Ниже приведен пример визуального вычисления, определяющего запущенную сумму для суммы продаж. Обратите внимание, что требуется DAX:

Running sum = RUNNINGSUM([Sales Amount])

Снимок экрана: DAX для визуальных вычислений.

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

Визуальные вычисления отличаются от других вариантов вычислений в DAX:

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

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

  • По сравнению с мерами визуальные вычисления работают на агрегированных данных вместо уровня детализации, что часто приводит к повышению производительности. Если вычисление может быть достигнуто с помощью новой меры или визуального вычисления, последний часто приводит к повышению производительности.

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

Более подробное сравнение способов добавления вычислений в Power BI см. в разделе "Использование параметров вычислений в Power BI Desktop".

После включения визуальных вычислений можно:

  • Добавление визуальных вычислений в отчеты
  • Скрытие определенных полей
  • Быстрое создание визуальных вычислений с помощью шаблонов
  • Создание гибких визуальных вычислений путем ссылки на оси визуального элемента

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

Включение визуальных вычислений

До сентября 2024 года для использования визуальных вычислений необходимо включить его в функциях> предварительной версии параметров и параметров.> Выберите визуальные вычисления и нажмите кнопку "ОК". Визуальные вычисления включены после перезапуска Power BI Desktop.

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

Добавление визуального вычисления

Чтобы добавить визуальное вычисление, выберите визуальный элемент и нажмите кнопку "Создать визуальное вычисление " на ленте:

Снимок экрана: выбор новой кнопки визуального вычисления на ленте.

Откроется окно визуальных вычислений в режиме редактирования. Экран режима редактирования состоит из трех основных разделов, как показано сверху вниз на следующем рисунке:

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

Снимок экрана: области редактирования визуальных вычислений.

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

Profit = [Sales Amount] – [Total Product Cost]

Снимок экрана: ввод визуального вычисления.

По умолчанию большинство визуальных вычислений в визуальном элементе вычисляются по строкам, как вычисляемый столбец. В предыдущем примере для каждой строки визуальной матрицы вычитаются текущие объем продаж и общие затраты на продукт, а результат возвращается в столбце прибыли. Хотя это возможно, нет необходимости добавлять функцию агрегирования, например SUM , как и в меру. На самом деле, лучше не добавлять такие агрегаты, если они не нужны, чтобы можно было проще различать меры и визуальные выражения вычислений.

При добавлении визуальных вычислений они отображаются в списке полей визуального элемента:

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

Кроме того, визуальное вычисление отображается на визуальном элементе:

Снимок экрана: визуальные вычисления, отображаемые на визуальном элементе.

В визуальных вычислениях можно использовать множество существующих функций DAX. Функции, относящиеся к визуальным вычислениям, также доступны. Так как визуальные вычисления работают в пределах визуальной матрицы, функции, основанные на отношениях модели, таких как USERELATIONSHIP, RELATED или RELATEDTABLE , нельзя использовать.

Скрытие полей из визуального элемента

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

Снимок экрана: скрытие элементов из представления визуального элемента.

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

Использование шаблонов

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

Снимок экрана: использование шаблонов для визуальных вычислений.

Вы также можете создать шаблонное визуальное вычисление на ленте, щелкнув в нижней части кнопки "Создать визуальное вычисление ".

Доступны следующие шаблоны:

  • Выполнение суммы. Вычисляет сумму значений, добавляя текущее значение к предыдущим значениям. Использует функцию RUNNINGSUM .
  • Скользящее среднее. Вычисляет среднее значение набора значений в заданном окне, разделив сумму значений по размеру окна. Использует функцию MOVINGAVERAGE .
  • Процент родительского элемента. Вычисляет процент значения относительно родительского значения. Использует функцию COLLAPSE .
  • Процент большого общего числа. Вычисляет процент значения относительно всех значений COLLAPSEALL с помощью функции.
  • Среднее число детей. Вычисляет среднее значение набора дочерних значений. Использует функцию EXPAND .
  • По сравнению с предыдущим. Сравнивает значение с предыдущим значением, используя функцию PREVIOUS .
  • Против следующего. Сравнивает значение с последующим значением с помощью NEXT функции.
  • Против первого. Сравнивает значение с первым значением, используя функцию FIRST.
  • По сравнению с последним. Сравнивает значение с последним значением, используя функцию LAST.

При выборе шаблона вставляется шаблон в строку формул. Эти шаблоны можно использовать в качестве отправных точек. Вы также можете добавлять собственные выражения без использования шаблонов.

Axis

Многие функции имеют необязательный Axis параметр, который можно использовать только в визуальных вычислениях. Axis влияет на то, как визуальный расчет проходит по визуальной матрице. Параметр Axis по умолчанию установлен на первую ось в визуализации. Для многих визуальных элементов первая ось является ROWS, что означает, что визуальные данные вычисляются в визуальной матрице по строкам, сверху вниз. В следующей Axis таблице показаны допустимые значения параметра:

Axis икона Имя в Axis Description
ROWS Вычисляет вертикально по строкам сверху вниз.
COLUMNS Вычисляет по горизонтали между столбцами слева направо.
ROWS COLUMNS Вычисляет по вертикали по строкам сверху вниз, продолжая столбец за столбцом слева направо.
COLUMNS ROWS Вычисляет по горизонтали между столбцами слева направо, переходя от строки к строке сверху вниз.

Примечание.

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

Reset

Многие функции имеют необязательный Reset параметр, доступный только в визуальных вычислениях. Reset влияет на то, если и когда функция сбрасывает значение до 0 или переключается на другую область при обходе визуальной матрицы. Параметр Reset по умолчанию имеет значение None, что означает, что визуальное вычисление никогда не перезапускается. Сброс ожидает, что на оси будет несколько уровней. Если на оси есть только один уровень, можно использовать PARTITIONBY. В следующем списке описываются допустимые значения параметра Reset :

  • NONE значение по умолчанию и не сбрасывает вычисление.
  • HIGHESTPARENT сбрасывает вычисление при изменении значения самого высокого родительского элемента на оси.
  • LOWESTPARENT сбрасывает вычисления при изменении значения наименьшего родительского элемента на оси.
  • числовое значение, ссылающееся на поля на оси. Поведение зависит от указанного значения:
    • Если нулевое или опущено, вычисление не сбрасывается. Эквивалентно NONE.
    • Если значение положительное, определяет столбец, начиная с самого высокого, независимо от зерна. Значение 1 эквивалентно HIGHESTPARENT.
    • Если отрицательный, целое число определяет столбец, начинающийся с самого низкого, относительно текущего зерна. -1 эквивалентно LOWESTPARENT.
  • Ссылка на поле до тех пор, пока поле находится в визуальном элементе.

Чтобы понять и HIGHESTPARENTрассмотреть LOWESTPARENT ось с тремя полями на нескольких уровнях: Year, Quarter и Month. Год HIGHESTPARENT , в то время как самый низкий родительский — квартал. Например, следующие визуальные вычисления эквивалентны и возвращают сумму объема продаж , которая начинается с 0 за каждый год:

RUNNINGSUM([Sales Amount], HIGHESTPARENT)
RUNNINGSUM([Sales Amount], 1)
RUNNINGSUM([Sales Amount], [Year])

В отличие от этого, следующие визуальные вычисления возвращают сумму суммы продаж , которая начинается с 0 за каждый квартал:

RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], 2)

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

RUNNINGSUM([Sales Amount])

Axis Reset и ORDERBY PARTITIONBY

Axis, Reset, ORDERBYи PARTITIONBY — это четыре функции, которые можно использовать в парах или вместе для влияния на оценку вычисления. Они образуют две пары, которые часто используются вместе:

  • Axis и Reset.
  • ORDERBY и PARTITIONBY

Axis и Reset доступны только для функций, которые могут использоваться в визуальных вычислениях и могут использоваться только в визуальном вычислении, так как они ссылаются на визуальную структуру. ORDERBY и PARTITIONBY — это функции, которые можно использовать в вычисляемых столбцах, метриках и визуальных вычислениях и которые ссылаются на поля. Хотя они выполняют ту же функцию, они отличаются на уровне абстракции, предоставленной; ссылка на визуальную структуру является более гибкой, чем явная ссылка на поля с помощью ORDERBY или PARTITIONBY.

Сброс ожидает, что на оси будет несколько уровней. Если на оси нет нескольких уровней, то есть только одно поле или несколько полей на одной оси, можно использовать PARTITIONBY.

Указание любой пары хорошо работает, но можно также указать Axisи ORDERBY (или) PARTITIONBY вместе, в этом случае значения, указанные для ORDERBY и PARTITIONBY, переопределяют значения, заданные Axisдля . Reset Не удается объединить с ORDERBY PARTITIONBY.

Вы можете думать о паре ORDERBY PARTITIONBY как закрепление полей вниз, явно указывая поля, где Ось и сброс являются неуклюжими — они ссылаются на структуру и любое поле, которое происходит в структуре, которая получается использовать.

Доступные функции

В визуальных вычислениях можно использовать многие существующие функции DAX. Поскольку визуальные вычисления работают в пределах визуальной матрицы, функции, основанные на отношениях модели, таких как USERELATIONSHIP, RELATED или RELATEDTABLE , недоступны.

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

Примечание.

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

Function Description Пример Ярлык
COLLAPSE Вычисление вычисляется на более высоком уровне оси. Процент родительского объекта = DIVIDE([Объем продаж], COLLAPSE([Объем продаж], ROWS)) Н/П
COLLAPSEALL Вычисление вычисляется на общем уровне оси. Процент общего объема = DIVIDE([Объем продаж], COLLAPSEALL([Сумма продаж], ROWS)) Н/П
EXPAND Вычисление вычисляется на более низком уровне оси. Среднее число детей = EXPAND(AVERAGE([Объем продаж]), ROWS) Н/П
EXPANDALL Вычисление вычисляется на конечном уровне оси. Среднее значение конечного уровня = EXPANDALL(AVERAGE([Объем продаж]), ROWS) Н/П
FIRST Ссылается на первую строку оси. ProfitVSFirst = [Прибыль] — FIRST([прибыль]) INDEX(1)
ISATLEVEL Сообщает, присутствует ли указанный столбец на текущем уровне. IsFiscalYearAtLevel = ISATLEVEL([финансовый год]) Н/П
LAST Ссылается на последнюю строку оси. ProfitVSLast = [Прибыль] — LAST([прибыль]) INDEX(-1)
MOVINGAVERAGE Добавляет скользящее среднее значение на оси. MovingAverageSales = MOVINGAVERAGE([Объем продаж], 2) WINDOW
NEXT Относится к следующему ряду оси. ProfitVSNext = [прибыль] — NEXT([прибыль]) OFFSET(1)
PREVIOUS Ссылается на предыдущий ряд оси. ProfitVSPrevious = [Прибыль] — PREVIOUS([прибыль]) OFFSET(-1)
RANGE Относится к срезу строк вдоль оси. AverageSales = AVERAGEX((RANGE1), [Объем продаж]) WINDOW
RUNNINGSUM Добавляет беговую сумму на оси. RunningSumSales = RUNNINGSUM([Объем продаж]) WINDOW

Форматирование визуальных вычислений

Вы можете отформатировать визуальное вычисление с помощью типов данных и параметров форматирования. Можно также задать строку формата пользовательского визуального уровня. Используйте параметры формата данных в разделе "Общие" области форматирования для визуального элемента, чтобы задать формат:

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

Рекомендации и ограничения

Визуальные вычисления в настоящее время находятся в предварительной версии и во время предварительной версии следует учитывать следующие рекомендации и ограничения.

  • Не все типы визуальных элементов поддерживаются. Используйте режим редактирования визуальных вычислений для изменения типа визуального элемента. Кроме того, пользовательские визуальные элементы не были протестированы с помощью визуальных вычислений или скрытых полей.
  • Были проверены следующие типы визуальных элементов и визуальные свойства, которые не работают с визуальными вычислениями или скрытыми полями:
    • Диаграмма дерева
    • Срез
    • Визуальный элемент R
    • Визуальный элемент Python
    • Key Influencers
    • Дерево декомпозиции
    • Q&A
    • Интеллектуальное повествование
    • Метрики
    • Отчет с разбивкой на страницы
    • Power Apps
    • Power Automate
    • Маленькие диаграммы
    • Ось воспроизведения на точечной диаграмме
  • Производительность этой функции не является представителем конечного продукта.
  • Повторное использование визуальных вычислений с помощью копирования и вставки или других механизмов недоступно.
  • Вы не можете фильтровать визуальные вычисления.
  • Визуальное вычисление не может ссылаться на себя на одном или другом уровне детализации.
  • Персонализация визуальных вычислений или скрытых полей недоступна.
  • Вы не можете прикрепить визуализацию, которая использует визуальные расчёты или скрытые поля, к панели мониторинга.
  • Вы не можете использовать функцию публикации в интернете с отчетами, используюющими визуальные вычисления или скрытые поля.
  • При экспорте данных из визуальных элементов результаты визуального вычисления не включаются в базовый экспорт данных . Скрытые поля никогда не включаются в экспорт, за исключением экспорта базовых данных.
  • Вы не можете использовать функции детализации записей с визуальными элементами, которые используют визуальные вычисления или скрытые поля.
  • Вы не можете задать категории данных для визуальных вычислений.
  • Вы не можете изменять агрегаты для визуальных вычислений.
  • Порядок сортировки для визуальных вычислений изменить нельзя.
  • Power BI Embedded не поддерживается для отчетов, использующих визуальные вычисления или скрытые поля.
  • Динамические подключения к службам SQL Server Analysis Services не поддерживаются.
  • Хотя можно использовать параметры поля с визуальными вычислениями, они имеют некоторые ограничения.
  • Отображение элементов без данных недоступно с визуальными вычислениями.
  • Ограничения данных нельзя использовать с визуальными вычислениями.
  • Вы не можете задать строку динамического формата для визуального вычисления и не использовать визуальное вычисление в качестве строки динамического формата для поля или меры.
  • Вы не можете использовать параметр Path Azure Maps с визуальными вычислениями.

Дальнейшие действия

Следующие статьи могут быть полезны при обучении и использовании визуальных вычислений: