Создание 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 в раздел "Контакты". |
|