Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Опыт и разработки пользователей ИРБИС :  ИРБИС Irbis
 
Статическая форма - Распределение числа читателей по возрасту, образованию, и группам за период!
Пользователь: mzv100 (IP-адрес скрыт)
Дата: 14, October, 2014 10:39

Задавал этот вопрос в разделе АРМ "Книговыдача", но там не слишком охотно отвечают, возможно слишком сложно, возможно просто не общительные граждане. Поэтому решил написать в этом разделе, надеюсь на помощь и отзывчивость.

Проблема в том, что АРМ "Книговыдача" не умеет создавать сложных статистически форм, и это очень странно. Ведь статистика на выдаче очень важна, а в наборе стандартных статистик идет вариация из 15 форм, по факту выводящих одно и тоже значение (глупо).

В свою очередь нам необходима форма в которой для каждого отдела библиотеки просчитывается:


1. Возраста читателя, который делится по градациям - до 14, 14-21, 22-24 и т.д.
2. В этой же форме подсчитывается образование - Высшее, среднее и т.д.
3. И в завершении группа читателя.
4. Да, и естественно общее число читателей за период.

Если есть такая форма в готовом виде, буде очень признателен. Если нет, то подскажите формат - при котором высчитывается возраст читателя (на основании года рождения), и соответственно проставляется по нужным ячейкам. Почему я написал сюда так как предполагаю, что это можно реализовать по средствам генератора табличных форм. Только это достаточно сложно, и для этого мне нужна помощь по форматам, ключам сортировки и т.д. Спасибо!

Форму которую хочется получить прикрепляю ниже.
Табличная форма



Редактировано 1 раз. Последний раз 14.10.2014 14:16 пользователем mzv100.

Re: Статическая форма - Распределение числа читателей по возрасту, образованию, и группам за период!
Пользователь: mzv100 (IP-адрес скрыт)
Дата: 14, October, 2014 14:41

Странно, неужели никто не сталкивался с такими формами? Это стандартная форма отчетности, которая используется повсеместно, и никто не знает как ее лучше реализовать?!

Re: Статическая форма - Распределение числа читателей по возрасту, образованию, и группам за период!
Пользователь: Gena (IP-адрес скрыт)
Дата: 06, November, 2014 11:53

Это все же стат. форма, а не табличная, но очень муторная. Суть в том, что каждый читатель у вас должен порождать одновременно несколько ключей по каждому абонементу, на котором он прошел перерегистрацию. Теперь по пунктам.

Как узнать возраст:

f(val(&uf('30'))-val(v21.4),0,0)


выдаст число в текстовом формате, если хотите в виде числа для сравнения, то лучше так

rsum(&uf('30')';-'v21.4)>10


оптимально сделать справочник, соответствующий горизонтали вашей стат. форме, а потом в формате порождать эти термины, то есть:
==================справочник====================

-14

15-21

22-24

+25

в

с

с/с

н/с

н/в

1

2

3

4

5

6

7

8

9

===========================================

а далее для каждого перерегистрированного абонементам прогоняем проверку по каждому из трех разделов. Где-то так:

для горизонтали

(if p(v52)

   if val(v52.8)>=val(&uf('av991^A#1')) and val(v52.8)<=val(&uf('av991^B#1')) then 
      
   /*Вывод возраста 
   if &uf('av21#1')<>'' then 
      if rsum(&uf('30')';-'v21.4)<15 then 
         '-14'/ 
      else   
         if rsum(&uf('30')';-'v21.4)>14 and rsum(&uf('30')';-'v21.4)<22 then     
            '15-22'/
         else 
            if rsum(&uf('30')';-'v21.4)>21 and rsum(&uf('30')';-'v21.4)<25 then 
            '22-24'/
            else
            '+25'/
            fi
         fi 
      fi 
   fi  
   
   /*Вывод образования
   &uf('av20#1')/
   
   /*вывод группы читателей
   &uf('av999#1')/

fi /)



Для вертикали

(if p(v52)

   if val(v52.8)>=val(&uf('av991^A#1')) and val(v52.8)<=val(&uf('av991^B#1')) then 
      
      /*Вывод возраста  
      if &uf('av21#1')<>'' then if v52^C<>'' then v52^C else '*' fi/ fi  
      
      /*Вывод образования
      if &uf('av20#1')<>'' then if v52^C<>'' then v52^C else '*' fi/ fi 
      
      /*вывод группы читателей
      if &uf('av999#1')<>'' then if v52^C<>'' then v52^C else '*' fi / fi 

   fi 

/)




Что такое группа читателей я не знаю, потом предположил, что это некий код в поле 999, это нужно заменить на правильное значение. Это не готовая стат. форма, а сама идея реализации. Код не проверялся на выполнение, могут быть опечатки. Пробуйте



Редактировано 1 раз. Последний раз 06.11.2014 11:56 пользователем Gena.

Re: Статическая форма - Распределение числа читателей по возрасту, образованию, и группам за период!
Пользователь: Grievous (IP-адрес скрыт)
Дата: 02, December, 2014 10:36

Еще бы кто готовое решение выложил eye rolling smiley
Для меня тут темный лес пока.



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.