Вычисляемый столбец позволяет добавлять новые данные в таблицу в модели данных Power Pivot. Вместо вставки или импорта значений в столбец создается формула выражений анализа данных (DAX), определяющая значения столбца.
Например, если вам нужно добавить значения прибыли от продаж в каждую строку таблицы factSales , При добавлении нового вычисляемого столбца и использовании формулы =[ОбъемПродаж]-[Общая стоимость]–[ОбъемВозврата] новые значения вычисляются путем вычитания значений из каждой строки в столбцах Общая стоимость и ReturnAmount из значений в каждой строке столбца Сумма продаж. Столбец "Прибыль" можно использовать в сводной таблице, сводной диаграмме или отчете Power View — так же, как и любой другой столбец.
На этом рисунке показан вычисляемый столбец в Power Pivot.
Примечание
Хотя вычисляемые столбцы и меры схожи, поскольку в них используется формула, они различаются. Чаще всего меры используются в области значений сводной таблицы или сводной диаграммы. Используйте вычисляемые столбцы, если необходимо поместить вычисляемые результаты в другую область сводной таблицы, например в столбец или строку сводной таблицы либо на ось сводной диаграммы. Дополнительные сведения о мерах см. в разделе Меры в Power Pivot.
Общие сведения о вычисляемых столбцах
Формулы в вычисляемых столбцах во многом похожи на формулы, создаваемые в Excel. Однако невозможно создать разные формулы для разных строк таблицы. Вместо этого формула DAX автоматически применяется ко всему столбцу.
Если столбец содержит формулу, значение вычисляется для каждой строки. Результаты вычисляются для столбца сразу после ввода формулы. Значения столбцов пересчитываются по мере необходимости, например при обновлении базовых данных.
Вычисляемые столбцы можно создавать в соответствии с мерами и другими вычисляемыми столбцами. Например, вы можете создать один вычисляемый столбец, чтобы извлечь число из строки текста, а затем использовать это число в другом вычисляемом столбце.
Пример
Можно использовать в вычисляемом столбце данные, добавляемые в существующую таблицу. Например, можно выполнить сцепление значений, выполнить сложение, извлечь подстроки или сравнить значения в других полях. Чтобы добавить вычисляемый столбец, у вас уже должна быть хотя бы одна таблица в Power Pivot.
Взгляните на эту формулу:
=EOMONTH([StartDate],0])
Используя образец данных Contoso, эта формула извлекает месяц из столбца StartDate в таблице Promotion. Затем он вычисляет значение на конец месяца для каждой строки в таблице повышения. Второй параметр определяет количество месяцев до или после месяца в StartDate; В данном случае 0 означает тот же месяц. Например, если значение в столбце "ДатаНачала" равно 01.06.2001 г., то в вычисляемом столбце будет значение 30.06.2001 г.
Именование вычисляемых столбцов
По умолчанию новые вычисляемые столбцы добавляются справа от других столбцов, и им автоматически назначается имя по умолчанию: CalculatedColumn1, CalculatedColumn2 и т. д. После создания столбцов вы можете переупорядочить и переименовать столбцы по мере необходимости.
Существуют некоторые ограничения на изменения вычисляемых столбцов:
- Имя каждого столбца в пределах одной таблицы не должно быть уникальным.
- Избегайте имен, которые уже использовались для измерений в одной книге. Хотя у меры и вычисляемого столбца могут быть одинаковые имена, если имена не являются уникальными, в вычислениях легко могут возникнуть ошибки. Чтобы избежать случайного вызова меры, всегда используйте полную ссылку на столбец при ссылке на столбец.
- При переименовании вычисляемого столбца необходимо также обновить формулы, основанные на существующем столбце. Если вы не находитесь в режиме ручного обновления, обновление результатов формул происходит автоматически. Однако эта операция может занять некоторое время.
- Некоторые символы нельзя использовать в именах столбцов или других объектов в Power Pivot. Дополнительную информацию см. в подразделе "Требования к именованию" спецификации синтаксиса DAX для Power Pivot.
Переименование или изменение существующего вычисляемого столбца:
|
|---|
Изменение типа данных
Тип данных вычисляемого столбца можно изменить так же, как и тип данных для других столбцов. Нельзя изменять типы данных следующим образом: от текста к десятичным, от текста к целым, от текста к денежному и от текста к дате. Вы можете изменить текст на логический.
Производительность вычисляемых столбцов
Формула для вычисляемого столбца может быть более ресурсоемкой, чем формула, используемая для меры. Одна из причин заключается в том, что результат вычисляемого столбца всегда вычисляется для каждой строки таблицы, в то время как мера вычисляется только для ячеек, используемых в сводной таблице или сводной диаграмме.
Например, в таблице с миллионом строк всегда будет вычисляемый столбец с миллионом результатов и соответствующим влиянием на производительность. При этом в сводной таблице данные обычно фильтруются с помощью заголовков строк и столбцов. Это означает, что мера вычисляется только для подмножества данных в каждой ячейке сводной таблицы.
Формула зависит от ссылок на содержащиеся в ней объекты, например на другие столбцы или выражения, оценивающие значение. Например, вычисляемый столбец, основанный на другом столбце, или вычисление, содержащее выражение со ссылкой на столбец, нельзя вычислить, пока не будет вычислен другой столбец. По умолчанию автоматическое обновление включено. Следует помнить, что зависимости формул могут влиять на производительность.
Чтобы избежать проблем с производительностью при создании вычисляемых столбцов, следуйте приведенным ниже рекомендациям.
- Вместо создания одной формулы, содержащей множество сложных зависимостей, создавайте формулы поэтапно, сохраняя результаты в столбцах, чтобы можно было проверить результаты и оценить изменения производительности.
- Изменения данных часто приводят к обновлению вычисляемых столбцов. Этого можно избежать, выбрав ручной режим пересчета. Однако помните, что если хотя бы одно значение в вычисляемом столбце неверно, он будет отключен, пока вы не обновите и не пересчитаете данные.
- Если изменить или удалить связи между таблицами, формулы, в которых используются столбцы в этих таблицах, станут недопустимыми.
- При создании формулы, содержащей циклическую зависимость или зависимость с самоссылкой, возникает ошибка.
Задачи
Дополнительные сведения о работе с вычисляемыми столбцами см. в статье Создание вычисляемого столбца.