Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Вычисляемые столбцы в табличных моделях позволяют добавлять новые данные в модель. Вместо вставки или импорта значений в столбец создается формула DAX, которая определяет значения уровня строки столбца. Затем вычисляемый столбец можно использовать в отчете, сводной таблице или сводной диаграмме, как и любой другой столбец.
Преимущества
Формулы в вычисляемых столбцах очень похожи на формулы в Excel. В отличие от Excel, однако нельзя создавать разные формулы для разных строк в таблице; Вместо этого формула DAX автоматически применяется ко всему столбцу.
Если столбец содержит формулу, значение вычисляется для каждой строки. Результаты вычисляются для столбца при вводе допустимой формулы. Затем значения столбцов пересчитываются по мере необходимости, например при обновлении базовых данных.
Вычисляемые столбцы можно создавать на основе мер и других вычисляемых столбцов. Например, можно создать один вычисляемый столбец для извлечения числа из строки текста, а затем использовать это число в другом вычисляемом столбце.
Вычисляемый столбец основан на данных, которые уже есть в существующей таблице или создаются с помощью формулы DAX. Например, можно выбрать объединение значений, выполнить добавление, извлечь подстроки или сравнить значения в других полях. Чтобы добавить вычисляемый столбец, необходимо иметь по крайней мере одну таблицу в модели.
В этом примере показана простая формула в вычисляемом столбце:
=EOMONTH([StartDate],0])
Эта формула извлекает месяц из столбца StartDate. Затем он вычисляет конец месяца для каждой строки в таблице. Второй параметр указывает количество месяцев до или после месяца в StartDate; В этом случае значение 0 означает тот же месяц. Например, если значение в столбце StartDate равно 6.1.2001, значение в вычисляемом столбце будет равно 6.30.2001.
Именование вычисляемого столбца
По умолчанию новые вычисляемые столбцы добавляются справа от других столбцов в таблице, и столбцу автоматически присваивается имя по умолчанию CalculatedColumn1, CalculatedColumn2 и так далее. Вы также можете щелкнуть столбец правой кнопкой мыши и выбрать команду "Вставить столбец", чтобы создать новый столбец между двумя существующими столбцами. Вы можете изменить порядок столбцов в одной таблице, щелкнув и перетащив столбцы, и переименовать столбцы после их создания; Однако следует учитывать следующие ограничения на изменения вычисляемых столбцов:
Каждое имя столбца должно быть уникальным в таблице.
Избегайте имен, которые уже использовались для мер в той же модели. Хотя для меры и вычисляемого столбца может быть одинаковое имя, если имена не уникальны, вы можете получить ошибки вычисления. Чтобы избежать случайного использования измерения, при обращении к столбцу всегда используйте полностью квалифицированную ссылку на столбец.
При переименовании вычисляемого столбца все формулы, основанные на столбце, должны обновляться вручную. Если вы не находитесь в режиме обновления вручную, обновление результатов формул происходит автоматически. Однако эта операция может занять некоторое время.
Существуют некоторые символы, которые нельзя использовать в именах столбцов. Дополнительные сведения см. в разделе "Требования к именованию" в справочнике по синтаксису DAX.
Производительность вычисляемых столбцов
Формула вычисляемого столбца может быть более ресурсоемкой, чем формула, используемая для меры. Одна из причин заключается в том, что результат вычисляемого столбца всегда вычисляется для каждой строки таблицы, в то время как мера вычисляется только для ячеек, определенных фильтром, используемым в отчете, сводной таблице или сводной диаграмме. Например, таблица с миллионами строк всегда будет иметь вычисляемый столбец с миллионом результатов, а также соответствующее влияние на производительность. Однако сводная таблица обычно фильтрует данные путем применения заголовков строк и столбцов; Таким образом, мера вычисляется только для подмножества данных в каждой ячейке сводной таблицы.
Формула имеет зависимости от объектов, на которые ссылается формула, например других столбцов или выражений, которые оценивают значения. Например, вычисляемый столбец, основанный на другом столбце, или вычисление, содержащее выражение со ссылкой на столбец, нельзя оценивать, пока другой столбец не будет оценен. По умолчанию автоматическое обновление включено в книгах; следовательно, все подобные зависимости могут повлиять на производительность при обновлении значений и пересчете формул.
Чтобы избежать проблем с производительностью при создании вычисляемых столбцов, следуйте приведенным ниже рекомендациям.
Вместо создания одной формулы, содержащей множество сложных зависимостей, создайте формулы на шагах с результатами, сохраненными в столбцах, чтобы проверить результаты и оценить производительность.
Изменение данных часто требует пересчет вычисляемых столбцов. Это можно предотвратить, задав режим пересчета вручную; Однако если какие-либо значения в вычисляемом столбце неверны, столбец будет серым, пока не обновите и не пересчитываете данные.
При изменении или удалении связей между таблицами формулы, использующие столбцы в этих таблицах, становятся недействительными.
Если вы создаете формулу, содержащую циклическую или самонаправляющуюся зависимость, возникнет ошибка.