Документація Database Tour Зміст Індекс

Функції, доступні в виразах звіту

Початок Попередній Наступний

Тут описано функції для виразів звітів Database Tour Pro.

Зауваження

Всі функції вираховуються безпосередньо перед тим, як батьківський вираз показується в сформованому звіті.

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

Параметри параметризованих функцій можуть бути як константами, так і виразами.

Статистичні (агрегатні)

Ці функції прораховують дані з полів бази даних. На відміну від інших функцій, статистичні функції акумулюють дані з кожного запису поля джерела даних звіту, тому ці функції (особливо умовні) вимагають трохи більше ресурсів на виконання і можуть уповільнити генерацію звіту. Для об'єкта Вираз результат статистичної функції залежить від властивості Підсумки.

Стандартні (подібні до агрегатних функцій SQL)

MIN(x)Повертає найменше значення зі всіх записів поля x
MAX(x)Повертає найбільше значення зі всіх записів поля x
SUM(x)Сумує значення всіх записів поля x
COUNT(x)Повертає кількість непустих значень в усіх записах поля x
AVERAGE(x)Повертає середнє значення всіх записів поля x

Умовні

Ці функції роблять те саме, що і стандартні статистичні функції, але з однією важливою відмінністю: вони перевіряють умову y для кожного запису, і, якщо ця умова дає в результаті булевське True або число, більше від 0, то дані цього запису потрапляють в розрахунок. Умова y може бути будь-яким коректним булевським або числовим виразом.

MINEX(x, y)
MAXEX(x, y)
SUMEX(x, y)
COUNTEX(x, y)
AVERAGEEX(x, y)

Увага

Уникайте циклічних посилань в цих функціях, оскільки це може призвести до неочікуваних резульатів виразів. Наприклад, використання поля x всередині умови y є циклічним посиланням і не повинно застосовуватися.

Приклади коректних вживань умовних статистичних функцій:

SUMEX(PaymentSum, FIELDVAL(CustNo) * 1000)

(ця функція буде підсумовувати значення поля 'PaymentSum', якщо значення числового поля 'CustNo' перевищує 1000)

COUNTEX(CustNo, FIELDVAL(Paid))

(ця функція повертатиме кількість значень з поля 'CustNo', якщо значення логічного поля 'Paid' є 'True')

SUMEX(BillSum, SUMEX(OldBillSum, FIELDVAL(CustNo)))

(ця функція повертатиме суму значень поля 'BillSum', якщо умовна сума поля 'OldBillSum' більша від 0)

Приклади некоректних вживань умовних статистичних функцій:

COUNTEX(CustNo, 'yes')

(помилка: текстова константа не може використовуватися як умова)

SUMEX(BillSum, SUMEX(OldBillSum, SUMEX(BillSum, 1000)))

(помилка: циклічне посилання на поле 'BillSum')

Математичні

ABS(x)Повертає абсолютне значення (значення по модулю) числового виразу x
FRAC(x)Повертає дрібну частину дійсного x
INT(x)Повертає цілу частину дійсного x
ROUND(x)Повертає значення числового виразу x, округлене до найближчого цілого
SQRT(x)Повертає квадратний корінь з числового виразу x
POWER(x, y)Підводить x до степені y
EXP(x)Повертає експоненту x
LOG(x)Повертає натуральний логарифм x
COS(x)Повертає косинус x, де x задається в радіанах
SIN(x)Повертає синус x, де x задається в радіанах
TAN(x)Повертає тангенс x, де x задається в радіанах
ATAN(x)Повертає арктангенс x, тобто значення, чий тангенс є x

Дата і час

DATEПовертає поточну дату
TIMEПовертає поточний час
ADDDATETIME(x, y)Додає y днів (як дійсне число) до дати/часу x
COMPAREDATETIME(x, y)Повертає ціле число, що показує результат порівняння дати/часу x і дати/часу y: 0 в разі рівності, 1 в разі, якщо x > y, -1 - в разі, якщо x < y
DATETIMEDIFF(x, y)Повертає різницю в днях (як дійсне число) між датою/часом x і датою/часом y
FORMATDATETIME(x, y)Форматує дату і час x по масці y. Маскою може бути будь-яка допустима маска для дати і часу подібно тим, що використовуються для властивості Маска об'єктів Вираз. Наприклад, щоб показати тільки поточний місяць, використовуйте DATE як x і маску 'm' або 'mmmm' як y.

Пов'язані з файлами

FILECREATED(x)Повертає дату і час створення файла, заданого повним шляхом x
FILELASTMODIFIED(x)Повертає дату і час останньої модифікації файла, заданого повним шляхом x
FILELASTACCESSED(x)Повертає дату і час останнього відкриття файла, заданого повним шляхом x
FILESIZE(x)Повертає розмір файла, заданого повним шляхом x, в байтах
EXTRACTFILEEXT(x)Повертає розширення файла x (з точкою)
EXTRACTFILENAME(x)Повертає назву файла з повного шляху x
EXTRACTFILEDIR(x)Повертає каталог (без символа \ в кінці) з повного шляху x
EXTRACTFILEPATH(x)Повертає каталог (з символом \ в кінці) з повного шляху x

Різні

FIELDVAL(x)Повертає значення поля x
PARAMVAL(x)Повертає значення параметру запиту x (якщо набір даних звіту є запитом)
ISNULL(x)Повертає True, якщо значення поля x пусте (значення Null), і False, якщо це не так
NVL(x, y)Повертає y, якщо значення поля x пусте, і значення поля в протилежному випадку
IIF(x, y, z)Повертає y, якщо умова x дає True, або z в протилежному випадку
STR(x)Перетворює x в текст
UPPER(x)Переводить текст x до верхнього регістру
LOWER(x)Переводить текст x до нижнього регістру
CAPITALIZE(x)Переводить перший символ кожного слова строчки x до верхнього регістру, а решту - до нижнього
PRETTY(x)Переводить перший символ строчки x до верхнього регістру, а решту - до нижнього
LENGTH(x)Повертає довжину (кількість символів) строчки x
POS(x, y)Повертає позицію підстрочки x в строчці y
SUBSTR(x, y, z)Повертає підстрочку строчки x, що містить z символів починаючи з позиції y
SUBSTRCOUNT(x, y)Повертає кількість входжень підстрочки y в строчці x
TRIM(x)Відсікає ведучі та кінцеві пробіли і керуючі символи з строчки x
TRIMLEFT(x)Відсікає ведучі пробіли і керуючі символи з строчки x
TRIMRIGHT(x)Відсікає кінцеві пробіли і керуючі символи з строчки x
NUMTOWORDS(x, y)Конвертує число y в його еквівалент прописом. x - маска, що накладається на результат. В масці літера N заміняє цілу частину суми прописом, цифра 0 заміняє один розряд з дрібної частини. Наприклад, NUMTOWORDS('N грн. 00 коп.', 12.34) поверне дванадцять грн. 34 коп..
ORDINALNUMBER(x, y, z)Порядковий номер. Повертає оригінальне число і порядкове закінчення цілого x. y вказує відмінок (A - називний, B - родовий і т.д.), z вказує стать (M - чоловіча, F - жіноча). Наприклад, ORDINALNUMBER(5, B, F) поверне 5-ї (тобто скорочене від "п'ятої").
QUANTITATIVENUMERAL(x, y, z)Кількісний числівник. Повертає оригінальне число і кількісне закінчення для цілого x. y вказує відмінок (A - називний, B - родовий і т.д.), z вказує стать (M - чоловіча, F - жіноча). Наприклад, ORDINALNUMBER(3, F, F) поверне 3-х (тобто скорочене від "трьох").
UNQUOTE(x)Вилучає ведучі та кінцеві лапки в тексті x
REPLACE(x, y, z)Замінює всі підстрочки y в тексті x на текст z
CONCAT(x, y)Повертає результат зчеплення строчки x і строчки y
QUERYRES(x)Повертає результат запиту (з одним полем), визначеного SQL-текстом x

Функції без параметрів

DATABASENAMEПовертає назву бази даних для джерела даних звіту
DATASETNAMEПовертає назву набору даних (назва таблиці або SQL-текст запиту) для джерела даних звіту
FILENAMEПовертає повний шлях до файлу шаблону звіту
PAGENUMBERПовертає номер поточної сторінки
PAGECOUNTПовертає загальну кількість сторінок в звіті. Ця функція вимагає формування звіту в режимі двох проходів і може уповільнити форматування великих звітів. Рекомендується використовувати лише в об'єктах типу Вираз.
RECORDNUMBERПовертає номер поточного запису
GROUPRECORDNUMBERПовертає номер поточного запису в поточній групі
PAGERECORDNUMBERПовертає номер поточного запису на поточній сторінці
RECORDCOUNTПовертає кількість записів набору даних звіту
REPORTDESCRIPTIONПовертає опис звіту
REPORTAUTHORПовертає ім'я автора звіту
PAGEHEIGHTПовертає висоту сторінки в пікселях
PAGEWIDTHПовертає ширину сторінки в пікселях
LEFTMARGINПовертає ліве поле в пікселях
RIGHTMARGINПовертає праве поле в пікселях
TOPMARGINПовертає верхнє поле в пікселях
BOTTOMMARGINПовертає нижнє поле в пікселях