Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Задачки для любознательных :  ИРБИС Irbis
 
Вывести количество терминов в словаре сортировки.
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 08, January, 2014 18:32

Необходимо сделать некую выходную форму.
Одним из столбиков формы - это количество терминов в словаре сортировки. Формат выбора ключа сортировки формирует файл sotlst1.txt в папке workdir. Содержимое в файле - это по сути распечатанный словарь. Если присмотреться, то одинаковые термины не "схлопываются". Применяется единственный ключ. Как подсчитать и вывести количество одинаковых терминов (одинаковые строки)? Сообщу сразу, что сам не знаю как это сделать eye rolling smiley



Редактировано 1 раз. Последний раз 08.01.2014 18:32 пользователем woodyfon.

Re: Вывести количество терминов в словаре сортировки.
Пользователь: Карауш (IP-адрес скрыт)
Дата: 09, January, 2014 04:34

Пример файла (набранный ручками), как он должен быть (выглядеть) - в студию!
Слабо понял, что должно быть и где. Если это вывод словаря (как в ИРБИСе) в текстовый файл в два столбца - то это одно. А если что-то другое, то непонятно что.

Re: Вывести количество терминов в словаре сортировки.
Пользователь: Gena (IP-адрес скрыт)
Дата: 09, January, 2014 05:35

Тут эта "проблема" засветилась уже в нескольких темах. И все время не объясняется "зачем". Возможно изначальную задачу было бы проще решить с другой стороны, если бы она была известна окружающим...

Re: Вывести количество терминов в словаре сортировки.
Пользователь: ochagova (IP-адрес скрыт)
Дата: 09, January, 2014 14:05

Мое предложение такое, если я правильно поняла задачу. См. Doc1. Пример - таблица, сделанная для словаря прификса A=, но взята ОДНА строка из ibis.fst.

Вложения: Doc1.doc (195.5KB)   Test-dic-link.tbg (1.2KB)   Test-dic-link.tbu (115 bytes)  
Re: Вывести количество терминов в словаре сортировки.
Пользователь: ochagova (IP-адрес скрыт)
Дата: 09, January, 2014 14:05

К таблице

Вложения: Test-dic-link.srw (550 bytes)  
Re: Вывести количество терминов в словаре сортировки.
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 09, January, 2014 21:02

Цитата:
Пример файла (набранный ручками), как он должен быть (выглядеть) - в студию!
Файлик example.doc
Цитата:
Слабо понял, что должно быть и где. Если это вывод словаря (как в ИРБИСе) в текстовый файл в два столбца - то это одно. А если что-то другое, то непонятно что.
Желательно выходная форма в виде таблицы.
Цитата:
Gena
Тут эта "проблема" засветилась уже в нескольких темах. И все время не объясняется "зачем". Возможно изначальную задачу было бы проще решить с другой стороны, если бы она была известна окружающим...
Уточню условия задачи и попытаюсь объяснить, что необходимо сделать подробно.
Имеется 2 БД:
1) БД № 1 библиографическая, каждая запись имеет индекс ББК, записи в процессе работы не меняются, применяется для получения выходных форм.
2) БД № 2 авторитетная, упрощенный рубрикатор ББК
в файле ТВП нет своего словаря. Поэтому применение функции определения ссылок для термина не применимо.
Требуется получить выходную форму в виде таблички. Формат выбора ключа работает таким образом, что сверяет нужное повторение поля ББК из БД № 1 с полем индекса в БД № 2 по N-му количеству знаков.
Пример кода:
MHL, &uf('+7'), (if p(v686) then if &uf('KSer3.mnu!'v686^a.1)<>'' then &uf('+7U100#'v686^a) fi fi/), &uf('+7W200#'&uf('Ag100#1')), if &uf('DRUBRI,!IND1='g200.17"!,v10")<>'' then '^A'g200.17 else if &uf('DRUBRI,!IND1='g200.16"!,v10")<>'' then '^A'g200.16 else if &uf('DRUBRI,!IND1='g200.15"!,v10")<>'' then '^A'g200.15 else if &uf('DRUBRI,!IND1='g200.14"!,v10")<>'' then '^A'g200.14 else if &uf('DRUBRI,!IND1='g200.13"!,v10")<>'' then '^A'g200.13 else if &uf('DRUBRI,!IND1='g200.12"!,v10")<>'' then '^A'g200.12 else if &uf('DRUBRI,!IND1='g200.11"!,v10")<>'' then '^A'g200.11 else if &uf('DRUBRI,!IND1='g200.10"!,v10")<>'' then '^A'g200.10 else if &uf('DRUBRI,!IND1='g200.9"!,v10")<>'' then '^A'g200.9 else if &uf('DRUBRI,!IND1='g200.8"!,v10")<>'' then '^A'g200.8 else if &uf('DRUBRI,!IND1='g200.7"!,v10")<>'' then '^A'g200.7 else if &uf('DRUBRI,!IND1='g200.6"!,v10")<>'' then '^A'g200.6 else if &uf('DRUBRI,!IND1='g200.5"!,v10")<>'' then '^A'g200.5 else if &uf('DRUBRI,!IND1='g200.4"!,v10")<>'' then '^A'g200.4 else if &uf('DRUBRI,!IND1='g200.3"!,v10")<>'' then '^A'g200.3 else if &uf('DRUBRI,!IND1='g200.2"!,v10")<>'' then '^A'g200.2 else if &uf('DRUBRI,!IND1='g200.1"!,v10")<>'' then '^A'g200.1 fi fi fi fi fi fi fi fi fi fi fi fi fi fi fi fi fi
Предварительно сформирован словарь IND1= в БД RUBRI. Идея заключается в том, чтобы определить количество документов в некоем списке по рубрике. Условие введения этой рубрики в список определется условием в записи рубрикатора.
Задачу можно решить следующим образом:
1. Определить новый словарь для индекса. Формат fst идентичный формату выбора ключа сортировки.
2. Сделать выходную форму. Количество документов в БД № 1 определить через функцию J, используя существующий ключ словаря.
Для получения актуальных данных в выходной форме необходимо проинвертировать БД. Это требует использование сервисных функций системы. Звено "Администратор" необходимо исключить.
Итак, повторюсь, условия задачи:
1. Ключ словаря в БД № 1, по которому можно было бы получить количество документов, отсутствует физически.
2. Применяется БД-рубрикатор
3. Выводить необходимо в сортированном виде.
Не исключено, что условия задачи можно изменить.
Цитата:
Пример - таблица, сделанная для словаря прификса A=, но взята ОДНА строка из ibis.fst.
Предложенный Вами вариант разбирал. Требует сущсвования словаря A= для поля 700.
не могу понять почему в конструкции используется три запятых.

Вложения: example.doc (27KB)  
Re: Вывести количество терминов в словаре сортировки.
Пользователь: ochagova (IP-адрес скрыт)
Дата: 10, January, 2014 07:10

Непонятно - почему так строго "нет словаря"? Это такая малость - добавить новый словарь. Запятые - для лучшей смотрибельности формата. Ставьте сколько угодно.

Re: Вывести количество терминов в словаре сортировки.
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 12, January, 2014 13:25

В принципе, словарь может быть. Но поскольку записи не изменяются, то словарь не актуализируется. Следовательно при получении выходной формы данные будут не актуальны.
В этом случае, чтобы получить выходную форму, необходимо, сперва актуализировать словарь. Через АРМ-Каталогизатор это сделать невозможно. Придется прибегнуть к АРМ-Администратору.

Re: Вывести количество терминов в словаре сортировки.
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 10, April, 2014 18:05

Возвращаюсь к данной проблеме.
Необходимо получить выходную форму, где
1-ый столбик - номере по порядку
2 - количество документов
3 - название журнала.
Предварительно отбираются записи по принадлежности документа к какому-нибудь разделу знаний. Например, по первой букве индекса ББК (Р - Медицина. Медицинские науки).

Re: Вывести количество терминов в словаре сортировки.
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 11, April, 2014 07:11

Покажите пример связанных записей из обеих БД и соответствующую им строку таблицы

Re: Вывести количество терминов в словаре сортировки.
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 12, April, 2014 21:13

Все данные находятся в пределах одной БД. Необходимо вывести количество терминов, которые были получены в результате сортировки.



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