ИНФОРМАЦИОННО-АНАЛИТИЧЕСКАЯ СИСТЕМА ПРОГНОЗИРОВАНИЯ ДОХОДНОСТИ АВИАПЕРЕВОЗОК

Полезная модель относится к вычислительной технике, в частности, к информационно-аналитической системе прогнозирования доходности авиаперевозок.
Основой любого автоматизированного управления, прежде всего, являются управленческий учет и контроль. Управленческий учет фиксирует результаты пассажирских авиаперевозок, а контроль отслеживает фактические результаты деятельности в сравнении с планом.
Действительно, департамент управления сетью маршрутов совместно с департаментами маркетинга, экономики и финансового планирования, управления доходами и информационно-аналитическим центром коммерческого блока авиакомпании разрабатывают план реализации пассажирских авиаперевозок, а информационно-аналитический центр коммерческого блока фиксирует данные фактического выполнения плана (фиг.8).
Департамент экономики и финансового планирования должен иметь возможность фиксировать вектор рассогласования плана и факта (вектор ошибки управления) и осуществлять управление процессом повышения эффективности (рентабельности) рейсов путем прогнозирования последствий принятия возможных вариантов решения.
Для оперативного анализа и принятия решений по пассажирским перевозкам, выполняемым за какой-либо заданный период, как правило, используется следующий состав показателей: номер рейса, наименование маршрута, количество выполненных рейсов каждого номера за заданный период, доход, приходящийся на каждый рейс, доход на пассажирокилометр, средняя доходная ставка по рейсу, по каждому классу бронирования, полный доход рейса за заданный период, процент занятости кресел на рейсе, количество перевезенных пассажиров, млн. пассажирокилометров, млн. креслокилометров и т.п.
Сопоставление динамики изменения этих показателей в их взаимосвязи позволяет с достаточной степенью вероятности судить о потенциале эксплуатируемого рынка, о структуре пассажиропотока (по доходной ставке), об эффективности расписания (правильности расстановки ВС), о правильности применения тарифов и т.п.
В связи с этим, представляется целесообразным создание такой информационно - аналитической системы, которая бы обеспечила достижение наивысшей эффективности (рентабельности) рейсов.
Известны системы, которые могли бы быть использованы для решения поставленной задачи (1, 2).
Первая из известных систем содержит модули приема и хранения данных, соединенные с модулями управления и обработки данных, модули поиска и селекции, подключенные к модулям хранения данных
и отображения, синхронизирующие входы которых соединены с выходами модуля управления (1).
Существенный недостаток данной системы состоит в невозможности решения задачи обновления данных, хранимых в памяти в виде соответствующих документов одновременно с решением задачи выдачи содержания этих документов пользователям в реальном масштабе времени.
Известна и другая система, содержащая центральный процессорный модуль, входы которого соединены с модулями памяти и с модулями подготовки и ввода данных, а выходы подключены к соответствующим модулям памяти, модуль обработки данных, информационные входы которого соединены с выходами соответствующих модулей памяти, синхронизирующие входы подключены к управляющим выходам центрального процессорного модуля, а выход модуля является информационным выходом системы (2).
Последнее из перечисленных выше технических решений наиболее близко к описываемому.
Его недостаток заключается в невысоком быстродействии системы, обусловленном тем, что выполнение процедур аналитической обработки данных реализуется через поиск данных по всей базе данных, что при больших объемах базы данных неизбежно приводит к неоправданно большим затратам времени на получение аналитических оценок.
Цель изобретения - повышение быстродействия системы путем исключения поиска данных для принятия решений по всей базе данных сервера и локализации поиска только по временным и
отличительным признакам идентификаторов экономических показателей.
Поставленная цель достигается тем, что в известную систему, содержащую модуль памяти, информационные выходы группы которого соединены с соответствующими информационными входами модулей выявления тенденции и предсказания, выходы которых являются информационными выходами группы информационных выходов системы, первый регистр, информационный и синхронизирующие входы которого являются первыми информационным и синхронизирующим входами системы, второй регистр, установочный вход которого подключен к установочному выходу блока памяти, третий регистр, информационный и синхронизирующие входы которого являются вторыми информационным и синхронизирующим входами системы, а выход третьего регистра является информационным выходом системы, первый счетчик, информационный вход которого является третьим информационным входом системы, а синхронизирующий вход подключен к первому синхронизирующему входу системы, формирователь сигналов считывания базы данных, информационный выход которого является адресным выходом системы, а синхронизирующий выход является синхронизирующим выходом системы, введены модуль идентификации базового адреса считывания, информационный вход которого соединен с выходом первого счетчика, первый синхронизирующий вход модуля идентификации базового адреса считывания подключен к первому синхронизирующему входу системы, один информационный выход модуля идентификации базового адреса считывания подключен к информационному входу формирователя сигналов считывания базы
данных, другой информационный выход модуля идентификации базового адреса считывания соединен с информационным входом второго регистра, а синхронизирующий выход модуля идентификации базового адреса считывания соединен с синхронизирующими входами второго регистра и формирователя сигналов считывания базы данных соответственно, модуль селекции признаков, первый информационный вход которого подключен к одному выходу первого регистра, второй информационный вход модуля селекции признаков соединен с выходом третьего регистра, а синхронизирующий вход модуля селекции признаков подключен ко второму синхронизирующему входу системы, первый модуль сравнения, один информационный вход которого соединен с другим выходом первого регистра, другой информационный вход первого модуля сравнения подключен к информационному выходу модуля селекции признаков, а синхронизирующий вход первого модуля сравнения соединен с синхронизирующим выходом блока селекции признаков, второй счетчик, счетный вход которого соединен с одним выходом первого модуля сравнения, а выход второго счетчика подключен к информационному входу блока памяти, третий счетчик, счетный вход которого соединен с другим выходом первого модуля сравнения, второй модуль сравнения, один информационный вход которого подключен к выходу второго регистра, другой информационный вход соединен с выходом третьего счетчика, а синхронизирующий вход второго модуля сравнения подключен к другому выходу первого модуля сравнения, при этом первый выход второго модуля сравнения соединен со счетным входом формирователя сигналов считывания базы данных, а второй выход подключен к управляющему входу модуля памяти, и третий модуль сравнения, один информационный вход
которого соединен с информационным выходом блока памяти, другой информационный вход третьего модуля сравнения является четвертым информационным входом системы, а синхронизирующий вход подключен к установочному выходу модуля памяти, при этом один выход третьего модуля сравнения соединен со счетным входом первого счетчика и со вторым синхронизирующим входом модуля идентификации базового адреса считывания, а другой выход подключен к синхронизирующим входам модулей выявления тенденции и предсказания, и к установочным входам модуля памяти, первого, второго и третьего счетчиков.
Сущность изобретения поясняется чертежами, где на фиг.1 представлена структурная схема системы, на фиг.2 - приведен пример конкретной конструктивной реализации модуля идентификации базового адреса считывания, на фиг.3 - приведен пример конкретной конструктивной реализации модуля селекции признаков, на фиг.4 - приведен пример конкретной конструктивной реализации модуля памяти, на фиг.5 - приведен пример конкретной конструктивной реализации формирователя сигналов считывания базы данных, на фиг.6 - приведен пример конкретной конструктивной реализации первого модуля сравнения, на фиг.7 - пример конкретной конструктивной реализации модуля блока сравнения.
Система (фиг.1) содержит первый 1, второй 2 и третий 3 регистры, первый 4, второй 5 и третий 6 счетчики, модуль 7 идентификации базового адреса считывания, модуль 8 селекции признаков, модуль 9 памяти, формирователь 10 сигналов считывания базы данных, первый модуль 11 сравнения, второй модуль 12 сравнения, третий 13 модуль сравнения, выполненный в виде
компаратора, модуль 14 выявления тенденции и модуль 15 предсказания.
На фиг.1 показаны первый 21, второй 22, третий 23 и четвертый 24 информационные входы системы, первый 25 и второй 26 синхронизирующие входы системы, а также первый 27 и второй 28 информационные выходы системы, группа 29-30 информационных выходов системы, и синхронизирующий выход 31 системы.
Модуль 7 идентификации базового адреса считывания (фиг.2) содержит модуль памяти 41, выполненный в виде постоянного запоминающего устройства, дешифратор 42, элементы 43-45 И, элемент 47 ИЛИ, элементы 48-49 задержки. На чертеже также показаны входы 50-52 и выходы 54-56.
Модуль 8 селекции признаков (фиг.3) содержит дешифратор 61, группы элементов 62-64 И, группу элементов 65 ИЛИ, элемент 66 задержки. На чертеже также показаны входы 71-73 и выходы 74,75.
Модуль 9 памяти (фиг.4) содержит элементы регистры 81-83, счетчик 84, дешифратор 85, элементы 86-88 И, элементы 89, 90 задержки. На чертеже также показаны входы 95-97 и выходы 100-104.
Формирователь 10 сигналов считывания базы данных (фиг.5) содержит счетчик 111, элементы 112 ИЛИ и элемент 113 задержки. На чертеже также показаны информационный 114, синхронизирующий 115 и счетный 116 входы, информационный 117 и синхронизирующий 118 выходы.
Первый модуль 11 сравнения (фиг.6) содержит компаратор 121, элемент 122 ИЛИ и элемент 123 задержки. На чертеже также показаны информационные 125 и 126, и синхронизирующий 127 входы, первый 128 и второй 129 выходы.
Второй модуль 12 сравнения (фиг.7) содержит компаратор 131 и элемент задержки 132. На чертеже также показаны информационные 133, 134 и синхронизирующий 135 входы, и первый 136 и второй 137 выходы.
Третий модуль 13 сравнения выполнен в виде стандартного компаратора.
Модуль 14 выявления тенденции реализует функцию выявления тенденции с помощью стандартной программы из библиотеки программных средств Excel 2000 [3].
Модуль 15 предсказания реализует функцию предсказания с помощью стандартной программы из библиотеки программных средств Excel 2000 [3].
Все узлы и элементы системы выполнены на стандартных потенциально-импульсных элементах.
Система работает следующим образом.
В базе данных системы экономические показатели по каждому из выполненных рейсов пассажирских авиаперевозок хранятся в виде записей, имеющих следующую структуру:
КОД
КОД
ИДЕНТИФИКАТОР РЕЙСА
АТРИБУТЫ РЕЙСА
В качестве атрибутов рейсов могут быть выступать следующие экономические показатели:
№№
АТРИБУТЫ РЕЙСА
1
Наименование маршрута
2.
Количество выполненных рейсов данного маршрута за заданный период
3.
Доход, приходящийся на рейс данного маршрута
4.
Доход на пассажирокилометр
5.
Средняя доходная ставка по рейсу
6.
Средняя доходная ставка по каждому классу бронирования
7.
Полный доход рейса за заданный период
8.
Процент занятости кресел на рейсе
9.
Количество перевезенных пассажиров
10.
Млн. пассажирокилометров
11.
Млн. креслокилометров
Для решения задач по прогнозирования доходности авиаперевозок на рабочих местах пользователей системы формируются запросы, в которых указывается тип выбираемого атрибута рейса (признака данных) в качестве переменной вектора рассогласования, год начала временного интервала, начиная с которого будет осуществляться анализ данных, необходимых для принятия решения, и количество периодов (лет) во временном интервале, которые будут использованы для анализа экономических показателей.
Для иллюстрации работы системы в качестве переменной вектора рассогласования выберем среднюю величину дохода, приходящуюся на каждый рейс.
Таким образом, формируемая кодограмма запроса пользователя будет иметь следующую структуру:
ТИП
ГОД
КОЛИЧЕСТВО
признака данных переменной вектора рассогласования
начала временного интервала, начиная с которого будет осуществляться анализ данных
периодов (лет) во временном интервале
Численное значение показателя (средней величины дохода)
Вводится код выбранного признака
Вводится цифровое значение года
Вводится цифровое значение интервала
Вводится численное значение показателя
При этом код выбранного признака и его числового значения с информационного входа 21 системы поступает на информационный вход регистра 1, цифровое значение года с информационного входа 23 системы поступает на информационный вход счетчика 4, а цифровое значение интервала с информационного входа 24 системы поступает на информационный вход 139 компаратора 13.
Поступление кодограммы запроса сопровождается синхронизирующим импульсом, поступающим на вход 25 системы, откуда он подается на синхронизирующий вход регистра 1, занося входной код в регистр 1, и на синхронизирующий вход счетчика 4, занося в него цифровое значение года.
Кроме того, этот же синхронизирующий импульс через вход 51 модуля 7 проходит через элемент 47 ИЛИ, задерживается элементом 48 на время занесения кода в счетчик 7 и срабатывания дешифратора 42, и поступает на опрос состояния элементов 43-45 ИЛИ.
Дешифратор 42 расшифровывает цифровое значение года, выдавая на один их своих выходов высокий потенциал и открывая тем самым один из элементов 43-45 И.
Учитывая то обстоятельство, что открытым по одному входу будет только один из элементов 43-45 И, то, пройдя соответствующий элемент И, синхроимпульс поступает на вход считывания фиксированной ячейки памяти постоянного запоминающего устройства 41, где хранится базовый адрес раздела памяти сервера (на чертеже не показан), начиная с которого в данном разделе памяти хранятся все записи рейсов, и код общего числа записей рейсов, выполненных в данном году.
Структура считываемого кода из фиксированной ячейки памяти ПЗУ 41 имеет следующий вид:
Код базового адреса раздела памяти сервера базы данных
Код общего числа записей рейсов, выполненных в данном году
Код базового адреса раздела памяти сервера базы данных с выхода 54 модуля 7 выдается на вход 114 формирователя 10 сигналов считывания базы данных, а код общего числа записей рейсов с выхода 55 выдается на информационный вход регистра 2.
Параллельно с этим, синхроимпульс с выхода элемента 48 задерживается элементом 49 на время считывания данных из ПЗУ 41 и поступает как на синхронизирующий вход 115 формирователя 10, обеспечивая занесение кода базового адреса в счетчик 111, так и на синхронизирующий вход регистра 2, обеспечивая занесение в него кода общего числа записей рейсов.
На выходе 117 формирователя 10 и соответственно на выходе 27 системы будет сформирован базовый адрес года считывания данных.
Кроме того, тот же синхронизирующий импульс с входа элемента 115 формирователя 10 проходит через элемент 112 ИЛИ, задерживается элементом 113 на время срабатывания счетчика 111, и через выход 118 формирователя 10 выдается на выход 31 системы, откуда он поступает на вход прерывания сервера базы данных.
С приходом этого импульса сервер базы данных переходит к подпрограмме опроса содержимого базового адреса текущего года и считывает содержимое первой ячейки памяти на информационный вход 22 регистра 3, куда считанная запись данных заносится синхронизирующим импульсом сервера, поступающим на вход 26 системы.
Одновременно с этим, синхронизирующий импульс с входа 26 поступает на синхронизирующий вход 73 блока 8, где задерживается элементом 66 на время занесения кода записи в регистр 3, и далее с выхода 75 модуля 8 поступает на синхронизирующий вход 127 компаратора 121 модуля 11, на вход 125 которого подан код признака, например, дохода, приходящегося на каждый рейс.
Дешифратор 61 модуля 8 расшифровывает код признака и открывает одну из групп элементов 62-64 И, через которую соответствующие разряды кодов с выхода регистра 3, соответствующие атрибуту признака средней величины дохода, проходят через элементы 65 ИЛИ на выход 74 модуля 8 и далее поступают на другой 126 вход модуля 11.
Если полученное численное значение средней величины дохода на рейс больше или равно численному значению этого признака, установленного пользователем, то на выходе 128 компаратора 121 модуля 11 формируется импульс, поступающий как на счетный вход счетчика 5, подсчитывающего количество признаков с подобным численным значением, так и через элемент 122 ИЛИ и выход 129 модуля 11 на счетный вход счетчика 6, подсчитывающего нарастающим итогом общее число считанных записей.
Кроме того, этот же синхронизирующий импульс с выхода 129 модуля 11 поступает на вход 135 блока 12, где задерживается элементом 132 на время срабатывания счетчика 6, и затем поступает на синхронизирующий вход 135 компаратора 131 блока 12. Компаратор 131 по этому сигналу сравнивает общее количество записей, имеющихся в базе данных текущего года, поступающих на вход 133, с числом считанных записей, поступающим на вход 134.
Если число считанных и просмотренных записей текущего года в счетчике 6 меньше заданного количества, то компаратор 131 формирует сигнал на выходе 136 блока 12, который через вход 116 формирователя 10 поступает на счетный вход счетчика 111, формируя очередной адрес считывания на выходе 27 системы.
Кроме того, этот же синхронизирующий импульс с входа 116 проходит элемент 112 ИЛИ, задерживается элементом 113 на время срабатывания счетчика 111, и через выход 118 формирователя 10 выдается на выход 31 системы, откуда он вновь поступает на вход прерывания сервера базы данных.
С приходом этого импульса сервер базы данных вновь переходит к подпрограмме опроса содержимого очередного адреса текущего года и считывает содержимое очередной ячейки памяти на информационный вход 22 регистра 3, куда считанная запись данных заносится синхронизирующим импульсом сервера, поступающим на вход 26 системы.
Процесс считывания записей базы данных и подсчета числа записей с выбранными признаками продолжается до тех пор, пока компаратор 131 модуля 12 не зафиксирует равенство входных кодов выработкой сигнала на выходе 137 модуля 12, что будет свидетельствовать о том, что все записи данных текущего года просмотрены, и число рейсов с заданным признаком подсчитано в счетчике 5.
Сигнал с выхода 137 модуля 12, во-первых, через вход 96 модуля 9 проходит через элемент 86 И, открытый по другому входу высоким потенциалом с выхода дешифратора 85, на синхронизирующий вход регистра 81, занося в него количество показателей доходов текущего года считывания, зафиксированное счетчиком 5.
Элемент 86 И будет находиться в открытом состоянии потому, что счетчик 84 модуля 9 до этого момента времени находился в исходном состоянии, при котором дешифратор 85 вырабатывал высокий потенциал, поступающий на один вход элемента 86 И.
Кроме того, этот же синхронизирующий импульс с входа 96 задерживается элементом 89 на время занесения кода в регистр 81, и, во-первых, поступает на счетный вход счетчика 84, изменяя его показания на единицу. В результате чего дешифратор 85 снимет высокий потенциал с входа элемента 86 И, и выдаст его на вход следующего элемента 87 И, открывая его и подготавливая цепь прохождения синхронизирующего импульса в следующем цикле считывания.
Тот же синхронизирующий импульс с выхода элемента 89 задерживается элементом 90 на время срабатывания счетчика 84 и с выхода 104 модуля 9, во-первых, поступает на установочный вход регистра 2, устанавливая его в исходное состояние. Во-вторых, этот же сигнал поступает на синхронизирующий вход 140 компаратора 13, сравнивающего показания счетчика 84, поступающие на информационный вход 138, с заданным значением интервала просмотра, поступающим на информационный вход 139.
Если показания счетчика 84 модуля 9 меньше значения временного периода, выбранного для анализа данных, то на выходе 142 компаратора 13 формируется импульс, который с выхода 142 поступает как на счетный вход счетчика 4, увеличивая его показания на единицу, так и через вход 52 модуля 7 поступает на вход элемента 47 ИЛИ.
Пройдя элемент 47 ИЛИ, синхронизирующий импульс задерживается элементом 48 на время срабатывания счетчика 4 и дешифратора 42 модуля 7 и процедура считывания атрибутов рейсов очередного периода и подсчета числовых значений величины дохода за каждый рейс, равных или превышающих значение, установленное пользователем, в счетчике 5 с последующим занесением в соответствующие регистры 81-83 будет продолжена описанным выше образом.
Описанный процесс выборки данных из базы данных и их анализа будет продолжаться до тех пор, пока компаратор 13 не зафиксирует равенство числа просмотренных периодов (годов), поступающих с выхода 103 модуля 9 на информационный вход 138, с заданным числом лет, поступающим на информационный вход 139 компаратора 13.
В этот момент времени по синхронизирующему сигналу с выхода 104 модуля 9, поступающему на вход 140 компаратора 13, последний формирует сигнал на выходе 141, который, во-первых, поступает на управляющие входы модуля 14 выявления тенденции и модуля 15 предсказания, на информационные входы которых с выходов 100-102 блока 9 постоянно поданы численные значения количества рейсов в каждом из просмотренных периодов, имеющих среднюю величину дохода за каждый рейс больше или равную величине, заданной пользователем.
Во-вторых, сигнал с выхода 141 компаратора 13 поступает как на установочный вход 97 модуля 9, а оттуда он подается на установочный вход счетчика 84, возвращая его в исходное состояние, так и на установочные входы счетчиков 4- 6, подготавливая их к очередному циклу работы.
Для реализации функций выявления тенденции и предсказания в модулях 14 и 15 используются программные средства из библиотеки программных средств Excel 2000 [3].
В частности, модуль 14 прогнозирует количество рейсов с заданной величиной среднего дохода на каждый рейс при помощи стандартной функции Excel 2000 - ТЕНДЕНЦИЯ.
Указанная функция позволяет проводить линейную экстраполяцию, или, другими словами, рассчитывать наиболее подходящую прямую линию, которая проходит через последовательность заданных точек. Фактически речь идет о задаче, в которой на график наносится набор точек, а затем подбирается прямая, задаваемая уравнением Y=ax+b, по которой можно проследить развитие функции с наименьшей ошибкой.
Функция ТЕНДЕНЦИЯ () возвращает (т.е. ее результатом является) массив чисел, который можно использовать для построения линии тренда (тенденции) - прямой линии, которая помогает понять поведение фактических данных.
Функция имеет четыре аргумента:
=ТЕНДЕНЦИЯ (известные_значения_у; известные_значения х; новые значения х; конст).
Первые два представляют собой известные значения зависимых и независимых переменных, соответственно.
Аргумент известные_значения_у является одним столбцом, одной строкой или прямоугольным диапазоном.
- Если аргумент известные_значения_у состоит из одной строки или одного столбца, то, соответственно, каждый столбец или строка в аргументе известные значения х рассматриваются как независимая переменная.
- Если аргумент известные значения у является прямоугольным диапазоном, то можно использовать только одну независимую переменную. В этом случае аргумент известные значения х должен быть прямоугольным диапазоном такого же размера и формы, как известные значения у. Третий и четвертый аргументы необязательные. Если включена константа b конст, значение этого аргумента должно быть ИСТИНА или ЛОЖЬ (1 или 0). Если этот аргумент опущен или равен 1, то константа b вычисляется обычным образом, в противном случае она полагается равной 0 и уравнение прямой имеет вид у=aх.
Рассмотрим пример, поясняющий анализ изменения показателя доходности рейсов, зафиксированных в базе данных системы за временной интервал, равный семи последовательны годам (табл.1).
Таблица 1
Порядковый номер года
Числовые значения показателя доходности рейсов
Тенденция
А
В
С
1
33650
1928
2
33650
60834
3
63860
119740
4
214170
178646
5
274340
237552
6
285410
296458
7
345440
355364
8
455283 - прогноз на 8 год.
В данном примере для вычисления линии тренда, которая аппроксимирует известные данные, в функции опущены третий и четвертый аргументы. Массив результатов в столбце С имеет такой же размер, как и диапазон известные значения х в столбце А.
Для нахождения значения каждой точки на линии регрессии, которая аппроксимирует данные столбца В, использована функция ТЕНДЕНЦИЯ ().
В данном примере аргументом у является диапазон В1:В7. Аргументом известные_ эначения_х является диапазон А1:А7.В нем хранятся номера годов, по которым прослеживается тенденция.
Для вычисления прогнозных значений уровней числовых показателей на один, два и более лет вперед следует ввести в число аргументов функции массив новые значения х.
Модуль 15 осуществляет прогнозирование числового значения показателя доходности рейсов с помощью статистической функции предсказания (ПРЕДСКАЗ), которая вычисляет будущее значение числовых показателей по существующим значениям. Предсказываемое значение - это у -значение, соответствующее заданному х - значению.
Известные значения - это х- и у- значения, а новое значение предсказывается с использованием линейной регрессии.
Функция ПРЕДСКАЗ имеет следующий синтаксис:
=ПРЕДСКАЗ (х; известные значения у; известные значения х).
Здесь х - это точка данных, для которой предсказывается значение.
Известные значения у - это зависимый  массив или интервал данных.
Известные значения х) - это независимый массив или интервал данных.
Для иллюстрации применения этой статистической функции используем те же данные таблицы 1.
Таблица 2
Порядковый номер года
Числовое значение показателя доходности рейсов
А
В
1
33650
2
33650
3
63860
4
214170
5
274340
6
285410
7
345440
8
414351 - прогноз
Таким образом, введение новых узлов и блоков и новых конструктивных связей позволило существенно повысить быстродействие системы путем исключения поиска данных, необходимых для принятия решений, по всей базе данных системы.
Источники информации, принятые во внимание при составлении описания заявки:
1. Патент США №0505651 М.кл. G 06 F 13/40, 13/38, 1992
2. Патент США №5129083 М.кл. G 06 F 12/00, 15/40, 1992 (прототип).
3. Марк Додж, Крейг Стинсон., Эффективная работа с Microsoft Excel 2000. Издательский дом «Питер», 2002 с.531-565