Статистические формы


НАЧАЛО >> Табличные и статистические формы >> Статистические формы📄 Скачать в DOCX


Статистическая форма строит двумерную таблицу распределения записей базы данных по двум признакам: строкам и столбцам. Признаки вычисляются форматами ИРБИС, а набор допустимых значений берётся из справочников MNU.

В текущей веб-реализации результат формируется действием TabForms/BuildSTF как HTML-файл StatFormResult.html. Старый механизм Excel-шаблонов из классических .STF-описаний в этом действии не используется.

После завершения построения пользователь получает ссылку на временный файл результата. Скачивание и автоматическое закрытие окна выполнения операции описаны в разделе Получение файла результата.

1. Когда использовать

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

Форма может строиться:

2. Доступность в интерфейсе

Кнопка Статистические формы добавляется в панель списка записей компонентом WIrbis.RecListPanel128. Для АРМ «Каталогизатор» доступность связана с правом ALLOWSTATFORMS и параметром показа статистических форм в профиле.

По умолчанию список форм берётся из справочника stf.mnu. В компоненте списка имя справочника может быть переопределено параметром stfMnu.

3. Файлы формы

Описание формы находится в файле <имя>.stf в каталоге соответствующей базы данных. Имя формы должно присутствовать в справочнике stf.mnu или другом справочнике, который передан в интерфейс как список статистических форм.

Связанные файлы также должны быть доступны в каталоге базы данных:

4. Формат .STF

Текущий загрузчик TabForms/LoadSTF читает файл построчно. Нумерация ниже дана как в текстовом файле.

Строка Назначение Использование в текущем TabForms
1 Имя Excel-шаблона без расширения Сохраняется для совместимости старых описаний, в HTML-генерации не используется
2 Формат для вычисления ключа строки Используется как StrFormat
3 Справочник строк MNU Используется как StrMnu
4 Формат для вычисления ключа столбца Используется как StbFormat
5 Справочник столбцов MNU Используется как StbMnu
6 Координаты верхней левой ячейки переменной части Excel-шаблона В HTML-генерации не используется
7 Имя WSS и метка модельного поля через запятую Используется для формы ввода ограничений и передачи параметров в форматы
8 Формат переменного заголовка Используется как заголовок HTML-результата
9 Координаты ячейки переменного заголовка В HTML-генерации не используется
10 Формат заголовка группы строк Используется как заголовок первого измерения, если задан
11 Формат заголовка группы столбцов Используется как заголовок второго измерения, если задан

Строки 10 и 11 являются расширением текущей веб-реализации. В старых инструкциях они могут отсутствовать; тогда заголовки измерений не формируются.

5. Справочники строк и столбцов

Справочники задают допустимые ключи строк и столбцов. Результат форматирования приводится к нижнему регистру и сопоставляется с ключами справочника.

Если формат вернул значение, которого нет в справочнике, код подставляет ключ *. Поэтому для формы с группой «Прочие» добавляйте в справочник строку *. Если ключа * нет, такие значения не попадут в итоговую матрицу.

Количество строк и столбцов результата определяется справочниками, а не Excel-шаблоном.

6. Модельное поле и ограничения

Если в строке 7 указан WSS, интерфейс показывает пользователю форму ввода параметров. Введённые значения передаются в модельное поле с указанной меткой.

Например, строка:

999.wss,1000

означает, что параметры вводятся по рабочему листу 999.wss, а в форматах формы доступны как поле 1000.

7. Пример фрагмента .STF

Form3
if (&uf('AV907^A#1')>=v1000^A) and (&uf('AV907^A#1')<=v1000^B) then (v900^B/) fi
vdu_SF.mnu
if (&uf('AV907^A#1')>=v1000^A) and (&uf('AV907^A#1')<=v1000^B) then (v60/) fi
rzn3_SF.mnu
4,7
999.wss,1000
'Виды документов по разделам знаний, введенные за период с ',v1000^A*6.2".",v1000^A*4.2".",v1000^A.4,' по ',v1000^B*6.2".",v1000^B*4.2".",v1000^B.4
1,1

В этом примере форма распределяет записи по виду документа из v900^B и разделу знаний из v60, но учитывает только записи, дата ввода которых попадает в период из модельного поля 1000.

8. Как строится результат

Для каждой записи действие TabForms/BuildSTF:

  1. Заполняет модельное поле введёнными пользователем параметрами.
  2. Выполняет формат строки и формат столбца.
  3. Разбивает многострочные результаты форматирования на отдельные значения.
  4. Сопоставляет значения со справочниками строк и столбцов.
  5. Увеличивает счётчик в ячейке матрицы.
  6. Добавляет итоговые суммы по строкам, столбцам и всей таблице.

Если один формат возвращает одно значение, а другой несколько значений, одиночное значение применяется ко всем значениям второго измерения.

9. Не путать со StatForms

Модуль StatForms хранит PHP-описания *.stt128 для другого механизма статистических таблиц. Файлы .STF, описанные на этой странице, обрабатываются модулем TabForms.