3.16Арифметические операторы над сводными показателями - Техническое задание

Техническое задание


НазваниеТехническое задание
страница13/13
ТипТехническое задание
rykovodstvo.ru > Руководство эксплуатация > Техническое задание
1   ...   5   6   7   8   9   10   11   12   13

3.16Арифметические операторы над сводными показателями


Операторы СВОД(), КОЛИЧЕСТВО(),ПОКАЗАТЕЛЬ(), ЕСЛИ(), ABS() и т.д. могут быть объединены арифметическими операциями: +, -, *, /, скобки. Используется стандартный арифметический приоритет операций. Перед началом арифметических действий необходимо рассчитать каждый из операндов.

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

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

3.17Арифметические операторы над сводом и числом


Аналогичны арифметическим оператором над сводами, за исключением того, что в качестве одного или обеих из операндов выступает константа или импортируемый показатель-константа (для таких показателей предусмотрены признаки s_razrez = -1, s_tipisvodov = 0).

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

4Описание условий отбора

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


В операторах СВОД(), ПОКАЗАТЕЛЬ(), КОЛИЧЕСТВО() и т.д. есть возможность указания условий отбора показателей. Условия отбора накладываются на признаки показателя и описываются следующими операторами:

=, !=

равно, не равно

>, >=

больше, больше или равно

<, <=

меньше, меньше или равно

ИЗ, БЕЗ

подробное описание – в разделе Операторы ИЗ, БЕЗ

Арифметический оператор = имеет следующий синтаксис:

<Код признака> = <Значение признака>

Синтаксис прочих арифметических операторов аналогичен.

4.2Операторы ИЗ, БЕЗ


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

  • <Код признака> ИЗ (<Набор значений, разделенных запятыми>)

  • <Код признака> ИЗ @<Код выборки>

  • <Код признака> БЕЗ (<Набор значений, разделенных запятыми>)

  • <Код признака> БЕЗ @<Код выборки>

4.3Оператор Период()


Оператор Период() позволяет задать условие на принадлежность показателя к тому или иному периоду разработки (или сразу к нескольким периодам).

Оператор Период() имеет следующий синтаксис:

Период(<Смещение по году>, <Смещение относительно текущего периода>, <Нарастающий итог?>)

  • Параметр "Смещение по году" указывает смещение в годах относительно года текущего периода разработки. Может принимать положительные, отрицательные значения и 0.

  • Параметр "Смещение относительно текущего периода" указывает смещение в периодах относительно номера текущего периода. Может принимать положительные, отрицательные значения и 0

Параметр "Нарастающий итог?" служит для указания, требуются ли данные за конкретный период или нарастающим итогом с начала года до конкретного периода.

Алгоритм применения оператора Период() следующий:

  1. Смещаемся относительно текущего периода разработки на количество периодов, определенное параметром "Смещение относительно текущего периода". При этом учитывается периодичность периода разработки и переходы между годами. Например, смещение на -2 периода для 1 квартала 2015 года будет соответствовать 3 кварталу 2014 года.

  2. Относительно найденного периода смещаемся на количество лет, определенное параметром "Смещение по году".

  3. В зависимости от значения параметра "Нарастающий итог"

    1. Если параметр "Нарастающий итог?" = 0, то в условия фильтрации добавляем p_period_number = <номеру полученного периода> И p_year = <году полученного периода>

    2. Если параметр "Нарастающий итог?" = 1, то в условия фильтрации добавляем p_period_number <= <номеру полученного периода> И p_year = <году полученного периода>

Подстановки относительных периодов, описанные в "Подстановки относительных периодов", заменяются на оператор Период() следующим образом:

Подстановка

Реализация оператором Период()

$ТекущийПериод

Период(0, 0, 0)

$ПредыдущийПериод

Период(0, -1, 0)

$ПериодПрошлогоГода


Период (-1, 0, 0)

$ПериодСНачалаГода


Период(0, 0, 1)

$ПериодСНачалаПрошлогоГода

Период(-1, 0, 1)


4.4Объединение условий отбора


Условия отбора могут быть объединены при помощи логических операций И, ИЛИ и скобок.

5Группировочные признаки разреза


При расчёте по формуле группировка осуществляется по признакам, входящим в разрез.

5.1Результат вычисления


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

Признак

Значение

s_knp

$ОПЕРКОД

s_razrez

$РАЗРЕЗ

s_tipisvodov

$ТИП_СВОДА

s_valuetype

$ТИП_ЗНАЧЕНИЯ

p_year

$ГОД

p_period_number

$НомерПериода

s_periodicity

$ПЕРИОДИЧНОСТЬ

s_togs

$ТОГС

Также добавляются все признаки, входящие в разрез $РАЗРЕЗ со значениями, соответствующими данному значению. Например, для разреза 3 (ОКАТО, Основной ОКВЭД) у результатов вычисления будут указаны следующие признаки:

  • s_knp

  • s_razrez

  • s_tipisvodov

  • s_valuetype

  • p_year

  • p_period_number

  • s_periodicity

  • s_togs

  • s_okved_main

  • s_okato

5.2Использование схем сборок


Для каждого признака, входящего в разрез может быть указана схема сборки, отражающая иерархию данного признака в пределах этого разреза. Схемы сборки применяются для каждого агрегирующего оператора, кроме ПОКАЗАТЕЛЬ() после того как рассчитаны значения показателя по каждой из имеющихся в исходных данных комбинаций значений признаков разреза. При этом применяются схемы сборки, соответствующие разрезу = $РАЗРЕЗ (текущему значению подстановки). В случае если в формуле содержится несколько операторов необходимо применять соответствующие схемы сборки для каждого оператора.

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

Алгоритм применения схем сборки:

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

  2. Применяем 2-ую по порядку схему сборки, соответствующую Признаку2. Аналогично суммируем по данной схеме сборки элементы с одинаковыми значениями других признаков (кроме Признака2). При этом суммируются и те элементы, которые были получены при суммировании по первой схеме сборки (по Признаку1).

  3. …Применяем N-ую по порядку схему сборки, соответствующую ПризнакуN. Аналогично суммируем по данной схеме сборки элементы с одинаковыми значениями других признаков (кроме ПризнакаN). При этом суммируются и те элементы, которые были получены при суммировании по все предыдущим схемам сборки (по Признакам1, 2 …).

ВАЖНО! При суммировании с листовых элементов до корня необходимо просуммировать все входящие элементы перед тем как суммировать головной

Схема сборки в дополнении к своей основной функции является фильтром. Те элементы, которых нет в схеме сборки (ни в столбце ParentCode, ни в столбце Code), не должны попасть в результат, даже если они встречаются в исходных данных. Таким образом, если в исходных данных есть ОКВЭДы A, B, C, D, а схема сборки выглядит как C=A+B, то D не должен попасть в результат.

5.3Включение элемента в себя в схеме сборки


Схема сборки позволяет указать, что для вычисления элемента необходимо суммировать не только вложенные в него элементы, но и сам этот элемент (если он уже присутствует в исходных данных). Данная возможность обеспечивает суммирование иерархических справочников, в которых исходные данные могут находиться сразу на нескольких уровнях.

При этом действуют следующие правила:

  1. Если в схеме сборки указана циклическая связь (например, C=A+B+C), это значит, что при вычислении C следует помимо A и B включить в сумму C, присутствующие в данных, на которых применяется схема сборки. При этом в результат должен попасть именно рассчитанный элемент C = A+B+C, а не исходный элемент C.

  2. Так как суммирование по схеме сборки идёт строго вверх по дереву, то повторное включение уже рассчитанного элемента в себя исключается.

  3. Если же циклической связи не указано (C=A+B), а в итоговых данных есть элементы C, то эти элементы полностью игнорируются при сборке и не попадают в результат.

6Описание контролей


Для описаний ФЛК (контролей) используются те же параметризуемые подстановки и операторы, что и для расчёта показателей. Специфика заключается в том, что при расчёте ФЛК система должна выдавать сведения о корректности контроля для каждого элемента разреза (вместо конкретного значения показателя). Для этого при описании ФЛК вводятся дополнительные операторы сравнения:

  • =, !=

  • >, >=

  • <, <=

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

6.1Дополнительные правила


  • Если формула не указана, то подразумевается, что используется формула СВОД()

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

1   ...   5   6   7   8   9   10   11   12   13

Похожие:

Техническое задание iconЧто такое Техническое задание?
Техническое задание – это документ, выполненный в виде изображения с пояснениями (как на примерах справа). Техническое задание –...

Техническое задание iconТехническое задание Техническое задание лоту №  7999,2 1 Техническое...
Тс panasonic kx-tde600ru с бп тип L (tda 0103) (с модификацией крепления к стене)

Техническое задание iconТехническое задание на техническое обслуживание и ремонт инженерного...
Настоящее Техническое задание разработано в соответствии с действующими в РФ нормами и правилами

Техническое задание iconТехническое задание Техническое задание на поставку автоаксессуаров тм «сапфир»
Техническое задание на поставку автоаксессуаров тм «сапфир» для реализации на азк/азс пао «нк «Роснефть» Алтайнефтепродукт»

Техническое задание iconТехническое задание Система управления орд
Данное техническое задание изменению и корректировке на стадии разработки не подлежит

Техническое задание icon1. техническое задание
Техническое задание на проведения открытого запроса предложений на право заключения договора на поставку аогв, акгв

Техническое задание iconТехническое задание (идентификационный номер процедуры №35/4-10228)...

Техническое задание iconТехническое задание
Основание для приобретения: Техническое задание к договору №10-141/321-п от 14. 04. 2010 г

Техническое задание iconТехническое задание. Назначение
Пао «Ростелеком» (далее – Техническое задание) устанавливает порядок действий и определяет перечень обязанностей сотрудников Исполнителя...

Техническое задание iconТехническое задание Техническое задание по лоту №10/995 Спецификация
Отсутствует особые требования заказчика в отношении состава и рейтинга потенциальных поставщиков

Техническое задание iconТехническое задание тз дплг-03
Техническое задание на производство и поставку тканевых чехлов сидений пассажирских кресел экономического класса самолётов В777

Техническое задание iconПриложение к Блоку 7 Техническое задание Закупочной документации техническое задание
Фискальный регистратор прим-08Ф, в соответствии с характеристиками, представленными в Спецификации

Техническое задание iconТехническое задание на выполнение работ по созданию
Настоящее Техническое задание определяет требования к гальванической линии цинкования(в дальнейшем именуемой Линия)

Техническое задание iconТехническое задание по организации питания в столовой ООО рн туапсинский нпз
Настоящее техническое задание определяет перечень, объем и порядок оказания услуг

Техническое задание iconТехническое задание Техническое задание по лоту №10/1001 Спецификация
Отсутствует особые требования заказчика в отношении состава и рейтинга потенциальных поставщиков импорт

Техническое задание iconЛот №1 техническое задание
...


Руководство, инструкция по применению




При копировании материала укажите ссылку © 2018
контакты
rykovodstvo.ru
Поиск