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


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

Примечание.

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

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

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

Running sum = RUNNINGSUM([Sales Amount])

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Axis

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

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

Примечание.

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

Reset

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

  • NONE значение по умолчанию и не сбрасывает вычисление.
  • HIGHESTPARENT сбрасывает вычисление при изменении значения самого высокого родительского элемента на оси.
  • LOWESTPARENT сбрасывает вычисления при изменении значения наименьшего родительского элемента на оси.
  • Числовое значение, ссылающееся на поля на оси, с самым высоким полем, равным одному.
  • Ссылка на поле до тех пор, пока поле находится в визуальном элементе.

Чтобы понять и LOWESTPARENTрассмотреть HIGHESTPARENT ось с тремя полями на нескольких уровнях: 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)

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

RUNNINGSUM([Sales Amount])

AxisORDERBY и Reset PARTITIONBY

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

  • Axis и Reset.
  • ORDERBY и PARTITIONBY

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

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

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

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

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

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

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

Примечание.

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

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

Этапов: Next

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