Учебники

Excel DAX — вычисляемые столбцы

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

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

Понимание вычисляемых столбцов

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

Например, вы можете создать один вычисляемый столбец для извлечения года из существующего столбца — Дата с формулой DAX —

= YEAR ([Date]) 

YEAR — это функция DAX, а Date — существующий столбец в таблице. Как видно, имя таблицы заключено в квадратные скобки. Подробнее об этом вы узнаете в главе « Синтаксис DAX» .

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

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

Создание вычисляемого столбца

Рассмотрим модель данных с результатами Олимпиады, как показано на следующем снимке экрана.

Создание вычисляемого столбца

  • Нажмите Просмотр данных.
  • Нажмите вкладку Результаты.

Вы будете просматривать таблицу результатов.

Посмотреть таблицу результатов

Как видно на скриншоте выше, самый правый столбец имеет заголовок — Добавить столбец.

  • Перейдите на вкладку «Дизайн» на ленте.
  • Нажмите Добавить в группе Столбцы.

Добавить столбец

Указатель появится в строке формул. Это означает, что вы добавляете столбец с формулой DAX.

  • Введите = ГОД ([Дата]) в строке формул.

Указатель в формуле бара

Как видно на скриншоте выше, выделен самый правый столбец с заголовком — Добавить столбец.

  • Нажмите Ввод.

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

Новый вычисляемый столбец будет вставлен слева от крайнего правого столбца Добавить.

Вставленная вычисленная колонка

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

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

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

  • Дважды щелкните заголовок столбца. Имя столбца будет подсвечено.

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

  • Выберите имя столбца.
  • Введите год (новое имя).

Выберите имя столбца и введите год

Как видно на скриншоте выше, имя вычисляемого столбца изменилось.

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

Просто убедитесь, что новое имя не конфликтует с существующим именем в таблице.

Проверка типа данных вычисляемого столбца

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

  • Перейдите на вкладку «Главная» на ленте.
  • Нажмите Тип данных.

Проверка типа данных

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

Ошибки в вычисляемых столбцах

Ошибки могут возникать в вычисляемых столбцах по следующим причинам:

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

  • Формула содержит циклическую или самозависимую зависимость.

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

Формула содержит циклическую или самозависимую зависимость.

Проблемы с производительностью

Как видно ранее на примере результатов Олимпиады, таблица «Результаты» содержит около 35000 строк данных. Следовательно, когда вы создали столбец с формулой DAX, он рассчитал все 35000+ значений в столбце одновременно, для чего потребовалось немного времени. Модель данных и таблицы предназначены для обработки миллионов строк данных. Следовательно, это может повлиять на производительность, если в формуле DAX слишком много ссылок. Вы можете избежать проблем с производительностью, сделав следующее:

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

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