Имя: Пароль:
1C
1С v8
Где в справке находится описание раширения языка запросов СКД?
0 ProgAL
 
01.02.15
12:15
Добрый день. Где в справочной системе 1с найти описание функций СКД ВычислитьВыражение итп? Информация из курса 110 часов по СКД уже неактуальна.
1 Поpyчик-4
 
01.02.15
12:44
(0) F1 в конфигураторе, смотрим индекс или спрашиваем в гугле.
2 arccos6pi
 
01.02.15
12:45
(0) в сп наверное нигде
http://infostart.ru/public/86764/
3 arccos6pi
 
01.02.15
12:47
+(2) там в комметариях еще ссылки какие-то
4 Поpyчик-4
 
01.02.15
12:48
(0) За 8 лет не научился пользоваться поиском.
5 GROOVY
 
01.02.15
13:21
Приложение 1 к документации по 8.3. Язык выражений системы компоновки данных.


Приложение 1. Язык выражений системы компоновки данных

Язык выражений системы компоновки данных предназначен для записи выражений, используемых в различных частях системы, например, в настройках компоновки данных, для описания выражений пользовательских полей.

Литералы

В выражении могут присутствовать литералы. Возможны литералы следующих типов:

? Строка,

? Число,

? Дата,

? Булево.

Строка

Строковый литерал записывается в символах «"».

"Строковый литерал"
При необходимости использования внутри строкового литерала символа «"» следует использовать два таких символа.

"Литерал ""в кавычках"""
Число

Число записывается без пробелов, в десятичном формате. Дробная часть отделяется при помощи символа «.».

10.5
200
Дата

Литерал типа Дата записывается при помощи ключевого литерала ДАТАВРЕМЯ (DATETIME). После данного ключевого слова в скобках, через запятую, перечисляются год, месяц, день, часы, минуты, секунды. Указание времени необязательно.

ДАТАВРЕМЯ(1975, 1, 06) – Шестое января 1975 года
ДАТАВРЕМЯ(2006, 12, 2, 23, 56, 57) – Второе декабря 2006 года, 23 часа 56 минут 57 секунд
Булево

Булевы значения могут быть записаны при помощи литералов Истина (True), Ложь (False).

Значение

Для указания литералов других типов (системных перечислений, предопределенных данных) используется ключевое слово ЗНАЧЕНИЕ, после которого в скобках идет указание имени литерала.

ЗНАЧЕНИЕ(ВидСчета.Активный)
Поля

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

Номенклатура.Артикул
Продажи.СуммаОборот
Параметры

Выражения могут использовать параметры. Для использования в выражении параметра достаточно написать его имя, которому будет предшествовать символ &.

&Контрагент
&ДатаНачала
1.1. Операции над числами

Унарный –

Данная операция предназначена для изменения знака числа на обратный.

–Продажи.Количество
Унарный +

Данная операция не выполняет над числом никаких действий.

+Продажи.Количество
Бинарный –

Данная операция предназначена для вычисления разности двух чисел.

ОстаткиИОбороты.НачальныйОстаток – ОстаткиИОбороты.КонечныйОстаток
ОстаткиИОбороты.НачальныйОстаток — 100
400 – 357
Бинарный +

Данная операция предназначена для вычисления суммы двух чисел.

ОстаткиИОбороты.НачальныйОстаток + ОстаткиИОбороты.Оборот
ОстаткиИОбороты.НачальныйОстаток + 100
400 + 357
Произведение

Данная операция предназначена для вычисления произведения двух чисел.

Номенклатура.Цена 1.2
2
3.14
Деление

Данная операция предназначена для получения результата деления одного операнда на другой.

Номенклатура.Цена / 1.2
2 / 3.14
Остаток от деления

Данная операция предназначена для получения остатка от деления одного операнда на другой.

Номенклатура.Цена % 1.2
2 % 3.14
1.2. Операции над строками

Конкатенация (Бинарный +)

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

Номенклатура.Артикул + ": "+ Номенклатура.Наименование
ПОДОБНО (LIKE)

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

Значением оператора ПОДОБНО является Истина, если значение выражения удовлетворяет шаблону, и Ложь в противном случае.

Следующие символы в строке шаблона имеют смысл, отличный от просто очередного символа строки:

? % – процент: последовательность, содержащая ноль и более произвольных символов;

? _ – подчеркивание: один произвольный символ;

? [...] – один или несколько символов в квадратных скобках: один символ, любой из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны, например a–z, означающие произвольный символ, входящий в диапазон, включая концы диапазона;

? [^...] – в квадратных скобках значок отрицания, за которым следует один или несколько символов: любой символ, кроме тех, которые перечислены следом за значком отрицания.

Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки. Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать спецсимвол, указанный после ключевого слова СПЕЦСИМВОЛ (ESCAPE).

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

"%АБВ[0–9][абвг]_абв%" СПЕЦСИМВОЛ "\"
1.3. Операции сравнения

РАВНО

Данная операция предназначена для сравнения двух операндов на равенство.

Продажи.Контрагент = Продажи.НоменклатураОсновнойПоставщик
НЕ РАВНО

Данная операция предназначена для сравнения двух операндов на неравенство.

Продажи.Контрагент <> Продажи.НоменклатураОсновнойПоставщик
МЕНЬШЕ

Данная операция предназначена для проверки того, что первый операнд меньше второго.

ПродажиТекущие.Сумма < ПродажиПрошлые.Сумма
БОЛЬШЕ

Данная операция предназначена для проверки того, что первый операнд больше второго.

ПродажиТекущие.Сумма > ПродажиПрошлые.Сумма
МЕНЬШЕ ИЛИ РАВНО

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

ПродажиТекущие.Сумма <= ПродажиПрошлые.Сумма
БОЛЬШЕ ИЛИ РАВНО

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

ПродажиТекущие.Сумма >= ПродажиПрошлые.Сумма
Операция «В» (IN)

Данная операция осуществляет проверку наличия значения в переданном списке значений. Результатом операции будет Истина, если значение найдено, или Ложь – в противном случае.

Номенклатура В (&Товар1, &Товар2)
Операция проверки наличия значения в наборе данных

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

Продажи.Контрагент В Контрагенты
Операция проверки значения на NULL ЕСТЬ NULL (IS NULL)

Данная операция возвращает значение Истина, если оно является значением NULL.

Продажи.Контрагент ЕСТЬ NULL
Операция проверки значения на неравенство NULL ЕСТЬ НЕ NULL (IS NOT NULL)

Данная операция возвращает значение Истина, если оно не является значением NULL.

Продажи.Контрагент ЕСТЬ НЕ NULL
1.4. Логические операции

Логические операции принимают в качестве операндов выражения, имеющие тип Булево.

Операция «НЕ» (NOT)

Операция НЕ возвращает значение Истина, если ее операнд имеет значение Ложь, и Ложь, если ее операнд имеет значение Истина.

НЕ Документ.Грузополучатель = Документ.Грузоотправитель
Операция «И» (AND)

Операция И возвращает значение Истина, если оба операнда имеют значение Истина, и Ложь, если один из операндов имеет значение Ложь.

Документ.Грузополучатель = Документ.Грузоотправитель И Документ.Грузополучатель = &Контрагент
Операция «ИЛИ» (OR)

Операция ИЛИ возвращает значение Истина, если один из операндов имеет значение Истина, и Ложь, если оба операнда имеют значение Ложь.

Документ.Грузополучатель = Документ.Грузоотправитель ИЛИ Документ.Грузополучатель = &Контрагент
1.5. Агрегатные функции

Агрегатные функции осуществляют некоторое действие над набором данных.

СУММА (SUM)

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

СУММА(Продажи.СуммаОборот)
КОЛИЧЕСТВО (COUNT)

Функция КОЛИЧЕСТВО рассчитывает количество значений, отличных от значения NULL. В качестве параметра может быть использован результат функции Массив. Например:

КОЛИЧЕСТВО(Продажи.Контрагент)
КОЛИЧЕСТВО (РАЗЛИЧНЫЕ) (COUNT (DISTINCT))

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

КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Продажи.Контрагент)
МАКСИМУМ (MAX)

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

МАКСИМУМ(Остатки.Количество)
МИНИМУМ (MIN)

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

МИНИМУМ(Остатки.Количество)
СРЕДНЕЕ (AVG)

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

СРЕДНЕЕ(Остатки.Количество)
МАССИВ (ARRAY)

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

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

МАССИВ(КоличествоПредложений)
ТАБЛИЦАЗНАЧЕНИЙ (VALUETABLE)

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

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

ТаблицаЗначений(Различные Номенклатура, ХарактеристикаНоменклатуры КАК Характеристика)
ГРУППОВАЯОБРАБОТКА (GROUPPROCESSING)

Функция возвращает объект ДанныеГрупповойОбработкиКомпоновкиДанных (DataCompositionGroupProcessingData), который имеет следующие свойства:

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

? ТекущийЭлемент (CurrentItem) – строка таблицы значений, являющихся текущими. При вызове для общего итога ТекущийЭлемент содержит значение Неопределено. В данное свойство функция помещает строку таблицы значений, для которой в настоящий момент вычисляется функция.

? ВременныеДанныеОбработки (ProcessingTempData) – структура, в которую могут быть помещены данные промежуточных результатов. Рекомендуется в различных функциях давать свойствам уникальные имена, т. к. возможна ситуация, когда один и тот же объект ДанныеГрупповойОбоработкиКомпоновкиДанных будет передан в несколько различных функций.

Функция имеет следующие параметры:

? Выражения – строка, в которой через запятую перечислены выражения, которые нужно вычислить. После каждого выражения возможно наличие необязательного ключевого слова КАК и имени колонки результирующей таблицы значений.

? ВыраженияИерархии – выражения, которые нужно вычислить для иерархических записей. Аналогично параметру Выражения с тем отличием, что параметр Выражения используется для неиерархических записей, а параметр ВыраженияИерархии используется для иерархических записей. Если параметр не указан, то для вычисления значений для иерархических записей используются выражения, указанные в параметре Выражение.

? ИмяГруппировки – имя группировки, в которой нужно вычислять группировку обработки. Тип Строка. Если не указано, то вычисление происходит в текущей группировке. Если вычисление идет в таблице и параметр содержит пустую строку или не указан, то значение вычисляется для группировки-строки. Компоновщик макета при генерации макета компоновки данных заменяет данное имя именем группировки в результирующем макете. Если группировка недоступна, то функция будет заменена на значение NULL.

ГрупповаяОбработка("Сумма(СуммаОборот)")
СВЕРНУТЬ (GROUPBY)

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

Параметры:

? Массив или таблица значений;

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

ПОЛУЧИТЬЧАСТЬ(GETPART)

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

Параметры:

? таблица значений, из которой нужно получить колонки;

? номера или имена колонок, которые нужно получить, разделенные запятой.

Возвращаемое значение: таблица значений, включающая только колонки, которые указаны в параметре Номера/имена колонок.

УПОРЯДОЧИТЬ(ORDER)

Предназначена для упорядочивания элементов массива.

Параметры:

? Массив или ТаблицаЗначений;

? номер или имя колонки таблицы значений, по которой нужно упорядочить. Для массива номер можно не указывать. Направление упорядочивания Необходимость автоупорядочивания. Убыв/Возр + Автоупорядочивание.

Возвращаемое значение: массив или таблица значений с упорядоченными элементами.

СОЕДИНИТЬСТРОКИ (JOINSTRINGS)

Агрегатная функция, позволяющая объединять строки в одну строку.

Параметры:

? Значения, которые нужно объединить в одну строку. Если является массивом, то в строку будут объединяться элементы массива. Если является таблицей значений, то в строку будут объединяться все колонки и строки таблицы.

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

? Разделители колонок. Строка, содержащая текст, который нужно использовать в качестве разделителя между колонками таблицы значений. По умолчанию «;».

Каждый (Every)

Если хоть одна запись имеет значение Ложь, то функция возвращает Ложь. Иначе – Истина.

Синтаксис:

Каждый(Выражение)

Параметр:

Выражение – тип Булево.

Пример:

Каждый()
Любой (Any)

Если хоть одна запись имеет значение Истина, то результат – Истина. Иначе – Ложь.

Синтаксис:

Любой(Выражение)

Параметр:

Выражение – тип Булево.

Пример:

Любой()
СтандартноеОтклонениеГенеральнойСовокупности (Stddev_Pop)

Вычисляет стандартное отклонение совокупности. Используется формула: SQRT(ДисперсияГенеральнойСовокупности(X))

Синтаксис: СтандартноеОтклонениеГенеральнойСовокупности(Выражение)

Параметр:

Выражение – тип Число.

Тип возвращаемого значения – Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ ДисперсияВыборки(Y, X) ИЗ Таблица
Результат:

805.694444
СтандартноеОтклонениеВыборки (Stddev_Samp)

Функция вычисляет совокупное типовое стандартное отклонение. Используется формула: SQRT(ДисперсияВыборки(X))

Синтаксис:

СтандартноеОтклонениеВыборки(Выражение)

Параметр:

Выражение – тип Число.

Тип возвращаемого значения – Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ СтандартноеОтклонениеВыборки(Y) ИЗ Таблица
Результат:

28.3847573
ДисперсияВыборки (Var_Samp)

Функция вычисляет типовое различие ряда чисел без учета значений NULL в этом наборе. Используется формула: (Сумма(X^2) - Сумма(X)^2 / Количество(X)) / (Количество(X) - 1).

Если Количество(X) = 1, то возвращается значение NULL.

Синтаксис:

ДисперсияВыборки(Выражение)

Параметр:

Выражение – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ ДисперсияВыборки(Y, X) ИЗ Таблица
Результат:

805.694444
ДисперсияГенеральнойСовокупности (Var_Pop)

Функция вычисляет различие совокупности ряда чисел без учета значений NULL в этом наборе. Используется формула: (Сумма(X ^2) - Сумма(X)^2 / Количество(X)) / Количество(X).

Синтаксис:

ДисперсияГенеральнойСовокупности(Выражение)

Параметр:

Выражение – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ ДисперсияГенеральнойСовокупности(Y, X) ИЗ Таблица
Результат:

716.17284
КовариацияГенеральнойСовокупности (Covar_Pop)

Вычисляет ковариацию ряда числовых пар. Используется формула: (Сумма(Y X) - Сумма(X) Сумма(Y) / n) / n, где n число пар (Y, X), в которых ни Y ни X не являются NULL.

Синтаксис:

КовариацияГенеральнойСовокупности(Y, X)

Параметры:

? Y – тип Число;

? X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ КовариацияГенеральнойСовокупности(Y, X) ИЗ Таблица
Результат:

59.4444444
КовариацияВыборки (Covar_Samp)

Вычисляет типовое различие ряда чисел без учета значений NULL в этом наборе. Используется формула: (Сумма(Y X) - Сумма(Y) Сумма(X) / n) / (n-1), где n число пар (Y, X) в которых ни Y, ни X не являются NULL.

Синтаксис:

КовариацияВыборки(Y, X)

Параметры:

? Y – тип Число;

? X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ КовариацияВыборки(Y, X) ИЗ Таблица
Результат:

66.875
Корреляция (Corr)

Функция вычисляет коэффициент корреляции ряда числовых пар. Используется формула: КовариацияГенеральнойСовокупности(Y, X) / (СтандартноеОтклонениеГенеральнойСовокупности(Y) СтандартноеОтклонениеГенеральнойСовокупности(X)). Не учитываются пары, в которых Y или X – NULL.

Синтаксис:

Корреляция(Y, X)

Параметры:

? Y – тип Число;

? X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ Корреляция(X, Y) ИЗ Таблица
Результат:

0.860296149
РегрессияНаклон (Regr_Slope)

Функция вычисляет наклон линии. Используется формула: КовариацияГенеральнойСовокупности(Y, X) / ДисперсияГенеральнойСовокупности(X). Вычисляется без учета пар, содержащих NULL.

Синтаксис:

РегрессияНаклон(Y, X)

Параметры:

? Y – тип Число;

? X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ РегрессияНаклон(Y, X) ИЗ Таблица
Результат:

8.91666667
РегрессияОтрезок (Regr_Intercept)

Функция вычисляет Y-точку пересечения линии регресса. Используется формула: Среднее(Y) - РегрессияНаклон(Y, X)
Среднее(X). При вычислении не учитываются пары, содержащие NULL.

Синтаксис:

РегрессияОтрезок(Y, X)

Параметры:

? Y – тип Число;

? X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ РегрессияОтрезок(Y, X) ИЗ Таблица
Результат:

-20.361111
РегрессияКоличество (Regr_Count)

Вычисляет количество пар, не содержащих NULL.

Синтаксис:

РегрессияКоличество(Y, X)

Параметры:

? Y – тип Число;

? X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ РегрессияКоличество(Y, X) ИЗ Таблица
Результат:

9
РегрессияR2 (Regr_R2)

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

Синтаксис:

РегрессияR2(Y, X)

Параметры:

? Y – тип Число;

? X – тип Число.

Возвращаемое значение:

NULL – если ДисперсияГенеральнойСовокупности(X)=0; 1 – если ДисперсияГенеральнойСовокупности(Y)=0 и ДисперсияГенеральнойСовокупности(X)<>0; POW(Корреляция(Y,X),2) – если ДисперсияГенеральнойСовокупности(Y)>0 и ДисперсияГенеральнойСовокупности(X)<>0.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ РегрессияR2(Y, X) ИЗ Таблица
Результат:

0.740109464
РегрессияСреднееX (Regr_AvgX)

Вычисляет среднее число Y после исключения X и Y пар, где или X, или Y являются пустыми. Среднее (X) вычисляется без учета пар, содержащих NULL.

Синтаксис:

РегрессияСреднееX(Y, X)

Параметры:

? Y – тип Число;

? X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ РегрессияСреднееX(Y, X) ИЗ Таблица
Результат:

5
РегрессияСреднееY (Regr_AvgY)

Функция вычисляет среднее число X после исключения X и Y пар, где или X, или Y являются пустыми. Среднее (Y) вычисляется без учета пар, содержащих NULL.

Синтаксис:

РегрессияСреднееY (Y, X)

Параметры:

? Y – тип Число;

? X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ РегрессияСреднееY(Y, X) ИЗ Таблица
Результат:

24.2222222
РегрессияSXX (Regr_SXX)

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

Значение вычисляется по формуле: РегрессияКоличество(Y, X) ДисперсияГенеральнойСовокупности(X). При этом пары, содержащие NULL, не учитываются.

Синтаксис:

РегрессияSXX (Y, X)

Параметры:

? Y – тип Число;

? X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ РегрессияSXX(Y, X) ИЗ Таблица
Результат:

60
РегрессияSYY (Regr_SYY)

Функция вычисляет значение по формуле: РегрессияКоличество(Y, X)
ДисперсияГенеральнойСовокупности(Y).

Значение вычисляется без учета пар, содержащих NULL.

Синтаксис:

РегрессияSYY (Y, X)

Параметры:

? Y – тип Число;

? X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ РегрессияSYY(Y, X) ИЗ Таблица
Результат:

6445.55556
РегрессияSXY (Regr_SXY)

Функция вычисляет значение по формуле: РегрессияКоличество(Y, X) КовариацияГенеральнойСовокупности(Y, X). Вычисляется без учета пар, содержащих NULL.

Синтаксис:

РегрессияSXY (Y, X)

Параметры:

? Y – тип Число;

? X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

ВЫБРАТЬ РегрессияSXY(Y, X) ИЗ Таблица
Результат:

535
МестоВПорядке (Rank)

Синтаксис:

МестоВПорядке(Порядок, ПорядокИерархии, ИмяГруппировки)

Параметры:

? Порядок – тип Строка. Содержит выражения, в последовательности которых нужно расположить групповые записи, разделенные через запятую. Направление упорядочивания управляется при помощи слов Возр, Убыв. После поля также можно указать строку Автоупорядочивание, что обозначает, что при упорядочивании ссылок нужно использовать поля упорядочивания, определенные для объекта, на который ссылка. Если последовательность не указана, то значение рассчитывается в последовательности группировки;

? ПорядокИерархии – тип Строка. Содержит выражения упорядочивания для иерархических записей;

? ИмяГруппировки – тип Строка. Имя группировки, в которой нужно вычислять группировку обработки. Если не указано, то вычисление происходит в текущей группировке. Если вычисление идет в таблице и параметр содержит пустую строку или не указан, то значение вычисляется для группировки-строки. Компоновщик макета при генерации макета компоновки данных заменяет данное имя на имя группировки в результирующем макете. Если группировка не доступна, то функция будет заменена на значение NULL.

Пример:

МестоВПорядке("[Количество Оборот]")
КлассификацияABC (ClassificationABC)

Функция возвращает номер класса, начиная с 1, который соответствует классу А.

Синтаксис:

КлассификацияABC(Значение, КоличествоГрупп, ПроцентыДляГрупп, ИмяГруппировки)

Параметры:

? Значение – тип Строка. Значение, по которому нужно рассчитывать классификацию. Строка, в которой указано выражение;

? КоличествоГрупп – тип Число. Задает количество групп, на которое нужно разбить;

? ПроцентыДляГрупп – тип Число. Количество групп, на которое нужно разбить минус 1. Указывается через запятую;

? ИмяГруппировки – тип Строка. Имя группировки, в которой нужно вычислять группировку обработки. Если не указано, то вычисление происходит в текущей группировке. Если вычисление выполняется в таблице и параметр содержит пустую строку или не указан, то значение вычисляется для группировки-строки. Данное имя будет заменено на имя группировки в результирующем макете. Если группировка не доступна, то функция будет заменена на значение NULL.

Пример:

КлассификацияABC("Сумма([Количество Оборот])", 3)
1.6. Другие операции

Операция «ВЫБОР»

Операция ВЫБОР предназначена для осуществления выбора одного из нескольких значений при выполнении некоторых условий.

ВЫБОР Когда Сумма > 1000 Тогда Сумма Иначе 0 Конец
Правила сравнения двух значений

Если типы сравниваемых значений отличаются друг от друга, то отношения между значениями определяются на основании приоритета типов:

? NULL (самый низший),

? Булево,

? Число,

? Дата,

? Строка,

? ссылочные типы.

Отношения между различными ссылочными типами определяются на основе ссылочных номеров таблиц, соответствующих тому или иному типу.

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

? у типа Булево значение ИСТИНА больше значения ЛОЖЬ;

? у типа Число обычные правила сравнения для чисел;

? у типа Дата более ранние даты меньше более поздних;

? у типа Строка строки сравниваются в соответствии с установленными национальными особенностями базы данных;

? ссылочные типы сравниваются на основе своих значений (номера записи и т. п.).

Работа со значением NULL

Любая операция, в которой значение одного из операндов NULL, будет давать результат NULL.

Есть исключения:

? операция И будет возвращать NULL только в случае, если ни один из операндов не имеет значения Ложь;

? операция ИЛИ будет возвращать NULL только в случае, если ни один из операндов не имеет значение Истина.

Приоритеты операций

Операции имеют следующие приоритеты (первая строка имеет низший приоритет):

? ИЛИ;

? И;

? НЕ;

? В, ЕСТЬ NULL, ЕСТЬ НЕ NULL;

? =, <>, <=, <, >=, >;

? Бинарный +, Бинарный –;

?
, /, %;

? Унарный +, Унарный –.

1.7. Функции

ВЫЧИСЛИТЬ (EVAL)

Функция ВЫЧИСЛИТЬ предназначена для вычисления выражения в контексте некоторой группировки. Функция имеет следующие параметры:

? Выражение – строка, содержащая вычисляемое выражение.

? Группировка – строка, содержащая имя группировки, в контексте которой необходимо вычислить выражение. Если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. Если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем.

? Тип расчета – строка, содержащая тип расчета. Если данный параметр имеет значение ОбщийИтог, выражение будет вычисляться для всех записей группировки. Если значение параметра – Группировка, значения будут вычисляться для текущей групповой записи группировки.

СУММА(Продажи.СуммаОборот) / ВЫЧИСЛИТЬ("Сумма(Продажи.СуммаОборот)", "ОбщийИтог")
В данном примере в результате получится отношение суммы по полю Продажи.СуммаОборот записи группировки к сумме того же поля во всей компоновке.

ВЫЧИСЛИТЬВЫРАЖЕНИЕ (EVALEXPRESSION)

Функция возвращает выражение для записи указанной группировки. Имеет следующие параметры:

? Вычисляемое выражение. Строка, содержащая выражение, которое требуется вычислить.

? Группировка. Строка, содержащая имя группировки, в которой требуется вычислить выражение. Если в качестве имени группировки используется пустая строка, то вычисление будет выполнено для текущей группировки. Если указана строка ОбщийИтог, то вычисление будет выполнено для общего итога. Если в параметре указано имя группировки-строки или указана пустая строка, то при вычислении в таблице вычисление будет выполнено для группировки, полученной на пересечении требуемой области вычисления (см. описание третьего параметра) и текущей строки группировки колонки. Если в параметре указано имя группировки-колонки, то вычисление выполняется для группировки, полученной на пересечении области вычисления группировки-колонки и текущей записи группировки-строки.

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

Если значение параметра Группировка, значения будут вычисляться для текущей групповой записи группировки.
Если параметр имеет значение ГруппировкаНеРесурса, то при вычислении функции для групповой записи по ресурсам выражение будет вычислено для первой групповой записи исходной группировки.
При вычислении функции ВычислитьВыражение со значением ГруппировкаНеРесурса для групповых записей, не являющихся группировками по ресурсам, функция вычисляется так же, как бы она вычислялась со значением параметра Группировка.
Компоновщик макета компоновки данных при генерации макета компоновки данных, при выводе в макет поля-ресурса, по которому выполняется группировка, выдает в макет выражение, вычисляемое при помощи функции ВычислитьВыражение с указанным параметром ГруппировкаНеРесурса. Для остальных ресурсов в группировке по ресурсу выдаются обычные выражения ресурсов.

Если параметр содержит строку Иерархия, то выражение будет вычислено для родительской иерархической записи, если таковая имеется, и д
6 ifso
 
01.02.15
14:06
штоэтобыло?)
7 deniseek
 
01.02.15
16:12
+(6)
(5) А слабо в двоичных данных то-же самое?
8 ProgAL
 
01.02.15
16:26
Спасибо.
9 GROOVY
 
01.02.15
16:47
(6) Копипаста из документации.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший