Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России»





НазваниеОтчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России»
страница8/18
Дата публикации30.04.2015
Размер1.48 Mb.
ТипОтчет
100-bal.ru > Информатика > Отчет
1   ...   4   5   6   7   8   9   10   11   ...   18

1.6Алгоритмы генерации выходных отчетных форм


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

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

1.6.1Анализ структуры шаблона


Разбор структуры шаблона, производимый анализатором шаблона, происходит на основе описания, представленного в нотации JSON [5]. Результатом разбора (работы анализатора) является также структура в JSON-нотации, но включающая все необходимые в отчете значения показателей (как полученные из хранилища, так и расчетные). Для расчетных значений, получаемых в процессе горизонтального и вертикального анализа (определения введены в отчете по четвертому этапу НИР), в структуре отчета создаются дополнительные поля и контейнеры для хранения наборов этих полей.

В процессе горизонтального анализа рассчитанные значения анализируемых показателей для объектов учета одного уровня после выполнения над ними требуемой функции, ассоциируются (связываются связью типа «ключ-значение») с уровнем отчета (а не с ОУ, являющимся родителем проанализированных объектов учета, как в случае с вертикальным анализом).

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

Контейнер для хранения агрегированных значений показателя с нижних уровней, проассоциированных с узлом структуры шаблона отчета (экземпляром ОУ), будем называть контейнером вертикального анализа. Например, в контейнере вертикального анализа ОУ «цех» может хранится сумма единиц оборудования, приписанных объектам учета типа «сотрудник», работающих на различных участках цеха.

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

Набор показателей, агрегированные значения которых проассоциированы с контейнерами вертикального анализа текущего уровня, значения которых необходимо «поднимать выше» (агрегировать на более верхних уровнях) будем называть показателями вертикального анализа для текущего уровня.

Разбор шаблона отчета осуществляется рекурсивно, начиная с корня иерархии ОУ. Анализируется каждый уровень шаблона, проходя до ОУ-листов иерархии, при этом в структуре отчета создаются контейнеры вертикального анализа для хранения расчетных значений. Рекурсивный спуск продолжается до тех пор, пока ни у одного из типов ОУ текущего уровня не окажется потомков. Затем анализатор возвращается назад к корню, при этом запрашивая значения показателей из хранилища и проводя агрегацию данных, полученных как из хранилища, так и с нижних уровней и передавая их на верхние уровни.

Таким образом, обработка запрошенных из базы данных значений показателей выполняется на рекурсивном подъеме. Поскольку на одном уровне могут присутствовать ОУ разных типов, то обработка проводится для всех типов текущего уровня. Для каждого из типов ОУ текущего уровня запрашиваются значения требуемых показателей ОУ. Полученные значения ассоциируются с названиями показателей из структуры шаблона и записываются в структуру отчета.

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

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

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

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

Далее реализуется подстановка значений негруппированным объектам учета и горизонтальный анализ. В цикле, охватывающем требуемые показатели текущего уровня, для каждого из них запрашиваются значения из базы данных и «связываются» с созданными для этого полями в структуре отчета. Если в шаблоне указано требование провести горизонтальный анализ по текущему уровню для рассматриваемого показателя, то есть показатель содержится в массиве показателей горизонтального анализа, то выполняется агрегация его значений по ОУ уровня. Результат заполняется в соответствующее поле контейнера горизонтального анализа.

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



Рисунок 1.21 – Схема процесса анализа шаблона и выборки данных, лист 1




Рисунок 1.21, лист 2

1.6.2Визуализация отчета


Визуализация – трансляция в нотацию web-документа. Принцип работы визуализатора заключается в анализе и транслировании структуры отчета из одной нотации на другую с учетом некоторых правил. В нашем случае трансляция будет проводиться из нотации JSON (в которой сохранена структура отчета) в нотацию Document Object Model [6], распознаваемую любым современным браузером. Набор данных для визуализации поступает от процессора шаблона. При этом результирующая DOM-форма напрямую зависит от выбранного стиля визуализации (таблица(ы), дерево, диаграмма(ы), другое).

Поступившая на вход структура отчета сначала обрабатывается разборщиком сериализованных структур. В результате чего получается иерархия объектов и массивов, которыми можно будет оперировать далее. Поскольку структура отчета представляет собой BNF-подобное [7] описание грамматики без рекурсии, то можно реализовать функции разбора по его нетерминальным символам.

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

Поскольку требуется изображать объединяющие заголовки для нескольких показателей одного ОУ, нескольких ОУ одного родителя, результирующих выводов по аналитической обработке данных, то обработку иерархической структуры шаблона следует осуществлять методом «в ширину», позволяющим на одной итерации обрабатывать узлы одного поколения. Для этого потребуется ввести дополнительные идентификаторы уровня узлов и функцию поиска узла по ним. Верхними индексами структуры шаблона являются узлы «level», означающие начало нового поколения ОУ в отчете.

1   ...   4   5   6   7   8   9   10   11   ...   18

Похожие:

Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
Государственное образовательное учреждение высшего профессионального образования
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
Санкт-петербургский государственный электротехнический университет «лэти» им. В. И. Ульянова (ленина)
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
«Разработка новых методов индивидуальной коррекции сводно-радикального статуса при бактериальных инфекциях»


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск