|
|
|
ИНФОРМАЦИЯ О ТЕХНОЛОГИИ
Информационный раздел Генератор статистических отчетов
Генератор статистических отчетов RepGenВведение
Генератор статистических отчетов — это средство для составления и вычисления статистических отчетов простым и понятным способом. В чем разница между обычным списочным отчетом и статистическим отчетом (или, как иногда говорят, перекрестным cross-tab)? Статистический отчет подразумевает, что каждая ячейка имеет два вычислительных условия, а именно условие столбца и условие строки, а в спсисочных отчетах значения в ячейках не вычисляются или вычисляют по одному условия. Рассмотрим простой пример. Пусть есть база данных людей, живущих в разных местах. Обычный списочный отчет по этой базе может выглядеть так
| Имя | Пол | Место жительства | | Майкл Джонсон | Мужской | Нью-Йорк | | Джефри Хаммер | Мужской | Торонто | | Алекс Сторм | Женский | Нью-Йорк | | Анна Бонд | Женский | Торонто | | Всего | 4 |
В этом отчете толька одна ячейка вычисляется — это значение «Всего», она вычисляется как количество строк. Но количество данных растет и уже нельзя просмотреть все базу данных в таком виде. Зато можно посмотреть статистику. Например, Вам может понадобится узнать сколько людей разного пола живет в различных местах. Другими словами необходим статистический отчет. Он может выглядеть так
| Пол\Место жительства | Нью-Йорк | Торонто |
|---|
| Женский | 23 | 44 | | Мужской | 55 | 63 |
Каждая ячейка — это сумма вычисленная по двум условиям. Например, запись о человеке учитывается в первой ячейке, если одновременно
1) это женщина
2) она живет в Нью-Йорке
Генератор отчетов позволяет составлят и вычислять такие отчеты в несколько простых шагов.
Почему RepGen?
Неужели RepGen — это единственный споссоб вычислять такие отчеты? Нет. Чтобы решить вышеупомянутую задачу можно написать 4 SQL-выражения для вычисления этих 4 чисел. Эти выражения могут быть такими:
SELECT COUNT(*) FROM PERSON WHERE GENDER=’Female’ AND LOCATION=’New York’;
SELECT COUNT(*) FROM PERSON WHERE GENDER=’Female’ AND LOCATION=’Toronto’;
SELECT COUNT(*) FROM PERSON WHERE GENDER=’Male’ AND LOCATION=’New York’;
SELECT COUNT(*) FROM PERSON WHERE GENDER=’Male’ AND LOCATION=’ Toronto’;
Однако, этот подход имеет большие недостатки — плохая производительностиь и много написания программного кода (представьте себе отчет 20x30 со сложными условиями).
Можно написать программу, которая будет в цикле по записям базы данных наращивать счетчика. Этот подход будет лучше производительности, но также будет требовать программирования.
При использовании RepGen почти не требуется программирования, а производительность высока. Практически RepGen автоматизирует второй подход. Вам остается только указать условия для вычислительной программы.
Вычислительная часть RepGen написана на Java и может использоватся на множестве серверных платформ и баз данных. Формат результатов XML позволяет легко интегрировать RepGen в любый (в том числе и вэб-) приложения.
Пример использования
Создайте таблицу следующим скриптом
CREATE TABLE PERSON
(NAME VARCHAR2(30),
GENDER VARCHAR2(10),
LOCATION VARCHAR2(20));
Заполнице аблицу данными
Сделайте следующее:
1) Запустите RepGen следующей командой rg.exe
2) Выберите команду File->New
3) Введите количество строк и столбцов, наименование отчета:

4) Щелкните на столбце “condition” строки “R1”, и введите GENDER = 'Female' в окне Smart Editor:

5) Также введите условие для строки “R2”: GENDER = 'Male'
6) Щелкните на иконке “Columns” чтобы ввести условия для столбцов: LOCATION = 'New York' для условия столбца “C1” и LOCATION = 'Toronto' для условия столбца “C2”. Результат будет выглядеть так:

7) Создайте конфигурационный файл и выберите его в списке:

8) Скомпилируйте отчет

9) Запустите процесс вычисления

10) Выберите конфигурацию и скомпилированный файл:

11) Результирующий файл .xml можно посмотреть с помощью xsl-трансляции в виде .html или с помощью программы в формате Excel.
Технические данные
Работа RepGen схематически выглядит следующим образом:

Утилита RepGen состоит из двух модулей
1) Редактор условий и компилятор (rg.exe и repgencl.exe)
2) Вычислительное ядро (Java-приложение)
Требования к редактору условий и компилятору:
a) Windows NT4.0, 2000, XP
b) Microsoft XML Parser 4
Требования к вычислительному ядру:
a) Sun Java 1.4
b) JDBC-драйверы к вашей базе данных
Статьи раздела:
Генератор статистических отчетов RepGen
|
|
|