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

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

Задача 1. В таблице ТОВАР имеются поля ЦЕНА и СТАВКА_НДС, вычислите цену с учетом НДС и сравните ее с полученной в вычисляемом поле таблицы Цена с НДС.

  1. Создайте в режиме конструктора запрос на выборку для таблицы ТОВАР. Перетащите в бланк запроса поля НАИМ_ТОВ, ЦЕНА, СТАВКА_НДС и Цена с НДС (рис. 4.6).
  2. Для подсчета цены с учетом НДС создайте вычисляемое поле, записав в пустой ячейке строки Поле (Field) выражение [ЦЕНА]+[ЦЕНА]*[СТАВКА_НДС].
  3. Для отбора записей со значением выше 5000 в вычисляемом поле в строку Условие отбора (Criteria) введите > 5000
  4. После ввода выражения система по умолчанию формирует имя вычисляемого поля Выражение 1, которое становится заголовком столбца в таблице с результатами выполнения запроса. Это имя вставится перед выражением [ЦЕНА]+[ЦЕНА]*[СТАВКА_НДС]. Для каждого нового вычисляемого поля в запросе номер выражения увеличивается на единицу. Имя вычисляемого поля отделяется от выражения двоеточием. Для изменения имени установите курсор мыши в вычисляемом поле бланка запроса и нажмите правую кнопку мыши. В контекстно-зависимом меню выберите Свойства (Properties) поля и в строку Подпись (Caption) введите новое имя поля ― Цена с НДС1 . Теперь в таблице с результатами выполнения запроса в заголовке вычисляемого столбца отобразится это имя. Имя поля может быть исправлено также непосредственно в бланке запроса.
  5. Для отображения результата выполнения запроса щелкните на кнопке Выполнить (Run) в группе Результаты (Results). Вычисляемое поле таблицы и за-проса имеют одинаковые значения.
  6. Измените в одной из записей запроса цену товара. Значения в обоих вычисляемых полях будут моментально пересчитаны.
  7. Для формирования сложного выражения в вычисляемом поле или условии отбора целесообразно использовать построитель выражений. Построитель позволяет выбрать необходимые в выражении имена полей из таблиц, запросов, знаки операций, функции. Удалите выражение в вычисляемом поле и используйте построитель для его формирования.
  8. Вызовите построитель выражений (Expression Builder), нажав кнопку Построитель (Builder) в группе Настройка запроса (Query Setup) ленты Конструктор (Design), или выбрав Построить (Build) в контекстно-зависимом меню. Курсор мыши должен быть установлен предварительно в ячейке ввода выражения.
  9. В левой части окна Построитель выражений (Expression Builder) (рис. 4.7) выберите таблицу ТОВАР, на которой построен запрос. Справа отобразится список ее полей. Последовательно выбирайте нужные поля и операторы, двойным щелчком вставляя в выражение. Выражение сформируется в верхней части окна. Обратите внимание, построитель перед именем поля указал имя таблицы, которой оно принадлежит, и отделил его от имени поля восклицательным знаком.
  10. Завершите процесс построения выражения в вычисляемом поле, щелкнув на кнопке ОК.
  11. Сохраните запрос под именем ― Цена с НДС и закройте его.
  12. Выполните сохраненный , выделив его в области навигации и выбрав в контекстном меню команду Открыть (Open).


Задача 2. В вычисляемых полях и условиях отбора можно использовать встроенные функции. В Access определено более 150 функций.
Пусть необходимо выбрать все накладные, по которым производилась отгрузка в заданном месяце. В НАКЛАДНАЯ дата отгрузки хранится в поле ДАТА_ОТГ с типом данных Дата/время (Date/Time).

  1. Создайте в режиме конструктора запрос на выборку для таблицы НАКЛАДНАЯ. Перетащите в бланк поля НОМ_НАКЛ и КОД_СК (рис. 4.8).
  2. Создайте вычисляемое поле в пустой ячейке строки Поле (Field), записав туда одно из выражений: Format([НАКЛАДНАЯ]![ДАТА_ОТГР];»mmmm») ― эта функция возвратит пол-ное название месяца
    или Format([НАКЛАДНАЯ]![ДАТА_ОТГР];»mm») ― эта функция возвратит номер месяца.
  3. Для отбора накладных, выписанных в заданном месяце, в вычисляемом поле в строку Условие отбора (Criteria) введите название месяца, например март (рис. 4.8), или номер месяца, например 3 в соответствии с параметром в функции Format.
  4. Выполните запрос, нажав кнопку Выполнить (Run) в группе Результаты (Results) на вкладке ленты Работа с запросами | Конструктор (Query Tools | Design).
  5. Запишите в вычисляемом поле функцию Month(НАКЛАДНАЯ!ДАТА_ОТГ), и убедитесь, что эта функция возвращает выделенный из даты номер месяца.
  6. Для выборки всех строк, относящихся ко второму кварталу, в строку Условие отбора (Criteria) введите оператор Between 4 And 6, определяющий, попадает ли значение выражения в указанный интервал.
  7. Запишите в вычисляемом поле выражение MonthName(Month(НАКЛАДНАЯ!ДАТА_ОТГ)) и убедитесь, что функция MonthName преобразует номер месяца в его полное на-звание.


Для закрепления смотрим видеоурок.

Дополнительные

Результат

вычисления

Сортировка от

Sort Smallest to

минимального к

максимальному

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

Несколько операций с листом Несколько операций листа за раз. Перемещение и копирование листов между файлами. Лаборатория 4 Страница 1 из 17 Содержание. В следующей таблице показаны 10 имен сотрудников определенной компании, их ежемесячная плата и годовая премия, которую они получили.

элементов поля от минимального (1-я позиция)

к максимальному значению

Сортировка от

Определение порядкового номера значения

максимального к

элемента (ранг) по отношению к значениям

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

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

минимальному

элементов поля от максимального (1-я позиция)

к минимальному значению

Вычисление значений по формуле:

Значение_ в_ ячейке∙Общий_ итог

Д.: Создание диаграмм Ганта. Его большое преимущество - возможность автоматизировать. Электронная таблица используется там, где есть огромное количество труда, повторяющееся в соответствии с определенным шаблоном. Эта база данных состоит из нескольких таблиц, рис.

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

Итог_ строки∙Итог_ столбца

2-й способ: щелкнуть правой кнопкой мыши по значениям нужного поля в области ΣЗначения [Σ Values] и выбрать:

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

Чтобы воспользоваться эффектами. Сегодня мы научим вас. Отметьте ячейки, которые вы хотите нарисовать. Урок 3: Таблицы и сводные диаграммы. Предположим, у нас есть набор для анализа. Чтобы использовать сводную таблицу, выберите любую ячейку на листе и в меню «Вставка» выберите «Сводная таблица».

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

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

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

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

Values] несколько раз, затем настроить параметры поля. Это позволит одновременно видеть как само вычисление, так и вычисление, выполненное на его основе.

Добавление вычисляемых полей в сводную таблицу

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

Базы данных Рабочая карта 1 Базы данных Рабочая карта 1 Создайте папку «Базы данных» для хранения всех данных курса. Создает запрос, который отображает названия и описания. Появится диалоговое окно управления базой данных. Используя это окно, пользователь управляет базой данных и всеми ее элементами.

Что такое электронная таблица? Электронная таблица - это программа для выполнения математических вычислений. С его помощью мы можем также разборчиво провести расчеты в форме. Чтобы воспользоваться преимуществами конкретных действий. Самое трудоемкое - подготовка данных. Задача 1 Математическая группа 2 Следуйте этим шагам в свою очередь. Запустите таблицу.

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

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

Западнопомеранский технологический университет в Щецине Факультет морских технологий и транспорта Кафедра структур, механики и технологии Корабль в оперативной исследовательской лаборатории. Сводные таблицы используются для быстрого анализа данных. Чтобы использовать сводные таблицы, мы должны иметь правильную подготовку данных с заголовками.

Чтобы избежать таких ситуаций, вы должны отформатировать наши данные в виде таблицы. Чтобы форматировать данные в виде таблицы. Это выберет все заголовки. . Следующим выбором является расположение сводной таблицы, а для сохранения удобочитаемости данных вы должны оставить опцию «Новый лист», которая будет вставлять новый лист в таблицу.

Microsoft Excel 2010. Уровень 2. Расширенные возможности

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

Исключение потенциальных ошибок в формулах и ссылках на ячейки.

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

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

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

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

Обеспечение гибкости изменения вычислений при изменении определений элементов.

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

Создание вычисляемого поля:

1. Выделить ячейку сводной таблицы;

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

Чтобы быстро изменить отчет и посмотреть, как он продал Добровальского в другие страны, просто измените порядок условий на полях, захватив Продавца и перетащив его через государство. Помимо Ирландии и Германии, ясно, что результаты ее продаж не самые лучшие. Когда вы нажмете на продажу в Ирландии, вы увидите новый лист со столом, содержащим все транзакции Добровальского в Ирландии.

2. На вкладке Параметры, в группеВычисления, раскрыть списокПоля,

элементы и наборы и выбратьВычисляемое поле .

3. В окне Вставка вычисляемого поля :

 В поле Имя ввести имя нового поля.

 В поле Формула составить формулу, начиная со знака= и выбирая

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

Если мы хотим распечатать наши данные, мы возьмем поле Продавца из области «Линии» и переместим его в область «Колонка». Это заставит таблицу распространиться по всему листу. В этом окне мы также можем указать числовой формат, отображаемый во всех ячейках поля. Просто используйте кнопку «Формат номера» и выберите соответствующую валюту, например.

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

 Нажать Добавить.

Настройка внешнего вида вычисляемого поля, как и любого другого поля, происходит в окне

Параметры полей значений.

Редактирование вычисляемого поля

1. На вкладке Параметры, в группеВычисления, раскрыть списокПоля,

элементы и наборы, выбратьВычисляемое поле .

Все мы умеем пользоваться сводными таблицами. У них есть куча преимуществ, но есть и куча недостатков. Многие считают, что основная проблема со сводными таблицами - это то, что в ней нет возможности делать вычисления – это заблуждение. Зачем это может быть нужно. Предположим, вы составляете бюджет с помощью сводных таблиц. Данные в исходной таблице представлены в поквартальной разбивке, для целей бюджета будет необходимо сложить эти данные в годовую сумму.

Мы отмечаем месяцы, и мы принимаем их. Мы получим отчет, отсортированный по месяцам. Вы также можете разделить данные на несколько категорий. Возвращаясь к группировке конфигураторов и выбрав «Квартал и месяц», мы получим внешний вид отчета. Группировка также может использоваться для чисел.

Когда вы открываете контекстное меню, поле «Строки» и параметр «Группа» показывают другое окно, чем если бы вы группировали даты. Числа сгруппированы по диапазонам, которые мы определяем по началу, концу и объему интервала. В этом случае мы устанавливаем его на 500, поэтому в первой группе будут все транзакции стоимостью от 0 до 500 злотых.

На самом деле такая возможность есть и реализуется она одним из трех способов.

Освежить свои знания об основах сводных таблиц можно.

Первый способ. Сделать вычисления в таблице с исходными данными. Способ, прямо скажем, не фонтан – через неправильное место.

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

Третий способ. Встроить вычисляемые поля в саму сводную таблицу. А вот это хороший способ . Делается это следующим образом. Когда сводная таблица уже построена, ставим курсор на сводную таблицу (при этом на ленте появляются две закладки, относящиеся к данной сводной таблице) и нажимаем на появившуюся закладку Options , затем Fields , Items , & Sets из блока Calculations , в выпавшем меню выбираем Calculated field . В 2007 офисе эта кнопка была на той же вкладке Options , только кнопка была отдельная.


В появившемся окне, в поле Name введите желаемое название поля. В поле Formula введите необходимую вам формулу, вставляя поля из списка внизу и нажимая кнопку Insert field .


Получится таблица с новым расчетным полем. Таблица готова!


Экселевский файл можно скачать отсюда.

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

Последние новости

  • Продвинутый Excel: Почему я перестал пользоваться функцией V…

    Я уже писал про то, что функция VLOOKUP (ВПР), наверное, самая полезная функция после простых арифметических операций …

  • Как Excel пересчитывает книгу и почему надо избегать волатил…

    Если вы часто работаете с большими файлами, которые производят большое количество вычислений, зависящих друг от друга, о…

  • Как быстро построить график Waterfall (водопад)

    В Excel отсутствует стандартные диаграммы типа Waterfall. Поэтому для создания диаграмм этого типа обычно используют гис…

  • Окно контрольного значения для отслеживания результатов

    Часто бывает, что мы работаем с большими таблицами, которые рассчитывают в конечном итоге 1-2 показателя, но зависят от …

  • Bullet chart для сравнения планируемых показателей и фактиче…

    Часто возникает необходимость сравнить основные финансово-экономические показатели с планируемыми, например, для целей о…

  • Тацуо Хориучи - 73-летний художник, рисующий в Excel

    "Я никогда не пользовался Excel на работе, но я видел, как другие люди делают в нем довольно красивые диаграммы и график…

  • Как возвести число в степень и извлечь корень

    Знаете ли вы, что для того, что для возведения в степень числа в Excel есть специальный символ ^ (на шестерке в английск…

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

Чтобы добавить к отчету вычисляемое поле "Сумма":

  1. Откройте отчет "Товары на складе" в режиме Конструктора.
  2. На панели элементов нажмите кнопку Надпись (Label) и поместите новую надпись справа от надписи "На складе" (Units in Stock) в разделе верхнего колонтитула. Введите в качестве текста надписи слово "Сумма" (Sum).
  3. Чтобы создать вычисляемое поле "Сумма" (Sum), нажмите кнопку Поле (Text Box) на панели элементов и добавьте текстовое поле справа от текстового поля "НаСкладе" (UnitsInStock) в разделе данных. Удалите метку нового текстового поля.
  4. Щелкните внутри текстового поля и введите в качестве его значения выражение:

    = [НаСкладе]* [Цена] (= * ).

    Откройте окно свойств поля, дважды щелкнув по нему, и на вкладке Макет (Format) в поле со списком свойства Формат поля (Format) выберите значение Денежный (Currency).

Замечание

Ввести выражение в текстовое поле можно несколькими способами: выделите его и нажмите комбинацию клавиш +, чтобы войти в режим редактирования содержимого поля, или сделайте двойной щелчок по полю для отображения диалогового окна Свойства (Properties), а затем введите выражение как значение свойства Данные (Source).

Рис. 6.27.

  1. Повторите шаги 3 и 4 для того, чтобы создать текстовое поле в разделе примечаний группы "Категория" (Category), но в качестве выражения для вычисления промежуточного значения следует ввести: =Sum([НаСкладе] * [Цена]) (=Sum( * )). Нажмите кнопку Полужирный (Bold) на панели форматирования, чтобы установить полужирный шрифт для текста в новом поле. Откройте диалоговое окно Свойства (Properties) и раскройте в нем вкладку Другие (Other), в поле Имя (Name) введите имя текстового поля "Сумма" (Sum). Затем раскройте вкладку Макет (Format) и в поле со списком свойства Формат поля (Format) выберите значение Денежный (Currency).
  2. Поскольку ширина области данных нашего отчета увеличилась, уменьшите ширину полей страницы, чтобы все поля поместились на одной странице. Для этого выберите команду Файл, Параметры страницы (File, Page Setup) и задайте вместо ширины левого и правого полей, заданных по умолчанию, значение 10 мм (см. разд. "Просмотр и печать отчетов" в этой главе).
  3. Нажмите кнопку Вид (View) на панели инструментов Конструктор отчетов (Report Design), чтобы оценить результаты своей работы. Отчет будет выглядеть так, как показано на рис. 6.27. К прежним данным добавился крайний правый столбец со значениями стоимости каждого товара в имеющемся количестве на складе и промежуточных итоговых сумм по стоимости товаров для каждой категории.

Известно, что в БД Microsoft Access вычисляемые поля могут быть созданы в запросе, форме или отчете. Рассмотрим создание вычисляемых полей в отчете базы данных Access 2003. Для ввода Выражения в форму ее необходимо открыть в режиме Конструктора и создать свободное текстовое поле, используя кнопку "ab " (Поле) на панели инструментов. Слева от созданного свободного поля располагается метка, связанная с текстовым полем, в которой отображается порядковый номер введенного поля.

Свободное поле означает, что оно не связано ни с одним полем. В свободное поле можно вводить поле таблицы БД или Выражение. Метка используется для ввода имени поля. При вводе в свободное поле "Выражения", которое вычисляет требуемое значение, оно становится вычисляемым. В вычисляемых полях можно использовать функции, например функцию дата или время, а можно ввести выражение, использующее в качестве входных данных значения полей таблицы БД Access. На форму можно также вставить автономную текстовую метку, т.е. метку не связанную с текстовым полем, для этого надо использовать кнопку "Aa " (Надпись) на панели инструментов.

Рассмотрим создание вычисляемого поля в форме Студенты на примере базы данныхTraining_students_VP . Постановка задачи: в форме БД Access Студенты_конструктор создать одно поле, в котором должна выводиться текущая дата, и другое поле, которое объединяет фамилию, имя и отчество студента. Для решения этой задачи откроем форму Студенты_конструктор в режиме конструктора (рис. 1).


Рис. 1.

Для создания вычисляемого поля в форме БД Access, отображающего текущие дату, необходимо выполнить следующие операции:

  • нажать кнопку "ab " (Поле) на панели инструментов, а затем щелкнуть на форме в том месте, где планируется вставить свободное текстовое поле;
  • затем установить курсор в поле "Свободный" (рис. 2) и ввести функцию: =Date();
  • следующий шаг - изменить название метки текстового поля (рис. 2), для этого надо удалить порядковый номер (в нашем примере Поле30) и ввести слово "Дата: ";



Рис. 2.

  • изменить длину метки и текстового поля так, чтобы в них поместилось содержимое;
  • отформатировать вычисляемое поле (при необходимости), для этого необходимо щелкнуть правой кнопкой мыши на вычисляемое поле и в контекстном меню выбрать команду Свойства, откроется диалоговое окно "Поле". Форматирование осуществляется в окне "Поле" на вкладке "Все" в строке "Формат поля" (рис. 3);


Рис. 3.

  • закрыть окно Поле;
  • просмотреть форму БД Access в режиме формы, выполнив щелчок по кнопке Открыть (рис. 4);



Рис. 4.

Для создания еще одного вычисляемого поля в форме БД Access, отображающего выражение, использующее в качестве входных данных значения полей таблицы (Фамилия, Имя, Отчество), надо выполнить следующие действия:

  • добавить свободное поле на форму (рисунок 5);



Рис. 5.

  • изменить название метки текстового поля на ФИО;
  • вызвать построитель выражений, для этого щелкнуть на панели инструментов на пиктограмме "Построитель", откроется окно Построитель, в котором надо выделить "выражение" (рисунок 6) и щелкнуть ОК;

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

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

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

Вычисляемые столбцы нужны для того, чтобы было проще и надежней получить результат каких-то постоянных вычислений. Например, при обращении к таблице, Вы всегда в SQL запросе применяете какую-нибудь формулу (один столбец перемножаете с другим или что-то в этом роде, хотя формула может быть и сложней ), так вот, если в таблице определить вычисляемый столбец, указав в его определении нужную формулу, Вам больше не нужно будет каждый раз писать эту формулу в SQL запросе в инструкции SELECT. Вам достаточно обратиться к определенному столбцу (вычисляемому столбцу ), который автоматически при выводе значений применяет эту формулу. При этом этот столбец можно использовать в запросах также как обычный столбец, например, в секциях WHEHE (в условии ) или в ORDER BY (в сортировке ).

Также важно понимать, что вычисляемый столбец не может быть указан в инструкциях INSERT или UPDATE в качестве целевого столбца.

Создание вычисляемого столбца при создании новой таблицы в Microsoft SQL Server

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

--Создание таблицы с вычисляемым столбцом CREATE TABLE TestTable ( IDENTITY(1,1) NOT NULL, (100) NOT NULL, NULL, NULL, AS ( * ) PERSISTED --Вычисляемый столбец) --Добавление данных в таблицу INSERT INTO TestTable VALUES ("Портфель", 1, 500), ("Карандаш", 5, 20), ("Тетрадь", 10, 50) --Выборка данных SELECT * FROM TestTable

Добавление вычисляемого столбца в существующую таблицу в Microsoft SQL Server

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

Добавление вычисляемого столбца в таблицу ALTER TABLE TestTable ADD SummaALL AS ( * * 1.7); --Выборка данных SELECT * FROM TestTable


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


Затем указать название столбца и тип данных (тип данных временно ), а для того чтобы определить вычисляемый столбец, в «Свойствах столбца » нужно найти раздел «Спецификация вычисляемого столбца » и в поле «Формула » указать соответствующую формулу.

Точно также определяется вычисляемый столбец и при создании таблицы с помощью Management Studio, т.е. просто в соответствующем разделе указывается формула.

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

В случае, если Вам больше не нужен вычисляемый столбец, то его можно удалить, делается это также, как и удаление обычного столбца.

ALTER TABLE TestTable DROP COLUMN SummaALL;


На этом мой рассказ про вычисляемые столбцы закончен, в своей книге «Путь программиста T-SQL. Самоучитель по языку Transact-SQL » я подробно рассказываю про все возможности языка T-SQL, удачи!