Поделиться через


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

Диалоговое окно «Определение формулы» используется для создания формулы или нового поля, содержащего формулу.

Диалоговое окно содержит вкладки Поля и Функции.

  • Вкладка Поля используется для выбора в модели отчета полей, которые следует включить в формулу.

  • Вкладка Функции используется для выбора функций, которые следует использовать в формуле.

Параметры вкладки «Поля»

  • Сущности
    Перечисляет сущности. Щелкните сущность, чтобы отобразить ее поля в списке Поля.

  • Поля
    Перечисляет поля в сущностях. Поле можно перетащить в текстовое поле Формула. При двойном щелчке поля оно также добавляется в текстовое поле Формула.

  • Создать поле
    Нажмите, чтобы добавить новое поле. В поле Имя поля появляется значение Новое поле <имя сущности>.

  • Имя поля
    Введите имя создаваемого поля.

  • Формула
    Используйте для создания и редактирования формулы.

  • Поиск
    Нажмите эту кнопку для открытия диалогового окна Поиск.

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

    • Обратные роли. Обратные роли показывают связи обратно к предшествующей сущности.

    • Уточняющие сущности. Уточняющая сущность — это роль, содержащая только одно интересующее поле.

    • Сущности с наследованием от предков выбранной сущности, но не являющиеся предками текущей сущности.

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

  • Ярлыки функций
    Щелкните, чтобы добавить оператор к формуле, отображенной в текстовом поле Формула. Диалоговое окно Определение формулы содержит ярлыки наиболее часто используемых формул; однако эти операторы также можно выбрать из вкладке Функции. Ниже приведено пояснение для каждого ярлыка:

    «+» используется для сложения двух значений;

    Ярлык «-» используется для вычитания одного значения из другого.

    Ярлык «*» используется для умножения одного значения на другое.

    Ярлык «/» используется для деления одного значения на другое.

    «&» используется для сцепления двух значений;

    «(» используется для запуска вычислений;

    «)» используется для завершения вычислений.

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

    • Для создания нового фильтра для поля щелкните Фильтры не применены, а затем нажмите Создать новый фильтр.

    • Если у поля уже имеется фильтр, щелкните его, а затем нажмите Изменить фильтр.

    • Чтобы удалить существующий фильтр, выберите его и нажмите кнопку Удалить.

  • Сохранить эту формулу в виде новых полей <имя сущности>
    Установите этот флажок, чтобы указать, что формула должна быть добавлена в виде поля.

Параметры вкладки «Функции»

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

Статистические

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

  • SUM
    Возвращает сумму всех значений данного выражения.

    Синтаксис

    SUM(статистическое выражение)

    Функция SUM используется с полями, содержащими только числовые значения. Значения NULL пропускаются.

  • AVERAGE
    Возвращает среднее арифметическое всех значений, отличных от NULL, в данном выражении.

    Синтаксис

    AVERAGE(статистическое выражение)

    Функция AVERAGE используется с полями, содержащими только числовые значения. Значения NULL пропускаются.

  • MAX
    Возвращает максимальное значение выражения.

    Синтаксис

    MAX(статистическое выражение)

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

  • MIN
    Возвращает минимальное значение выражения.

    Синтаксис

    MIN(статистическое выражение)

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

  • COUNT
    Возвращает число непустых элементов в группе.

    Синтаксис

    COUNT(статистическое выражение)

    Функция COUNT всегда возвращает значение типа данных Int.

  • COUNTDISTINCT
    Возвращает число непустых уникальных экземпляров элемента в группе.

    Синтаксис

    COUNTDISTINCT (статистическое выражение)

  • STDEV
    Возвращает среднеквадратичное отклонение значений элементов, отличных от NULL.

    Синтаксис

    STDEV (статистическое выражение)

  • STDEVP
    Возвращает среднеквадратичное отклонение совокупности значений элементов, отличных от NULL.

    Синтаксис

    STDEVP(статистическое выражение)

  • VAR
    Возвращает дисперсию значений элементов, отличных от NULL.

    Синтаксис

    VAR(статистическое выражение)

  • VARP
    Возвращает дисперсию совокупности значений элементов, отличных от NULL.

    Синтаксис

    VARP(статистическое выражение)

Условные

Для проверки условия используются следующие функции.

  • IF
    Возвращает первое значение, если результат вычисления условия равен TRUE, или второе значение, если он равен FALSE.

    Синтаксис

    IF(условие, значение_если_true, значение_если_false)

    Условие — значение или выражение, результат вычисления которого может быть равен TRUE или FALSE. Значение_если_true — значение, возвращаемое, если условие выполняется. Значение_если_false — значение возвращаемое, если условие не выполняется.

  • IN
    Определяет, входит ли элемент в набор.

    Синтаксис

    IN(элемент, набор)

  • SWITCH
    Вычисляет список выражений и возвращает значение выражения, соответствующего первому выражению списка, значение которого равно TRUE. Может содержать одну или более пар параметров «условие-значение».

    Синтаксис

    Switch(условие1, значение1)

Преобразование

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

  • INT
    Преобразует значение в целое.

    Синтаксис

    INT(значение)

  • DECIMAL
    Преобразует значение в десятичное.

    Синтаксис

    DECIMAL(значение)

  • FLOAT
    Преобразует значение в значение с плавающей точкой.

    Синтаксис

    FLOAT(значение)

  • TEXT
    Преобразует числовое значение в строку.

    Синтаксис

    TEXT(значение)

Дата и время

Следующие функции используются для вывода даты или времени.

  • DATE
    Возвращает значение типа datetime, соответствующее полудню (12:00:00) указанного числа, месяца и года.

    Синтаксис

    DATE(год, месяц, день)

  • DATEONLY
    Возвращает год, месяц и число из значения datetime.

    Синтаксис

    DATEONLY(значение_datetime)

  • DATETIME
    Возвращает дату и время, соответствующие указанным значениям года, месяца, дня, часа, минут и секунд.

    Синтаксис

    DATETIME(год, месяц, день, час, минута, секунда)

  • YEAR
    Возвращает год из значения типа datetime.

    Синтаксис

    YEAR(datetime)

  • QUARTER
    Возвращает номер календарного квартала (1-4), соответствующего дате и времени.

    Синтаксис

    QUARTER(значение_datetime)

  • MONTH
    Извлекает месяц из datetime.

    Синтаксис

    MONTH(значение_datetime)

  • DAY
    Извлекает число месяца из datetime.

    Синтаксис

    DAY(значение_datetime)

  • HOUR
    Извлекает часы из datetime.

    Синтаксис

    HOUR(значение_datetime)

  • MINUTE
    Извлекает минуты из datetime.

    Синтаксис

    MINUTE(datetime)

  • SECOND
    Извлекает секунды из значения типа datetime.

    Синтаксис

    SECOND(datetime)

  • WEEK
    Возвращает порядковый номер недели от начала календарного года.

    Синтаксис

    WEEK(datetime)

  • DAYOFWEEK
    Возвращает день недели, начиная с понедельника (от понедельника = 1 до воскресенья = 7).

    Синтаксис

    DAYOFWEEK(datetime)

  • NOW
    Возвращает текущую дату и время.

    Синтаксис

    NOW( )

  • TODAY
    Возвращает текущую дату.

    Синтаксис

    TODAY( )

  • DATEDIFF
    Возвращает разницу между начальной и конечной датами.

    Синтаксис

    DATEDIFF(интервал, datetime, datetime)

  • DATEADD
    Возвращает значение datetime, получившееся в результате добавления указанного количества единиц временного интервала к исходному значению datetime.

    Синтаксис

    DATEADD(интервал, единицы, datetime)

Логические

Для проверки условия используются следующие функции.

  • AND
    Возвращает TRUE, если все аргументы равны TRUE; возвращает FALSE, если хотя бы один из аргументов равен FALSE.

    Синтаксис

    AND(логическое значение, логическое значение)

    Аргументы должны после вычислений возвращать логические значения (TRUE или FALSE) или представлять собой массивы или ссылки, содержащие логические значения. Если аргумент массива или ссылки содержит текст или пустые ячейки, такие значения не обрабатываются.

  • OR
    Возвращает TRUE, если любой аргумент равен TRUE; возвращает FALSE, если все аргументы равны FALSE.

    Синтаксис

    OR(логическое значение, логическое значение)

    Аргументы должны возвращать после вычислений логические значения (TRUE или FALSE) или содержаться в массивах или ссылках, содержащих логические значения. Если массив или ссылка содержит текст или пустые ячейки, такие значения не обрабатываются.

  • NOT
    Меняет значение аргумента на противоположное. Чтобы обеспечить неравенство выражения определенному значению, используйте оператор NOT.

    Синтаксис

    NOT(логическое значение)

    Если значение равно FALSE, оператор NOT возвращает значение TRUE; если значение равно TRUE, оператор NOT возвращает значение FALSE.

Математические

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

  • MOD
    Возвращает остаток от деления. Делитель не может равняться 0.

    Синтаксис

    MOD(число, делитель)

  • TRUNC
    Усекает число до указанного количества десятичных разрядов. Если число положительное, оно усекается вправо от запятой. Если число отрицательное, оно усекается влево от запятой.

    Синтаксис

    TRUNC(число, десятичные разряды)

  • ROUND
    Округляет число до указанного количества десятичных разрядов.

    Синтаксис

    ROUND(число, десятичные разряды)

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

Операторы

Арифметические операторы

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

  • + сложение
    Используется для сложения двух или нескольких элементов.

    Синтаксис

    значение + значение

  • - вычитание
    Используется для вычитания элемента из другого элемента.

    Синтаксис

    значение - значение

  • * умножение
    Используется для умножения элементов.

    Синтаксис

    значение * значение

  • / деление
    Используется для деления элементов. Делитель не может равняться 0.

    Синтаксис

    значение/делитель

  • - инверсия
    Изменить знак значения.

    Синтаксис

    -значение

  • ^ возведение в степень
    Используется для возведения значения в степень (потенцирования).

    Синтаксис

    значение^степень

  • = равно
    Используется для проверки равенства двух значений. TRUE, если значение1 равно значению2.

    Синтаксис

    значение1 = значение2

  • <> Не равно
    Указывает, что два значения не равны между собой. Возвращает значение TRUE, если значение1 не равно значению2.

    Синтаксис

    значение1 <> значение2

  • > Больше
    Определяет при сравнении, больше ли одно значение другого. TRUE, если значение1 больше значения2.

    Синтаксис

    значение1 > значение2

  • >= больше или равно
    Определяет при сравнении, больше ли одно значение другого или же они равны. TRUE, если значение1 больше или равно значению2.

    Синтаксис

    значение1 >= значение2

  • < Меньше
    Определяет при сравнении, меньше ли одно значение другого. Возвращает значение TRUE, если значение1 меньше значения2.

    Синтаксис

    значение1 < значение2

  • <= меньше или равно
    Определяет, что одно число меньше или равно другому. Возвращает значение TRUE, если значение1 меньше или равно значению2.

    Синтаксис

    значение1 <= значение2

Текст   

Следующие функции используются для операций с текстом.

  • CONCAT (&)
    Соединяет две строки в одну. Вторая строка добавляется в конец первой строки.

    Синтаксис

    строка & строка

  • FIND
    Позиция первого вхождения подстроки в строку.

    Синтаксис

    FIND(строка, подстрока)

  • LEFT
    Возвращает указанное количество начальных символов строки. Если в качестве длины указано отрицательное значение, результат не определен.

    Синтаксис

    LEFT(строка, длина)

  • LENGTH
    Возвращает число символов в строке.

    Синтаксис

    LENGTH(строка)

  • LOWER
    Преобразует символы строки в нижний регистр.

    Синтаксис

    LOWER(строка)

  • LTRIM
    Возвращает строку без начальных пробелов.

    Синтаксис

    LTRIM(строка)

  • REPLACE
    Возвращает строку, в которой все вхождения найденной подстроки поиска заменены второй подстрокой.

    Синтаксис

    REPLACE(найти, заменить, строка)

  • RIGHT
    Возвращает указанное количество конечных символов в строке. Если в качестве длины указано отрицательное значение, результат не определен.

    Синтаксис

    RIGHT(строка, длина)

  • RTRIM
    Возвращает строку без конечных пробелов.

    Синтаксис

    RTRIM(строка)

  • TEXT
    Преобразует числовое значение в строку.

    Синтаксис

    TEXT(значение)

  • SUBSTRING
    Возвращает подстроку из строки. Если в качестве длины указано отрицательное значение, результат не определен.

    Синтаксис

    SUBSTRING(строка, начало, длина)

  • UPPER
    Преобразует символы строки в верхний регистр.

    Синтаксис

    UPPER(строка)

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

Следующие функции используются для получения общих сведений о пользователях.

  • GETUSERID
    Возвращает идентификатор, используемый пользователем для доступа к данным.

    Синтаксис

    GETUSERID()

  • GETUSERCULTURE
    Возвращает язык или языковой стандарт пользователя.

    Syntax

    GETUSERCULTURE()