NiteSoft.org
 

Новости

NiteSoft RSS
04-05-2012

На сайте размещена online версия справки к NiteTest 2.0.


25-04-2012

Ключ к NiteTest 2.0 бесплатно!


09-04-2012

Добавлен пример для NiteEditor, в котором каталоги, статьи, тесты и файлы включены вместе


06-04-2012

Добавлено несколько автономных файлов с тестами.

Создание Excel-шаблонов отчетов

Шаблон отчета – это файл с расширением xls формата Microsoft Excel, на основании которого сервер NiteServer выдает готовые отчеты. Этот файл содержит разметку отчета, оформление, заголовки и т.п. исключая сами данные. Данные (результаты пользователей, их имена, оценки и т.п.) подставляются в шаблон сервером непосредственно в вомент загрузки отчета. Подстановка данных осуществляется в специальные маркеры.
Маркеры – специальные текстовые значения в ячейках файла шаблона, которые управляют процессом генерации готового отчета. Маркеры имеют специальный синтаксис:
 
[%ИМЯ_МАРКЕРА%]
 
или
 
[%ИМЯ_МАРКЕРА=ЗНАЧЕНИЕ_МАРКЕРА%]
 
Структуру шаблона отчета можно рассмотреть на примере:
 
 
Рисунок 1 – Пример шаблона отчета
 
Готовый отчет (рисунок 2) на основе шаблона (рисунок 1):
 
 
Рисунок 2 – Сгенерированный отчет на основе шаблона
 
Особенностью отчета из примера является группировка данных. Так как заранее неизвестно количество групп, в шаблоне указывается специальная часть с маркерами [%GROUP_BEGIN%] и [%GROUP_END%], которая будет продублирована для каждой из групп. Поле по которому группируются данные указывается в маркере [%GROUP=ИМЯ_ПОЛЯ%]
 
При генерации отчета строки с маркерами [%GROUP_BEGIN%] и [%GROUP_END%] будут удалены. Не размещайте на них данные (кроме других маркеров).
 
Каждая группа будет иметь различное количество строк данных. Поэтому по аналогии с маркерами групп существуют маркеры данных: [%DATA_BEGIN%] и [%DATA_END%]. Часть между ними будет повторена столько раз, сколько записей попадет в текущую группу. Между маркером [%GROUP_BEGIN%] и [%DATA_BEGIN%] может располагаться шапка группы (названия полей и т.п.), а между маркерами [%DATA_END%] и [%GROUP_END%] - низ группы (различные суммы и т.п.).
Если в шапке группы нужно вывести значение, одинаковое для всех записей в группе, то используется маркер вида [%ИМЯ_ПОЛЯ%]. На рисунке 1 такой маркер [%NAME%].
Для вывода снизу группы суммы по полю, количества записей или среднее значение по полю используйте:
  • [%GROUP_SUM=ИМЯ_ПОЛЯ%] - сумма по полю ИМЯ_ПОЛЯ;
  • [%GROUP_COUNT%] - количество записей в группе;
  • [%GROUP_AVG=ИМЯ_ПОЛЯ%] - среднее арифметическое для поля ИМЯ_ПОЛЯ.
Для рисунка 1 маркер суммы [%GROUP_SUM=MARK%] выводит сумму числовых значений оценок (заметьте, проценты не учитываются, т.к. символ "%" не является числовым) для каждой из групп.
 
Чтобы в отчете была возможность сворачивания групп (если записей в группах может быть очень много), используйте маркер [%DATA_GROUP%].
 
Маркеры [%GLOBAL_NUMBER%] и [%NUMBER%] служат для вывода порядкового номера записи без учета групп и с учетом групп соответственно. Для примера рисунка 1 использован [%NUMBER%], чтобы реализовать нумерацию для каждой из групп отдельно.
При указании маркера [%REPEAT_NO%] сервер NiteServer предполагает, что количество выбранных записей равно 1 независимо от реально выбранного количества записей.
Маркеры [%REPORT_SUM=ИМЯ_ПОЛЯ%], [%REPORT_COUNT%] и [%REPORT_AVG=ИМЯ_ПОЛЯ%] аналогичны маркерам [%GROUP_SUM=ИМЯ_ПОЛЯ%], [%GROUP_COUNT%] и [%GROUP_AVG=ИМЯ_ПОЛЯ%] за исключением того, что вычисляют значения для отчета вцелом, а не для групп по отдельности.
Для шаблонов отчетов страницы результатов доступны маркеры полей записей:
  • NAME – имя пользователя; 
  • TEST – название теста; 
  • DATE – дата тестирования;
  • TIME – время, затраченное на тестирование;
  • MARK – оценка пользователя за тест;
  • MESSAGE – полная формулировка результата пользователя;
  • USER_POINTS – количество баллов, набранных пользователем;
  • MAX_POINTS – максимально возможное количество баллов за тестирование.
В данной версии руководства пользователя приводится только базовое описание возможностей шаблонов. Если вам необходима расширенная функциональность - заходите на сайт http://nitesoft.org в раздел "Контакты".
NiteSoft (c) 2005 - 2013