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


Создание групп вычислений

Группы вычислений могут значительно сократить количество избыточных мер, которые необходимо создать, позволяя определять формулы выражений анализа данных (DAX) в качестве элементов вычисления. Элементы вычисления можно применять к существующим мерам в модели. Дополнительные сведения о группах вычислений см. в статье "Группы вычислений".

Добавление новой группы вычислений в представлении модели

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

Снимок экрана: кнопка

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

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

Неявная мера возникает, когда в режиме отчета используется столбец данных из панели данных непосредственно в визуальном элементе. Визуальный элемент позволяет агрегировать его как SUM, AVERAGE, MINMAXили другую базовую агрегирование, которая становится неявной мерой. При добавлении группы вычислений в модель Power BI запрещает создание неявных мер, не показывая символ суммирования рядом с столбцами данных в области данных и блокирует добавление столбцов данных в визуальные элементы непосредственно в качестве значений. Существующие неявные меры, уже созданные в визуальных элементах, продолжают работать. Свойство Запретить неявные меры должно быть включено, так как элементы вычислений не применяются к неявным мерам. Элементы вычисления применяются только к мерам или явным мерам.

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

Мера или явная мера возникает при создании новой меры и определении выражения DAX для агрегирования столбца данных. Явные меры также могут использовать условную логику и фильтры, полностью реализуя возможности, которые предлагает DAX. Руководство. Вы можете узнать , как создать собственные меры в Power BI Desktop.

Примечание.

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

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

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

Снимок экрана: строка формул DAX и группа вычислений.

Добавление группы вычислений с помощью представления Power BI TMDL

Вы можете создать группу вычислений в языке определения табличной модели или в представлении TMDL в Power BI Desktop. Измените семантику модели и используйте этот скрипт TMDL.

createOrReplace

	table 'Calculation group'

		calculationGroup
			precedence: 1

			calculationItem 'Calculation item' = SELECTEDMEASURE()

		column 'Calculation group column'
			dataType: string
			summarizeBy: none
			sourceColumn: Name
			sortByColumn: Ordinal

			annotation SummarizationSetBy = Automatic

		column Ordinal
			dataType: int64
			formatString: 0
			summarizeBy: sum
			sourceColumn: Ordinal

			annotation SummarizationSetBy = Automatic

Пример аналитики времени

В статье Группы вычислений в табличных моделях служб Analysis Services имеется пример использования функции анализа времени в группе вычислений, который можно использовать для заполнения некоторых элементов вычисления. Пример можно добавить в любую модель с таблицей даты или скачать PBIX Adventure Works DW 2020 из примера модели DAX — DAX.

Переименование группы вычислений

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

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

Переименование столбца группы вычислений

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

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

Переименование элемента вычисления

Первый элемент вычисления был создан как SELECTEDMEASURE(), чтобы его можно было переименовать, дважды щелкнув или используя панель свойств .

Снимок экрана: переименование элемента вычисления.

Создание дополнительных элементов вычисления

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

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

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

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

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

Снимок экрана: неправильное выражение DAX.

После внесения исправления в выражение DAX ошибка исчезнет.

Снимок экрана: исправленное выражение DAX.

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

Снимок экрана: исправленные выражения DAX в области элементов вычисления.

Переупорядочение элементов вычисления

Чтобы изменить порядок элементов вычисления в любом логическом способе, можно выбрать раздел "Элементы вычисления" в области "Свойства " или контекстное меню элемента вычисления, чтобы переместить его вверх или вниз в списке.

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

Добавление строки динамического формата в элемент вычисления

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

Снимок экрана: изменение формата базовых элементов данных.

Использование группы вычислений в отчетах

Чтобы использовать новую группу вычислений в отчете, перейдите в представление отчета , создайте визуальный элемент Матрицы и добавьте следующее:

  1. Столбец "Месяц" из таблицы "Дата" в строки
  2. Вычисление времени из группы вычислений Интеллектуальный анализ времени в столбцы
  3. Заказы сопоставляются со значениями

Примечание.

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

Orders = DISTINCTCOUNT('Sales Order'[Sales Order])

На следующем рисунке показана сборка визуального элемента.

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

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

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

Использование элемента вычисления в метриках

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

Чтобы создать меру [Orders YOY%], можно использовать элемент вычисления с функцией CALCULATE.

Orders YOY% = 
    CALCULATE(
        [Orders],
        'Time Intelligence'[Time Calculation] = "YOY%"
    )

Настройка приоритета группы вычислений

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

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

Дополнительные сведения о приоритете групп вычислений см. в статье о группах вычислений в табличных моделях служб Analysis Services.

Выражения выбора для групп вычислений

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

Соображения

Измерения модели изменяются на вариант типа данных

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

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

FORMAT([Dynamic format string], "")

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

Ошибка в визуальных элементах при выполнении математической операции на нечисловом показателе.

Нечисловые метрики обычно используются для динамических заголовков в визуализациях и в строках динамического формата для мер. Ошибка не может преобразовать значение ... типа Text в тип Numeric отображается на затронутых визуальных элементах. Выражение элемента вычисления может избежать этой ошибки, добавив проверку, чтобы узнать, является ли мера числовой перед применением математической операции. Используйте ISNUMERIC в элементе вычисления.

Calculation item safe = 
    IF ( 
        // Check the measure is numeric
        ISNUMERIC( SELECTEDMEASURE() ),
            SELECTEDMEASURE() * 2,
            // Don't apply the calculation on a non-numeric measure
            SELECTEDMEASURE()
        )

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

Статьи DirectQuery: