Автоматическое размещение полей в сводной таблице данных

Изобретение относится к способам формирования сводных таблиц в интерфейсе прикладных программ. Технический результат заключается в упрощении интерфейса при создании сводной таблицы. Графический интерфейс пользователя, предназначенный для формирования сводной таблицы данных, включает в себя область, включающую в себя множество полей, и сводную таблицу данных. После выбора поля для включения его в сводную таблицу данных интерфейс пользователя запрограммирован так, что он анализирует это поле и автоматически размещает это поле в сводной таблице данных. 3 н. и 11 з.п. ф-лы, 1 табл., 28 ил.

 

УРОВЕНЬ ТЕХНИКИ

Сводные таблицы данных можно использовать для анализа больших количеств данных. Один пример сводной таблицы данных представляет собой сводные таблицы PIVOTTABLE - динамические представления, которые можно генерировать с использованием программного обеспечения электронных таблиц EXCEL компании Microsoft Corporation. Сводная таблица данных представляет собой эффективный способ отображения и сведения данных, содержащихся в базе данных, или которые находятся в листинге данных электронной таблицы. Пользователь может выбрать поля данных для включения в пределах страницы, ряда, колонки или области данных в сводной таблице данных и может выбрать параметры, такие как сумма, степень изменения, величина подсчета и среднеквадратичное отклонение, для отображения в выбранных полях данных. Данные, находящиеся в базе данных, которые можно запрашивать из программы электронной таблицы, или данные в электронной таблице, включая списки, можно анализировать в сводной таблице данных.

Хотя сводная таблица данных разработана таким образом, что данные можно анализировать эффективно и интуитивно, создание самой сводной таблицы данных может представлять собой проблему для неопытных пользователей. Например, некоторые программы предоставляют вспомогательные функции автоматической подсказки, которые помогают пользователю при создании сводной таблицы данных. Хотя такие вспомогательные функции автоматической подсказки могут быть полезными при создании исходной сводной таблицы данных, такие вспомогательные функции автоматической подсказки трудно использовать для модификации отображения после ее формирования. Другие программы позволяют пользователям применять операцию "перетащить и оставить" для переноса требуемых полей несредственно в сводную таблицу данных. Хотя эти программы обеспечивают для пользователя большую гибкость, при создании отображения, они могут быть менее интуитивно понятными для новичка

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Данный раздел "Сущность изобретения" предназначен для представления в упрощенной форме выбранных концепций, которые дополнительно описаны ниже в разделе "Подробное описание изобретения". Данный раздел "Сущность изобретения" не предназначен для идентификации ключевых свойств или существенных свойств заявленного предмета изобретения, и в нем не приведено определение объема заявленного предмета изобретения.

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

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

В соответствии с другим аспектом, считываемый компьютером носитель содержит выполняемые компьютером инструкции, предназначенные для выполнения этапов, включающих в себя: обеспечивают возможность выбора поля из множества полей; анализируют выбранное поле с использованием семантики; выбирают область в сводной таблице данных для размещения поля; и добавляют поле к области сводной таблицы данных.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Ниже приведена ссылка на прилагаемые чертежи, которые не обязательно вычерчены в масштабе, и на которых:

на фиг.1 иллюстрируется примерная вычислительная система общего назначения;

на фиг.2 иллюстрируется примерный лист программы электронной таблицы;

на фиг.3 иллюстрируется примерная сводная таблица данных и область задач программы электронной таблицы;

на фиг.4 иллюстрируется пример области задач по фиг.3;

на фиг.5 иллюстрируется другой пример области задач;

на фиг.6 иллюстрируется пример меню, предназначенного для замены поля в области компоновки области задач;

на фиг.7 иллюстрируется пример способа размещения поля в области компоновки области задач по фиг.4;

на фиг.8 иллюстрируется пример сводной таблицы данных и область задач по фиг.3 с полем, добавленным к таблице;

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

на фиг.10 иллюстрируется пример сводной таблицы данных и область задач по фиг.9 с полем, компоновка которого была изменена в соответствии с таблицей;

на фиг.11 иллюстрируется другая примерная область задач;

на фиг.12 иллюстрируется пример меню для модификации компоновки области задач по фиг.11;

на фиг.13 иллюстрируется пример области задач по фиг.11 с другой компоновкой;

на фиг.14 иллюстрируется пример области задач по фиг.11 с другой компоновкой;

на фиг.15 иллюстрируется пример области задач по фиг.11 с другой компоновкой;

на фиг.16 иллюстрируется пример области задач по фиг.11 с другой компоновкой;

на фиг.17 иллюстрируется примерный способ размещения поля в области компоновки области задач по фиг.4;

на фиг.18 иллюстрируется другой пример способа размещения поля в области компоновки области задач по фиг.4;

на фиг.19 иллюстрируется еще один пример способа размещения поля в области компоновки области задач по фиг.4;

на фиг.20 иллюстрируется пример фильтрации области задач;

на фиг.21 иллюстрируется пример области ручного фильтра для другой фильтрации области задач;

на фиг.22 иллюстрируется пример вспомогательного раскрывающегося меню для фильтрации области задач по фиг.20;

на фиг.23 иллюстрируется другой пример вспомогательного раскрывающегося меню для фильтрации области задач по фиг.20;

на фиг.24 иллюстрируется пример диалогового окна для фильтрации области задач по фиг.20;

на фиг.25 иллюстрируется другой пример фильтрации области задач;

на фиг.26 иллюстрируется пример вспомогательного раскрывающегося меню для фильтрации области задачи по фиг.25;

на фиг.27 иллюстрируется другой пример области задач;

на фиг.28 иллюстрируется пример вспомогательной информации по инструментам для области задач по фиг.27.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

Описанные здесь варианты воплощения относятся к сводным таблицам данных, используемым для анализа данных в компьютерной системе.

Рассмотрим теперь фиг.1, на которой иллюстрируется пример компьютерной системы 100. Компьютерная система 100, иллюстрируемая на фиг.1, может принимать различные формы, такие как, например, настольный компьютер, переносной компьютер и карманный компьютер. Кроме того, хотя здесь иллюстрируется компьютерная система 100, системы и способы, раскрытые здесь, могут быть также воплощены в других альтернативных компьютерных системах.

Система 100 включает в себя модуль 102 процессора, системное запоминающее устройство 104 и системную шину 106, которая соединяет различные системные компоненты, включая системное запоминающее устройство 104 с модулем 102 процессора. Системная шина 106 может представлять собой любую из нескольких типов структур шины, включающих в себя шину памяти, периферийную шину и локальную шину, с использованием любой из различных архитектур шины. Системное запоминающее устройство включает в себя постоянное запоминающее устройство (ПЗУ) 108 и оперативное запоминающее устройство (ОЗУ) 110. Базовая система ввода/вывода 112 (BIOS, БСВВ), которая содержит основные процедуры, помогающие передавать информацию между элементами в компьютерной системе 100, сохранена в ПЗУ 108.

Компьютерная система 100 дополнительно включает в себя привод 112 жесткого диска, предназначенный для считывания с и записи на жесткий диск, привод 114 магнитного диска, предназначенный для считывания с или записи на съемный магнитный диск 116, и привод 118 оптического диска, предназначенный для считывания с или записи на съемный оптический диск 119, такой как CD-ROM, DVD или другой оптический носитель. Привод 112 жесткого диска, привод 114 магнитного диска и привод 118 оптического диска соединены с системной шиной 106 с помощью интерфейса 120 привода жесткого диска, интерфейса 122 привода магнитного диска и интерфейса 124 привода оптического диска, соответственно. Эти приводы и другие ассоциированные считываемые компьютером носители обеспечивают энергонезависимый накопитель считываемых компьютером инструкций, структур данных, программ и других данных для компьютерной системы 100.

Хотя в примере описанной здесь оперативной среды может использоваться жесткий диск 112, съемный магнитный диск 116 и съемный оптический диск 119, другие типы считываемых компьютером носителей информации, которые позволяют сохранять данные, могут использоваться в примере системы 100. Примеры этих других типов считываемых компьютером носителей информации, которые можно использовать в примере оперативной среды, включают в себя магнитные кассеты, карты памяти типа флэш, цифровые видеодиски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ) и постоянные запоминающие устройства (ПЗУ).

Ряд программных модулей могут быть сохранены на жестком диске 112, магнитном диске 116, оптическом диске 119, в ПЗУ 108 или в ОЗУ 110, включающих в себя операционную систему 126, одну или больше прикладных программ 128, других программных модулей 130 и данных 132 программ.

Пользователь может вводить команды и информацию в компьютерную систему 100 через такие устройства ввода, как, например, клавиатура 134, мышь 136 или другое устройство - указатель. Примеры других устройств ввода включают в себя панель инструментов, меню, сенсорный экран, микрофон, джойстик, игровой планшет, ручку, спутниковую антенну и сканер. Эти и другие устройства ввода часто соединены с модулем 102 обработки через интерфейс 140 последовательного порта, который соединен с системной шиной 106. Однако такие устройства ввода также могут быть соединены с помощью других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB, УПШ). Дисплей 142 LCD (ЖКД, жидкокристаллический дисплей) или устройства дисплея другого типа также соединен с системной шиной 106 через интерфейс; такой как видеоадаптер 144. В дополнение к дисплею 142, компьютерные системы могут обычно включать в себя другие периферийные выходные устройства (не показаны), такие как громкоговорители и принтеры.

Компьютерная система 100 может работать в сетевой среде, с использованием логических соединений, с одним или больше удаленными компьютерами, такими как удаленный компьютер 146. Удаленный компьютер 146 может представлять собой компьютерную систему, сервер, маршрутизатор, сетевой ПК, равнозначное сетевое устройство или другой общий узел сети и обычно включают в себя множество или все элементы, описанные выше в отношении компьютерной системы 100. Сетевые соединения включают в себя локальную сеть (LAN, ЛВС) 148 и глобальную вычислительную сеть (WAN, ГВС) 150. Такие сетевые среды часть используются в офисах, компьютерных сетях предприятия, интранет и Интернет.

При использования в сетевой среде ЛВС компьютерная система 100 подключена к локальной сети 148 через сетевой интерфейс или адаптер 152. При использовании в сетевой среде ГВС компьютерная система 100 обычно включает в себя модем 154 или другое средство установления связи с другой глобальной вычислительной сетью 150, такой как Интернет. Модем 154, который может быть внутренним или внешним, подключен к системной шине 106 через интерфейс 140 последовательного порта. В сетевой среде программные модули, описанные в отношении компьютерной системы 100 или ее частей, могут быть сохранены в удаленном запоминающем устройстве. Следует понимать, что показанные сетевые соединения представляют собой примеры, и можно использовать другие средства установления каналов передачи данных между компьютерами.

Описанные здесь варианты воплощения могут быть воплощены как логические операции в компьютерной системе. Логические операции могут быть воплощены, (1) как последовательность воплощенных в компьютере этапов или программных модулей, работающих в компьютерной системе, и (2) как взаимно соединенные логические или аппаратные модули, работающие в компьютерной системе. Такой вариант воплощения представляет собой предмет выбора, который зависит от требований к рабочим характеристикам конкретной компьютерной системы. В соответствии с этим, логические операции, составляющие описанные здесь варианты воплощения, относятся к операциям, этапам или модулям. Для специалиста в данной области техники будет понятно, что эти операции, этапы и модули могут быть воплощены в виде программных средств, встроенного программного обеспечения, в цифровых логических схемах специального назначения и с использованием любой их комбинации, без выхода за пределы сущности и объема настоящего изобретения, которые представлены в приложенной формуле изобретения. Такие программные средства, встроенные программные средства или аналогичная последовательность компьютерных инструкций могут быть кодированы и сохранены в считаемом компьютером накопителе информации и также могут быть кодированы в пределах сигнала несущей волны для передачи данных между компьютерными устройствами.

Рассмотрим теперь фиг.2, на которой представлен пример программы 200. В одном примере программа 200 представляет собой программу электронной таблицы Microsoft EXCEL, работающую в компьютерной системе, такой как компьютерная система 100, описанная выше. Программа 200 включает в себя электронную таблицу 205 с примером списка данных 210. Пользователь может создать сводную таблицу данных по данным 210.

Например, рассмотрим фиг.3, на которой представлен пример интерфейса 302 пользователя программы 200. Интерфейс 302 пользователя включает в себя исходную сводную таблицу 320 данных (сводная таблица 320 данных показано чистой на фиг.3). Сводная таблица 320 данных может быть создана из данных, полученных из различных источников. В одном примере, показанном на фиг.3, сводная таблица 320 данных может быть создана из данных одной или больше баз данных, как более подробно описано ниже. В других вариантах воплощения сводная таблица 320 данных может быть создана из данных электронной таблицы, таких как данные 210, показанные на фиг.2.

Интерфейс 302 пользователя программы 200 также включает в себя пример области 450 задач, которую можно использовать для формирования и модификации сводной таблицы 320 данных. Например, область 450 задач включает в себя список полей из данных 210. Пользователь может выбрать и детектировать поля из области 450 задач для создания сводной таблицы 320 данных, как более подробно описано ниже.

I. Область задач

Рассмотрим теперь фиг.4, на которой показан пример области 450 задач. Область 450 задач, в общем, включает в себя область 452 поля и область 454 компоновки. Область 450 задач используется для создания и модификации сводной таблицы 320 данных, как более подробно описано ниже.

Область 452 поля включает в себя список 453 каждого поля в данной базе данных или электронной таблице (например, электронной таблице 205, показанной на описанной выше фиг.2). Полоса 451 прокрутки предусмотрена, поскольку список 453 полей длиннее, чем место, предоставляемое областью 452 поля. В некоторых вариантах воплощения размеры области 452 поля (а также области 454 компоновки) могут быть изменены пользователем. Каждое поле в списке 453 включает в себя экранную кнопку рядом с полем. Например, поле "прибыль" области включает в себя экранную кнопку 460, расположенную рядом с названием поля. Когда поле в списке 453 добавляют в область 454 компоновки, как описано ниже, отмечается экранная кнопка, связанная с этим полем. Например, отмечается экранная кнопка 460 для поля "прибыль", поскольку она была добавлена в область 454 компоновки.

Область 454 компоновки включает в себя множество зон, которые представляют аспекты сводной таблицы 320 данных, которую формируют, используя область 450 задач. Например, область 454 компоновки включает в себя зону 455 ряда, зону 456 колонки, зону 457 значений и зону 458 фильтра. Зона 455 ряда образует метки рядов для получающейся сводной таблицы 320 данных. Зона 456 колонки определяет метку колонки для сводной таблицы 320 данных. Зона 457 значений идентифицирует данные, которые сводят (например, совокупность, вариацию и т.д.) в сводной таблице 320 данных. Зона 458 фильтра позволяет выбирать фильтрацию, которую применяют ко всем другим полям в других зонах 455, 456, 457 (например, поле может быть размещено в зоне 458 фильтра, и один или больше элементов, ассоциированных с этим полем, можно выбрать для формирования фильтра, для представления только этих пунктов для всех других полей в области 454 компоновки, которые ассоциированы с элементом (элементами), выбранным для этого поля в зоне 458 фильтра).

Одно или больше полей из области 452 поля добавляют в одну или больше зон области 454 компоновки для формирования и модификации сводной таблицы 320 данных. В представленном примере пользователь может "отметить мышью", "перетянуть" и "сбросить" поле из списка 453 области 452 поля в одну из зон области 454 компоновки, для добавления поля к сводной таблице 320 данных.

Например, как показано на фиг.5, пользователь может колебаться в отношении определенного поля, включенного в область 452 поля, такого как поле 466 "распродажа в магазине". Поскольку пользователь колеблется в отношении этого поля, пользователю представляется курсор 472 в виде перекрестия, который обозначает, что пользователь может отметить мышью и потянуть выбранное поле из области 452 поля в одну из зон 454 компоновки. После того как пользователь выбирает это поле, курсор 472 в виде перекрестия возвращается к нормальному виду курсора, и поле 466 "распродажа в магазине" можно "перетянуть" и "сбросить" в зону 457 значений, как показано. Поле можно аналогично удалить из области 454 компоновки, путем выбора и перетягивания этого поля из области 454 компоновки.

В другом примере пользователь может отмечать экранную кнопку, связанную с определенным полем, в области 452 поля, для добавления этого поля в область 454 компоновки. Например, если пользователь выбирает экранную кнопку 460, связанную с полем "прибыль", показанную в области 450 задач из фиг.4, это поле может быть добавлено в зону 457 значений, как поле 462 "прибыль". Как более подробно описано ниже, программа 200 может быть запрограммирована для анализа и размещения выбранного поля в соответствующей зоне области 454 компоновки. Пользователь может аналогично отменить выбор отмеченного поля для удаления этого поля из области 454 компоновки. Например, если пользователь убирает выбор экранной кнопки 460, поле 462 "прибыль" будет удалено из области 454 компоновки.

В необязательном примере, если пользователь отмечает мышью заданное поле, для выбора этого поля, без перетягивания этого поля в одну из зон, представляющих собой зону 454 сброса, для пользователя может быть представлено меню (например, аналогичное меню 482, показанному на фиг.6), которое позволяет пользователю выбрать, в какую зону требуется поместить данное поле.

На фиг.7 показан пример способа 500, предназначенного для добавления поля из области 452 поля в зону области 454 компоновки. Во время операции 501, пользователь выбирает область, представленную в виде списка в области 452 поля, чтобы добавить ее к области 454 компоновки. Во время операции 502 определяется, выбрал ли пользователь экранную кнопку, связанную с определенным полем. Если пользователь выбрал экранную кнопку, управление переходит к операции 503, и программа 200 может автоматически определять, какую зону области 454 компоновки поместить в выбранное поле. Затем, во время операции 507 поле добавляется к соответствующей зоне области 454 компоновки.

Если во время операции 502 определяется, что пользователь не выбрал экранную кнопку, управление переходит к операции 504. Во время операции 504 определяется, выбрал ли пользователь, "перетянул" ли и "сбросил", поле в одну из зон области 454 компоновки. Если пользователь "сбросил" поле в одну из зон области 454 компоновки, управление переходит к операции 507, и это поле добавляется к зоне.

Если во время операции 504 определяется, что пользователь не "перетянул" и не "сбросил" поле, в необязательном варианте воплощения, управление переходит к операции 505, поскольку пользователь выбрал поле без выбора экранной кнопки или "перетягивания/сброса" этого поля в зону области 454 компоновки. Во время операции 505, программа 200 представляет пользователю меню, которое позволяет пользователю выбрать зону, которую требуется добавить к полю. Затем, во время операции 506, пользователь выбирает требуемую зону. Во время операции 507, поле добавляют к зоне.

После добавления поля к зоне области 454 компоновки, управление переходит к операции 509 и программа 200 обновляет сводную таблицу 320 данных соответствующим образом, как описано ниже.

Рассмотрим снова фиг.4, на которой после того, как поле, такое как поле "прибыль", из области 452 поля будет добавлено к одной из зон области 454 компоновки, экранная кнопка (например, экранная кнопка 460), ассоциированная с этим полем в области 452 поля проверяется, обозначает ли она, что это поле представляет собой часть сводной таблицы 320 данных. Кроме того, шрифт метки поля, ассоциированного с полем в области 452 поля, становится полужирным. Аналогично, когда поле еще не было введено как часть сводной таблицы 320 данных (или было удалено из нее), экранная кнопка, связанная с этим полем, остается без отметки, и это поле представлено с нормальным, а не полужирным шрифтом. Также можно использовать другие способы обозначения полей, которые представляют собой часть сводной таблицы 320 данных.

По мере того как поля добавляют в область 454 компоновки области 450 задач и удаляют из нее, получаемая в результате сводная таблица 320 данных модифицируется соответствующим образом. Например, для пользователя первоначально представляют область 450 задач, которое включает в себя область 452 поля, как показано на фиг.3. На фиг.8, когда пользователь добавляет поле "прибыль" в зону 457 значений области 454 компоновки, сумма данных, связанных с полем "прибыль", автоматически добавляется к сводной таблице 320 данных. На фиг.9 показано, что пользователь может добавлять дополнительные поля (например, "Среднее значение продаж", "Клиенты", "Пол") к зонам области 454 компоновки, и сводную таблицу 320 данных обновляют таким образом, чтобы она включала в себя данные, относящиеся к добавляемым полям.

Рассмотрим фиг.10, пользователь также может перемещать поля из одной зоны в другую зону в области 454 компоновки области 450 задач, и сводная таблица 320 данных обновляется соответствующим образом. Например, пользователь может перемещать поле "Пол" из зоны 456 колонки в зону 455 ряда, и сводная таблица 320 данных автоматически обновляется соответствующим образом, чтобы отразить это изменение. Пользователь также может перемещать поля в пределах заданной зоны 455, 456, 457, 458 для изменения порядка, в котором эти поля отображаются в сводной таблице 320 данных. Например, пользователь может перемещать поле "Пол", выше поля "Клиент" в зоне 455 ряда, в результате чего поле "Пол" будет показано перед полем "Клиент" в сводной таблице 320 данных.

Рассмотрим фиг.6, в одном примере, если пользователь отмечает мышью и высвобождает поле, такое как поле 481 "Категория продукта", расположенное в поле области 454 компоновки, без перетягивания этого поля, пользователю представляется меню 482, которое позволяет пользователю манипулировать с размещением поля в пределах области 454 компоновки. Например, меню 482 позволяет пользователю изменять положение поля в пределах заданной зоны (то есть "переместиться вверх", "переместиться вниз", "переместиться в начало", "переместиться в конец"), перемещать поле между зонами (то есть "перейти к отметкам, расположенным в ряд", "перейти к значениям", "перейти к отметкам колонок", "перейти к фильтру отчета") и удалять поле из области 454 компоновки (то есть "Удалить поле"). Только те варианты, которые доступны для конкретного поля, представляются в меню 482 активного выбора (например, метка "перейти к меткам ряда" показана как неактивная в данном примере, поскольку поле 481 уже находится в зоне 455 ряда).

На фиг.4 показано, что область 450 задач также включает в себя экранную кнопку 469 обновления вручную. Когда выбирают экранную кнопку 469, полученная в результате сводная таблица 320 данных не будет автоматически обновляться, когда поле добавляют, изменяют его компоновку и удаляют из области 454 компоновки области 450 задач. Например, если пользователь выбирает экранную кнопку 469 обновления вручную, и затем добавляет это поле в зону 455 ряда области 454 компоновки, при этом сводная таблица 320 данных не обновляется автоматически, для отражения вновь добавленного поля. Вместо этого обновление происходит после того, как пользователь выбирает кнопку 471 обновления вручную, которая становится активной, после того, как будет выполнено изменение и можно будет выполнить обновление вручную. Обновление вручную можно использовать для повышения эффективности при работе с большим количеством данных, для которых требуется существенное время для поиска и продолжительная обработка для формирования сводной таблицы 320 данных. Таким образом, требуемые поля и фильтрация могут быть выбраны перед формированием или пересмотром сводной таблицы 320 данных, которое происходит после выбора кнопки 471 обновления вручную, в результате чего повышается эффективность.

На фиг.11 поля, показанные в области 452 поля, представляют поля данных типа "обработки анализа в режиме онлайн" (OLAP, ОАРО). В отличие от этого, поля, показанные в области 452 поля на фиг.5, не являются полями типа OLAP, и их иногда называют реляционными полями). OLAP представляет собой категорию инструментов, которая обеспечивает анализ данных, сохраненных в базе данных. Инструменты OLAP позволяют пользователям анализировать разные размеры многоразмерных данных. Поля данных OLAP расположены в виде иерархической структуры с множеством уровней. Например, поле "Сведения о фактических распродажах 1991 года" включает в себя подполя, "Распродажа в магазине", "Штучная продажа" и "Стоимость в магазине". Доступ к подполям может осуществляться путем отметки индикатора 556 детализации (знак +/- плюс/минус) для раскрытия и сворачивания подполей. Данные OLAP можно расположить в разных размерностях в соответствии с иерархиями и мерами.

В показанном варианте воплощения каждое поле, представленное в области 452 поля, включает в себя множество компонентов. Поле может быть выделено путем перемещения указателя мыши по полю или отметки мышью поля. Например, каждое поле, такое как поле "Продукт", показанное на фиг.11, включает в себя области 558 и 559 выбора, которые позволяют пользователю выбирать и перетягивать это поле. Каждое поле также включает в себя экранную кнопку 560, которую можно использовать для добавления/удаления поля из сводной таблицы 320 данных. Кроме того, каждое поле данных типа OLAP может включать в себя индикатор 556 детализации, который используется для раскрытия и сворачивания подполей, связанных с этим полем. Кроме того, каждое поле включает в себя раскрывающуюся область 562, используемую для доступа к опциям фильтрации, как дополнительно описано ниже.

Рассмотрим снова фиг.4, на которой область 450 задач также включает в себя управление 470, которое позволяет пользователю модифицировать компоновку области 450 задачи. Например, пользователь может выбрать управление 470 для доступа к меню 572 компоновки, как показано на фиг.12. Меню 572 компоновки используется для компоновки областей 452 и 454. Например, если пользователь выберет "Поля и компоновка располагаются друг над другом" 573 в управлении 470, область 452 поля устанавливается над областью 454 компоновки в области 450 задач для формирования единой интегрированной области, как показано на фиг.4. Если пользователь выбирает "Поля и компоновка расположены рядом друг с другом" 574 с помощью экранной кнопки 470, область 452 располагается вдоль боковой области 454 компоновки в области 450 задач, формируя одну объединенную область, как показано на фиг.13. Если пользователь выбирает "Только поля" 575 с помощью управления 470, область 452 поля будет показана изолированной, как на фиг.14. Если пользователь выбирает "Только компоновка 2 на 2" 576 в управлении 470, область 454 компоновки будет показана изолированной с зонами 455, 456, 457, 458, расположенными в квадрате размером 2×2, как показано на фиг.15. Если пользователь выбирает "Только компоновка 1 на 4" 577 он выполняет управление 470, при этом область 454 компоновки показана изолированной с зонами 455, 456, 457, 458, расположенными в квадрате размером 1×4, как показано на фиг.16.

В примере, показанном на фиг.5, поля в области 452 поля представлены в алфавитном порядке. Чтобы список включал данные типа OLAP, такие как показаны на фиг.4, вначале представлены меры, и размерности показаны в алфавитном порядке после этого. В представленных примерах папки размерности представлены в развернутой форме, при этом все другие поля показаны в сжатой форме. Другие конфигурации также можно использовать.

II. Автоматическое размещение поля в области компоновки

Рассмотрим снова фиг.4, если пользователь выбирает поле, отмечая экранную кнопку, связанную с этим полем, программа 200 запрограммирована так, что она автоматически размещает выбранное поле в одной из зон области 454 компоновки, как описано ниже.

Обычно поля численного типа добавляют к зоне 457 значений, поля нечисленного типа добавляют к зоне 455 ряда области 454 компоновки. Например, поля численного типа (например, цифры, обозначающие продажи в денежном выражении) обычно объединяют и, поэтому, размещают в зоне 457 значений, в то время как поля нечисленного типа (например, название продукта) обычно используют как метки ряда и, поэтому, автоматически размещают в зоне 455 ряда.

Рассмотрим теперь фиг.17, на которой представлен примерный способ 600 автоматического добавления выбранного поля к одной из зон области 454 компоновки. При выполнении операции 601, пользователь выбирает поле в области 452 поля, используя, например, экранную кнопку, связанную с этим полем. Затем, при выполнении операции 602, определяют, является ли это поле полем численного типа. Если поле представляет собой поле численного типа, управление передают в операцию 603 и это поле добавляют к зоне 457 значений для объединения. Если во время операции 602 определяется, что поле не является полем численного типа, управление передают в операцию 604 и это поле передают в зону 455 ряда.

В некоторых вариантах воплощения поле численного типа может быть дополнительно проанализировано прежде, чем оно будет добавлено в поле зоны 457 значений, для определения, является ли другое размещение в области 454 компоновки более соответствующим. Например, поле, включающее в себя множество значений почтового индекса является полем численного типа, но обычно требуется размещать такое поле в зоне 455 ряда, а не в зоне 457 значений. По этой причине поля численного типа дополнительно анализируют в некоторых вариантах воплощения, используя семантические характеристики данных для идентификации требуемого размещения в области 454 компоновки.

В одном варианте воплощения используют справочную таблицу, такую как таблица 1, приведенная ниже, для идентификации полей численного типа, которые добавляют к зоне 455 ряда, вместо зоны 457 значений.

Таблица 1
FieldTypeString (Строка типа поля) Минимальное значение Максимальное значение
"почтовый индекс"
"год"
"квартал" 1 4
"qtr" (квартал) 1 4
"месяц" 1 12
"неделя" 1 52
"день" 1 31
"идентификатор"
"номер"
"номер социального страхования"
"ssn" (номер социального страхования)
"номер телефона"
"дата"

В таблице 1, колонка "FieldTypeString" (Строка типа поля) включает в себя текстовые строки, которые сравнивают с заголовком выбранного поля, как более подробно описано ниже. В представленном примере заголовок для выбранного поля сравнивают с каждой строкой в колонке FieldTypeString таблицы 1, для идентификации каких-либо не соответствий, не чувствительных к регистру (заглавных или строчных букв).

Если будет найдено соответствие между текстовой строкой в колонке FieldTypeString и заголовком выбранного поля, численные элементы в этом поле дополнительно анализируют, используя значения в колонках "MinValue" и "MaxValue" (Минимальное значение и Максимальное значение) таблицы 1. Значение колонки MinValue определяет минимальное значение любого из элементов заданного типа FieldTypeString. Значение в колонке MaxValue определяет максимальное значение любого из элементов заданного типа FieldTypeString. Если MinValue не определено в таблице 1 для конкретного типа FieldTypeString, определяют, являются ли численные элементы целыми числами, не превышающими MaxValue. Если MaxValue не определено для конкретного типа FieldTypeString, определяют, являются ли численные элементы целыми числами, превышающими MinValue. Если не определено ни MinValue, ни MaxValue для конкретного типа FieldTypeString, определяют, являются ли численные элементы целыми числами.

Например, если выбранное поле включает в себя заголовок "месяц", таблица 1 анализирует и идентифицирует соответствие со значением FieldTypeString "месяц". Затем численные значения, ассоциированные в этим полем, анализируют для определения, попадают ли численные значения в пределы между минимальным и максимальным значениями "1" и "12" (представляют месяцы от января до декабря). В одном варианте выполнения проверяют все численные элементы для этого поля. В других вариантах выполнения, например, когда имеется значительно большее количество численных элементов, проверяют только выборку численных элементов, сравнивая их с минимальным и максимальным значениями в таблице 1. Если все значения попадают в пределы между минимальным и максимальным значениями, тогда это поле добавляют к зону 455 ряда, вместо зоны 457 значений, как дополнительно описано ниже.

Текстовые строки и минимальные, и максимальные значения, показанные в таблице 1, представляют собой только примеры, и можно использовать другие строки и значения. Например, текстовые строки и минимальные/максимальные значения могут быть модифицированы в зависимости от географического местоположения, в котором генерируют данные (например, значения номера телефона могут различаться в зависимости от географического местоположения). В других вариантах выполнения могут использоваться разные типы семантической проверки. Например, количество цифр численных элементов можно анализировать в дополнение к или вместо проверки фактических значений численных элементов. Например, если заголовок поля соответствует текстовой строке "почтовый индекс" (то есть почтовые индексы), количество цифр для этих численных элементов в этом поле можно анализировать, проверяя, составляет ли количество цифр минимум пять цифр (например, "90210" включает в себя пять цифр) и максимум десять цифр (например, "90210-1052" включает в себя десять цифр).

На фиг.18 показан примерный способ 610 автоматического размещения выбранного поля в области 454 компоновки. Способ 610 аналогичен способу 600, описанному выше, за исключением того, что дополнительно анализируют поля численного типа. При выполнении операции 611, пользователь выбирает поле в области 452 поля, используя, например, экранную кнопку, связанную с этим полем. Затем, в ходе операции 612, определяется, является ли это поле полем численного типа. Если поле не является полем численного типа, управление передают в операцию 613 и это поле добавляют в зону 455 ряда.

Если во время операции 612 определяется, что это поле представляет собой поле численного типа, управление передают в операцию 615. В ходе операции 615 анализируют заголовок для этого поля, и при выполнении операции 616 этот заголовок сравнивают со справочной таблицей текстовых строк, такой как таблица 1, показанная выше. Если соответствие между заголовком и текстовой строкой не будет найдено в ходе операции 616, управление передают операции 619 и это поле добавляют к зоне 457 значений. Если в ходе операции 616 будет определено соответствие между заголовком и текстовой строкой в таблице 1, управление передают операции 617.

При выполнении операции 617 численные элементы поля анализируют и в ходе операции 618 значения численных элементов сравнивают с минимальным и максимальным значениями по таблице 1, ассоциированными с текстовой строкой. Если численные элементы выходят за пределы минимального и максимального значений, как описано выше, управление передают операции 619 и это поле добавляют в зону 457 значений. Если численные элементы попадают в пределы минимального и максимального значений во время операции 618, управление передают операции 613 и это поле добавляют к зоне 455 рядов.

Таким образом, конкретные поля численного типа могут быть автоматически идентифицированы и помещены в зону 455 рядов, вместо принятой по умолчанию зоны 457 значений. Если поле автоматически помещается с помощью программы 200 в определенную зону в области 454 компоновки и пользователь желает разместить это поле в другой зоне, пользователь может выбрать и перетянуть это поле в требуемую зону.

В некоторых вариантах воплощения поля, связанные с информацией даты, идентифицированы и размещены в зоне 456 колонки, вместо зоны 455 ряда или зоны 457 значений. Например, способ 630, показанный на фиг.19, аналогичен способу 610, описанному выше, и включает в себя операции 61-619. Однако во время операции 618, если численные элементы попадают в пределы между минимальным и максимальным значениями, управление передают операции 631. При выполнении операции 631 определяют, является ли это поле полем даты. В представленном примере такое определение осуществляется с использованием текстовой строки, с которой сопоставляют заголовок. Например, если заголовок для этого поля включает в себя текст "Дата" и он соответствует текстовой строке "дата" в таблице 1, тогда это поле идентифицируют как поле даты. Если поле представляет собой поле даты, управление передают операции 632 и это поле добавляют в зону 456 колонки. Если это поле не является полем даты, управление передают операции 613 и это поле передают в зону 455 ряда.

В альтернативных вариантах воплощения метаданные, ассоциированные с определенным полем, можно использовать для идентификации атрибутов в отношении этого поля. Например, метаданные могут использоваться для идентификации, является ли поле является численным полем и/или полем даты.

В некоторых вариантах воплощения используются следующие правила, когда автоматически добавляют данные OLAP, идентифицирующие поле, в область 454 компоновки и сводную таблицу 320 данных:

A. Иерархии OLAP/наборы, поименованные OLAP

1) иерархию добавляют к зоне ряда;

2) иерархия вложена внутри всех других полей в зоне ряда;

3) для иерархий с множественными уровнями поле наивысшего уровня отображают в сводной таблице данных, и пользователь может развернуть его, чтобы посмотреть поля более низкого уровня.

B. Меры OLAP/выражения OLAP KPI

1) если, по меньшей мере, одна мера уже добавлена, эту меру добавляют в ту же зону, в которую уже были добавлены меры;

2) добавление второй меры вводит поле данных (смотрите, например, поле "Σ значений" по фиг.10) в области компоновки, и поле данных по умолчанию размещают в зоне колонки - поле данных отображают в зоне компоновки, в случае когда здесь имеется два или больше полей в зоне значения;

3) при добавлении поле данных вкладывают внутри всех других полей в зоне колонки;

4) поле данных располагается либо в зоне ряда, или в зоне колонки.

В некоторых вариантах воплощения используются следующие дополнительные правила при автоматическом добавлении поля, идентифицирующего данные, которые не являются данными OLAP, или реляционного поля в область 454 компоновки и в сводную таблицу 320 данных:

A. Для нечисленных полей поле добавляют в зону ряда - это поле вложено внутри всех других полей в зоне ряда

B. Для численных полей поле добавляют в зону значений

1) если, по меньшей мере, одно поле уже находится в зоне значений, это поле добавляют к той же зоне, где уже есть добавленное поле;

2) добавление первого поля к зоне значений вводит поле данных в область компоновки, и это поле данных размещают в зоне колонки по умолчанию;

3) после добавления, поле данных вложено внутри всех других полей в зоне колонки;

4) поле данных располагается либо в зоне ряда, или в зоне колонки.

III. Фильтрация области задач

Как снова показано на фиг.11, один или больше фильтров могут быть применены к элементам в конкретном поле для ограничения информации, которая включена в сводную таблицу 320 данных. Например, пользователь может использовать область 562 "перетягивания" и "сбрасывания" для конкретного поля, представленного в области 452 поля области 450 задач, для доступа к фильтрации области 700 задач.

Рассмотрим теперь фиг.20, на которой представлен пример фильтрации области 700 задач. Интерфейс 700 обычно включает в себя управление 705 "перетягивания" и "сбрасывания" селектора поля, область 707 фильтрации вручную и область 709 управления фильтрацией.

Управление 705 "перетягивания" и "сбрасывания" селектора можно использовать для выбора разных полей для фильтрации. Для данных OLAP поля в управлении 705 "перетягивания" и "сбрасывания" селектора могут отображаться в иерархической компоновке, и управление 705 "перетягивания" и "сбрасывания" можно использовать для выбора разных уровней данных OLAP для фильтрации. В представленном примере выбранное поле представляет собой поле "Страна".

В области 707 фильтрации вручную представлены в виде списка все элементы, с полями, представленными в управлении 705 "перетягивания" и "сбрасывания" селектора. Экранные кнопки поставлены в соответствии с каждым из элементов, представленным в виде списка в области 707 фильтрации вручную, что позволяет пользователю вручную выбирать, какие элементы требуется включить в фильтр. На фиг.21 для данных OLAP показано, что доступ к вспомогательным элементам может осуществляться путем отметки мышью индикатора знака плюс/минус (+/-) детализации, для разворачивания и сворачивания элементов, связанных с каждым полем, представленным в области 707 фильтрации вручную в виде списка. Например, элементы "Напитки" и "Продукты питания" представлены в развернутой форме. Экранная кнопка 713 выбрана для элемента "Продукты питания", в результате чего также происходит выбор каждого вспомогательного элемента "Продукты питания". Для элемента "Напитки" выбран только вспомогательный элемент "Алкогольные напитки", и экранная кнопка 712, ассоциированная с элементом "Напитки", предусмотрена со смешанным индикатором, что представляет, что только выбрана часть вспомогательных элементов для элемента "Напитки". Экранная кнопка 711 "Выбрать все" может быть отмечена для выбора/отмены выбора каждого элемента на всех уровнях, показанных в области 707 фильтрации.

Рассмотрим снова фиг.20, когда пользователь использует управление 705 раскрывающегося селектора для выбора различных полей, область 707 фильтрации вручную обновляется, соответственно, для представления элементов, ассоциированных с полями, представленными в управлении 705 раскрывающегося селектора. Если вновь выбранные поля находятся на другом уровне той же иерархии, что и первоначально выбранное поле в управлении 705 раскрывающегося селектора, область 707 фильтрации вручную остается неизменной, поскольку все уровни элементов представлены в области 707 фильтрации вручную для данных OLAP.

Область 709 управления фильтрацией представляют в виде списка элементов управления фильтром, которые доступны для применения для выбора поля, представленного в управлении 705, раскрывающегося селектора. Управление 710 позволяет пользователю изменять порядок, в котором представлены в виде списка фильтруемые элементы. Например, пользователь может выбрать один из элементов 710 управления, с тем, чтобы фильтруемые элементы были представлены в алфавитном порядке от А → Z или от Z → A. Управление 715 используют для представления дополнительных вариантов сортировки, таких как, например, сортировка по конкретному полю.

Пользователь может выбрать управление 720 для удаления всей фильтрации для поля в управлении 705 раскрывающегося селектора. Элементы 725 и 730 управления позволяют пользователю выбирать определенные фильтры для применения к полю в управлении 705 раскрывающегося селектора. Например, если пользователь выбирает управление 725, пользователю представляют вспомогательное раскрывающееся меню 740, представленное на фиг.22. В меню 740 представлено множество фильтров, которые могут быть применены к выбранному полю. Фильтры, представленные в меню 740, представляют собой такие фильтры, которые обычно применяют к полям меток. Эти фильтры включают в себя, без ограничения, "Начинается с", "Не начинается с", "Заканчивается на", "Не заканчивается на", "Содержится" и "Не содержится". Пользователь может выбрать фильтр из меню 740 для применения этого фильтра к элементам в поле. Аналогично, пользователь может выбрать управление 730 для доступа к вспомогательному раскрывающемуся меню 745, показанному на фиг.23. Меню 745 включает в себя фильтры, которые могут применяться к полям значений. Эти фильтры включают в себя, без ограничения, "Равняется", "Не равняется", "Больше чем", "Больше чем или равно", "Меньше чем", "Меньше чем или равно", "От и до" и "Вне пределов".

Рассмотрим теперь фиг.24, когда пользователь выбирает фильтр из одного из вспомогательных раскрывающихся меню 740, 745, пользователю представляют диалоговое окно, такое как диалоговое окно 760 для построения требуемого фильтра. В диалоговом окне 760 окно 772 выбора поля заранее заполнено выбранным полем в управлении 705 раскрывающегося селектора, и окно 774 выбора фильтра заранее заполнено фильтром, выбранным из вспомогательных раскрывающихся меню 740, 745. Пользователь может выбирать разные поля путем выбора раскрывающихся меню в окне 772 выбора поля для того, чтобы, например, обратиться к другим полям, включенным в данное время в зону 457 значений. Пользователь может выбирать разные фильтры путем выбора раскрывающегося меню в окне 774 выбора фильтра, которое представляет список всех фильтров, доступных для этого типа данных. Окно 776 критериев позволяет пользователю размещать в нем значения для фильтрации. Например, если пользователь выбирает пункт "Распродажи в магазинах" в области 707 фильтрации вручную и затем выбирает фильтр "Больше чем" из вспомогательного раскрывающегося меню 745, диалоговое окно 770 будет представлено для пользователя. Пользователь может ввести значение "50000" в область 776 критериев для установки фильтра для фильтрации всех распродаж в магазинах, которые превышают $50 000.

Рассмотрим теперь фиг.25, элементы 725 и 730 управления могут быть модифицирован в зависимости от типа поля, представленного в управлении 705 раскрывающегося селектора. Например, область 700 задач включает в себя поле типа даты и поэтому включает в себя управление 725, которое обеспечивает возможность фильтрации по дате, и управление 730, которое обеспечивает возможность фильтрации по значению. Пользователь может выбрать управление 725 для доступа к вспомогательному раскрывающемуся меню 760, представленному на фиг.26. Вспомогательное раскрывающееся меню 760 включает в себя множество фильтров, которые могут применяться к полю типа данных.

В некоторых вариантах воплощения пользователю представляют только те элементы управления, которые применимы для выбранного поля. Например, если пользователь выбирает поле, которое не имеет тип даты и численный тип, управление 725 будет активным и будет обеспечивать для пользователя вспомогательное раскрывающееся меню 740 с фильтрами, применимыми для такого поля. Если пользователь выбирает поле даты, управление 725 будет активным и будет обеспечивать вспомогательное раскрывающееся меню 760 с фильтрами, применимыми для полей даты. Если пользователь выбирает поле численного типа, которое не является полем даты, управление 730 будет активным и будет предоставлять вспомогательное раскрывающееся меню 745 с фильтрами, применимыми для полей численных данных.

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

Дополнительные детали, относящиеся к применению выбранных фильтров к данным, можно найти в заявке на патент США регистрационный № 11/157634, регистрационный номер патентного поверенного № 14917.0108US01/311178.01, поданной 21 июня 2005 г. под названием "Dynamically Filtering Aggregate Reports Based on Values Resulting from One or More Previously Applied Filters", которая приведена здесь полностью в качестве ссылочного материала.

Индикатор 752 экранной кнопки (смотрите фиг.25) в области 700 фильтрации размещен рядом со всеми фильтрами, которые были применены. Рассмотрим теперь фиг.27, на которой после того, как фильтр будет применен к заданному полю, изображение 810 фильтра будет показано рядом с полем в области 452 поля области 450 задач, для обозначения того, что фильтр применен к этому полю. В некоторых вариантах воплощения аналогичное изображение фильтра также ассоциируется с каждым фильтруемым полем в области 454 компоновки и в сводной таблице 320 данных.

Кроме того, когда устройство-указатель перемещается над определенным полем, изображение 810 фильтра предоставляет вспомогательную информацию 830 по инструментам, как показано на фиг.28. Вспомогательная информация 830 по инструментам представляет в виде списка фильтруемые поля в одной из трех секций, в применяемых вручную фильтрах, фильтрах-метках и фильтрах значения. Вспомогательная информация 830 по инструментам также представляет в виде списка фильтруемые поля в порядке оценки с типом применяемого фильтра. Для фильтров с длинными метками часть метки может быть обрезана в соответствии с требованиями размещения в инструменте-подсказке. Для каждого фильтра вспомогательная информация 830 по инструментам представляет, что применяемый вручную фильтр вначале применяют для поля "Год" для 2000, 2001, 2002, 2003 и 2004 годов. Вспомогательная информация 830 по инструментам обозначает, что текстовый фильтр затем применяют для поля "Название продукта", требующего текст "ab". Дополнительная фильтрация также представлена во вспомогательной информации 830 по инструментам. Таким образом, пользователь может идентифицировать, какие фильтры применены для сводной таблицы 320 данных, и также может идентифицировать порядок, в котором эти фильтры применяются, путем проверки вспомогательной информации 830 по инструментам.

В показанном примере пользователь может использовать раскрывающуюся область 562 (смотрите фиг.11) для конкретного поля, представленного в области 450 задач, для доступа к фильтрации области 700 задач. Если пользователь обращается к интерфейсу 700 из сводной таблицы 320 данных, принятое по умолчанию поле, представленное в управлении 705 раскрывающегося селектора, представляет собой поле, которое в данный момент времени выбрано в сводной таблице 320 данных. Пользователь может выбрать другое поле, используя управление 705 раскрывающегося селектора. В других вариантах воплощения к фильтрации области 700 задач также можно обращаться из сводной таблицы 320 данных путем выбора раскрывающихся областей 862 в сводной таблице 320 данных. Смотрите фиг.9. В других вариантах воплощения пользователь может обращаться к фильтрации области 700 задач, путем выбора одного или больше полей в сводной таблице 320 данных и отмечая правой кнопкой мыши выбранные поля для доступа к одному или больше вариантам фильтрации. Эти варианты могут включать в себя, например, включение или исключение выбранных полей в применяемом вручную фильтре, или фильтрацию выбранных полей, с использованием фильтров метки, даты или значения, описанных выше.

Если доступ к фильтрации области 700 задач осуществляется из сводной таблицы 320 данных, поля, представленные в управлении 705 раскрывающегося селектора, могут быть выбраны на основе того, где пользователь обращается к интерфейсу 700. Например, если пользователь выбирает раскрывающуюся область 862 из поля в ряду сводной таблицы 320 данных, представляют все поля, находящиеся в данный момент в рядах. Если пользователь вместо этого выбирает раскрывающуюся область 862 из поля в колонке сводной таблицы 320 данных, представляют все поля, находящиеся в данный момент времени в колонках.

В представленном примере информация фильтрации содержится в конкретном поле, к которому ее применяют. Например, если фильтрацию применяют к полю, которое не является частью сводной таблицы данных 320, информацию о фильтрации ассоциируют с полем и применяют, когда это поле добавляют к сводной таблице 320 данных. Аналогично, если поле с фильтром удаляют из сводной таблицы 320 данных, информация о фильтре содержится в этом поле, поэтому, если это поле впоследствии обратно добавляют к сводной таблице 320 данных, фильтр применяется повторно. Как отмечено выше, фильтрация для поля может быть устранена путем выбора поля с последующим выбором управления 720 (смотрите фиг.20).

Различные варианты воплощения, описанные выше, представлены только в качестве иллюстрации, и их не следует рассматривать как ограничение. Для специалиста в данной области техники будут понятны различные модификации и изменения, которые могут быть выполнены без следования примерным вариантами воплощения и вариантам применения, представленным и описанным здесь, и без выхода за пределы истинной сущности и объема настоящего изобретения, которые установлены в следующей формуле изобретения.

1. Машиночитаемый носитель информации, имеющий машиноисполняемые команды, которые при исполнении процессором обеспечивают графический интерфейс пользователя, предназначенный для формирования сводной таблицы данных, причем интерфейс пользователя содержит:
область, включающую в себя множество полей; и
сводную таблицу данных;
при этом при выборе поля для включения его в сводную таблицу данных интерфейс пользователя запрограммирован для анализа этого поля и размещения автоматически этого поля в сводной таблице данных, при этом интерфейс пользователя запрограммирован для сравнения заголовка поля со списком строк для идентификации типа поля, и при этом интерфейс пользователя запрограммирован для сравнения элементов поля с минимальным или максимальным значениями для проверки типа поля.

2. Машиночитаемый носитель информации по п.1, причем интерфейс пользователя дополнительно содержит панель компоновки, включающую в себя множество зон, причем эти зоны представляют области в сводной таблице данных, при этом интерфейс пользователя запрограммирован для размещения автоматически упомянутого поля в зоне панели компоновки.

3. Машиночитаемый носитель информации по п.1, причем интерфейс пользователя запрограммирован для идентификации, является ли данное поле полем численного типа.

4. Машиночитаемый носитель информации по п.3, причем интерфейс пользователя запрограммирован для суммирования элементов поля, если поле представляет собой поле численного типа.

5. Машиночитаемый носитель информации по п.1, причем интерфейс пользователя запрограммирован для идентификации типа поля и для выбора строки сводной таблицы данных для размещения поля, если это поле не является полем численного типа.

6. Машиночитаемый носитель информации по п.1, причем интерфейс пользователя запрограммирован для идентификации типа поля и для выбора колонки сводной таблицы данных для размещения поля, если это поле имеет тип даты.

7. Способ формирования сводной таблицы данных в компьютерной системе, имеющей графический интерфейс пользователя для сводной таблицы данных, содержащий этапы, на которых:
обеспечивают возможность выбора поля из множества полей;
анализируют выбранное поле, используя семантику;
идентифицируют тип поля;
сравнивают заголовок поля со списком строк для идентификации типа поля;
сравнивают элементы поля с минимальным или максимальным значениями для проверки типа поля;
выбирают область сводной таблицы данных для размещения поля;
выбирают строку сводной таблицы данных, если поле представляет собой поле нечисленного типа;
выбирают колонку в сводной таблице данных, если поле представляет собой поле типа даты;
суммируют поле, если поле представляет собой поле численного типа, а не поле типа даты; и
добавляют поле в область сводной таблицы данных.

8. Способ по п.7, в котором выбор дополнительно содержит
этапы, на которых:
выбирают зону панели задач для размещения поля; и добавляют поле в зону панели задач.

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

10. Способ по п.9, в котором этап выбора дополнительно содержит этап, на котором суммируют поле, если поле является полем численного типа.

11. Машиночитаемый носитель информации, имеющий исполняемые компьютером инструкции, предназначенные для выполнения этапов, на которых:
обеспечивают возможность выбора поля из множества полей;
анализируют выбранное поле, используя семантику;
идентифицируют тип поля;
сравнивают заголовок поля со списком строк для идентификации типа поля;
сравнивают элементы поля с минимальным или максимальным значениями для проверки типа поля;
выбирают область в сводной таблице данных для размещения поля;
выбирают строку сводной таблицы данных, если поле представляет собой поле нечисленного типа;
выбирают колонку в сводной таблице данных, если поле представляет собой поле типа даты;
суммируют поле, если поле представляет собой поле численного типа, а не поле типа даты; и
добавляют поле к области сводной таблицы данных.

12. Машиночитаемый носитель информации по п.11, причем этап выбора дополнительно содержит этапы, на которых:
выбирают зону панели задач для размещения поля; и добавляют поле в эту зону панели задач.

13. Машиночитаемый носитель информации по п.11, причем этап анализа дополнительно содержит этап, на котором идентифицируют, является ли поле полем численного типа.

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



 

Похожие патенты:

Изобретение относится к системе управления данными. .

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

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

Изобретение относится к моделированию с помощью вычислительной машины параметров состояния (Z) объема стали (13), температура которого подвергается прямому или косвенному воздействию.

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

Изобретение относится к области аппаратов плазменной обработки. .

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

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

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

Изобретение относится к методам для клонирования и управления фрагментами базы данных

Изобретение относится к системам обработки данных в системе планирования ресурсов предприятия

Изобретение относится к моделирующей системе для моделирования работы датчика, предназначенного для преобразования физических параметров в электрические сигналы

Изобретение относится к устройству для поиска информации и оперативной идентификации в цифровых системах связи, в частности в сети передачи данных типа "Internet" стека коммуникационных протоколов TCP/IP

Изобретение относится к цифровой вычислительной технике, а именно к цифровым вычислительным системам для обработки входной информации о характеристиках боевых средств, ее преобразовании, выбора необходимой стратегии, формировании критериев противоборства с выявлением результатов боя, оценки своих потерь и нанесенного противнику ущерба, может быть использовано командным составом Вооруженных Сил в процессе его обучения и переучивания, проведения командно-штабных учений и непосредственно для планирования группового боя (ГБ)

Изобретение относится к области цифровой вычислительной техники и может быть использовано при построении различных специализированных устройств, предназначенных для решения дифференциальных уравнений в частных производных с переменными коэффициентами
Наверх