Фильтрующий интерфейс пользователя для сводной таблицы данных



Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных
Фильтрующий интерфейс пользователя для сводной таблицы данных

 

G06F3/048 - Вводные устройства для передачи данных, подлежащих преобразованию в форму, пригодную для обработки в вычислительной машине; выводные устройства для передачи данных из устройств обработки в устройства вывода, например интерфейсы (пишущие машинки B41J; преобразование физических переменных величин F15B 5/00,G01; получение изображений G06T 1/00,G06T 9/00; кодирование, декодирование или преобразование кодов вообще H03M; передача цифровой информации H04L)

Владельцы патента RU 2433449:

МАЙКРОСОФТ КОРПОРЕЙШН (US)

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

 

Уровень техники

Сводные таблицы данных можно использовать для анализа больших количеств данных. Один пример сводной таблицы данных представляют сводные таблицы 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 критериев для установки фильтра для фильтрации всех распродаж в магазинах, которые превышают $50000.

Рассмотрим теперь фиг.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. Компьютерная система по п.2, в которой окно фильтрации дополнительно содержит множество экранных кнопок, причем одна экранная кнопка ассоциирована с каждым из элементов в области фильтрации, задаваемой вручную, и в которой интерфейс пользователя запрограммирован так, чтобы он применял фильтры к тем элементам, для которых были выбраны экранные кнопки.

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

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

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

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

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



 

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

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

Изобретение относится к вычислительной технике. .

Изобретение относится к многопроцессорным архитектурам. .

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

Изобретение относится к области электронных загрузок программного обеспечения. .

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

Изобретение относится к объектно-ориентированному программированию, а более конкретно к формированию отношений между программными элементами. .

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

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

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

Изобретение относится к области графического интерфейса пользователя. .

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

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

Изобретение относится к вычислительной технике. .

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

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

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

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

Изобретение относится к вычислительной технике. .

Изобретение относится к устройствам обработки информации
Наверх