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