Использование формул в запросах моделей отчетов (построитель отчетов версии 3.0 и службы SSRS)

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

Формулы не являются выражениями языка определения отчетов и не начинаются со знака равенства (=). Дополнительные сведения о выражениях языка определения отчетов см. в разделе Выражения (построитель отчетов версии 3.0 и службы SSRS).

Формулы могут быть похожи на любую из указанных ниже:

  • Строка общей суммы

  • 6+12

  • SUM(IF(Флаг «Товары закончились», «Закончились», «Не закончились»))

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

ПримечаниеПримечание

В построителе отчетов и в конструкторе отчетов среды Business Intelligence Development Studio можно создавать и изменять определения отчета (RDL). В каждой среде разработки существуют различные способы создания, открытия и сохранения отчетов и связанных элементов. Дополнительные сведения см. в разделе Разработка отчетов в построителе отчетов и конструкторе отчетов 3.0 (SSRS) на веб-сайте microsoft.com.

Ссылки

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

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

Операторы

Операторы определяют тип вычислений, которые необходимо выполнить в формуле с использованием значений. Существует три типа вычислительных операторов: арифметические, текстовые и операторы сравнения. Операторы обозначаются символами, например знаком плюса (+).

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

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

Оператор объединения текста. Используйте амперсанд (&), чтобы объединить одну или несколько текстовых строк для получения единого текста.

Константы

Константа представляет собой невычисляемое и, таким образом, неизменяемое значение. В построителе отчетов используются следующие константы: True, False и Empty. Эти константы используются для вычисления логических полей. Предположим, существует поле с именем IsDiscontinued. Единственными допустимыми значениями для этого поля являются True, False или Empty.

Функции

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

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

Пример функции.

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

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

Агрегатные функции

AVG, COUNT, COUNTDISTINCT, MAX, MIN, STDEV, STDEVP, SUM, VAR, VARP

Условные функции

IF, IN, SWITCH

Функции преобразования

INT, DECIMAL, FLOAT, TEXT

Функции даты и времени

DATE, DATEADD, DATEDIFF, DATETIME, DATEONLY, DAY, DAYOFWEEK, DAYOFYEAR, HOUR, MINUTE, MONTH, NOW, QUARTER, SECOND, TIMEONLY, TODAY, WEEK, YEAR

Информационные функции

GETUSERCULTURE, GETUSERID

Логические функции

AND, NOT, OR

Математические функции

MOD, ROUND, TRUNC

Операторы

Сложение (+), Деление (/), Равенство (=), Возведение в степень (^), Больше (>), Больше или равно (>=), Меньше (<), Меньше или равно (<=), Умножение (*), Противоположная величина (-), Не равно (<>), Вычитание (-)

Текстовые функции

CONCAT, FIND, LEFT, LENGTH, LOWER, LTRIM, REPLACE, RIGHT, RTRIM, SUBSTRING, UPPER

Список определений функций, синтаксис и примеры см. в разделе Диалоговое окно «Определение формулы» (построитель отчетов 3.0).