Пользовательский интерфейс для создания сводной таблицы данных в форме электронной таблицы

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

 

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

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

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

Сущность изобретения

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

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

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

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

Краткое описание чертежей

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

Фиг.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. Системная шина 106 может быть любой из нескольких типов шинных структур, включающих в себя шину памяти, периферийную шину и локальную шину, использующую любую из многообразия шинных архитектур. Системное запоминающее устройство включает в себя постоянное запоминающее устройство (ROM) 108 и оперативное запоминающее устройство (RAM) 110. Базовая система 112 ввода-вывода (BIOS), содержащая в себе базовые процедуры, которые помогают передавать информацию между элементами в рамках вычислительной системы 100, сохранена в ROM 108.

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

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

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

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

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

Когда использована в сетевом окружении LAN, вычислительная система 100 подключена к локальной сети 148 посредством сетевого интерфейса или адаптера 152. Когда использована в сетевом окружении WAN, вычислительная система 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 включает флажок рядом с полем. Например, поле Profit (Прибыль) включает в себя флажок 460, размещенный рядом с заголовком поля. Когда поле в списке 453 добавляется на панель 454 макета, как описано ниже, флажок, ассоциированный с полем, устанавливается. Например, флажок 460 для поля Profit устанавливается, поскольку оно добавлено на панель 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 Store Sales (Продажи запасов). Когда пользователь наводит курсор на поле, пользователю представляется курсор 472 с перекрестием, который указывает то, что пользователь может щелкнуть и перетащить выбранное поле из панели 452 полей в одну из зон панели 454 макетов. После того как пользователь выбирает поле, курсор 472 с перекрестием возвращается к обычному курсору, и поле 466 Store Sales может быть перемещено в зону 457 значений, как показано. Поле аналогично может быть удалено из панели 454 макета посредством выбора и перетаскивания поля за пределы панели 454 макета.

В другом примере пользователь может устанавливать флажок, ассоциированный с конкретным полем в панели 452 полей, чтобы добавлять поле в панель 454 макета. Например, если пользователь выбирает флажок 460, ассоциированный с полем Profit, показанным в панели 450 задач по фиг.4, это поле может быть добавлено в зону 457 значений как поле 462 Profit. Как подробнее описано ниже, программа 200 может быть запрограммирована так, чтобы анализировать и помещать выбранное поле в соответствующую зону панели 454 макета. Пользователь аналогично может отменять выбор помеченного поля, чтобы удалить поле из панели 454 макета. Например, если пользователь отменяет выбор флажка 460, поле 462 Profit удаляется из панели 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, после того как поле, такое как поле Profit из панели 452 полей, добавляется в одну из зон панели 454 макета, флажок (к примеру, флажок 460), ассоциированный с этим полем в панели 452 макета, устанавливается, чтобы указать то, что поле является частью сводной таблицы 320 данных. Помимо этого, шрифт названия поля, ассоциированного с полем в панели 452 полей, задается полужирным. Аналогично, когда поле еще не сделано частью сводной таблицы 320 данных (или удалено из нее), флажок, ассоциированный с этим полем, остается неустановленным, и поле показывается обычным, а не полужирным шрифтом. Также могут быть использованы другие способы указания полей, которые являются частью сводной таблицы 320 данных.

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

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

Ссылаясь теперь на фиг.6, в одном примере, если пользователь щелкает и отпускает поле, такое как поле 481 Product Categories (Категории продуктов), находящееся на панели 454 макета, без перетаскивания поля, пользователю представляется меню 482, которое позволяет пользователю управлять размещением поля в панели 454 макета. Например, меню 482 позволяет пользователю изменять позицию поля в данной зоне (т.е. Move Up (Переместить вверх), Move Down (Переместить вниз), Move to Beginning (Переместить к началу), Move to End (Переместить к концу)), перемещать поле между зонами (т.е. Move to Row Labels (Переместить к названиям строк), Move to Values (Переместить к значениям), Move to Column Labels (Переместить к названиям столбцов), Move to Report Filter (Переместить к фильтру отчетов)), и удалять поле из панели 454 макета (т.е. Remove Field (Удалить поле)). Только те варианты, которые доступны для конкретного поля, показаны как активные варианты в меню 482 (к примеру, Move to Row Labels показано как неактивное в примере, поскольку поле 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-данных сгруппированы в иерархической структуре с множеством уровней. Например, поле Sales Fact 1991 (Фактические продажи 1991) включает в себя подполя Store Sales, Unit Sales (Продажи в штуках) и Store Cost (Стоимость запасов). Доступ к подполям можно осуществлять посредством щелчка индикатора раскрытия (знак плюс/минус +/-) 556, чтобы разворачивать и сворачивать подполя. OLAP-данные могут быть сгруппированы по изменениям с иерархиями и показателями.

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

Снова ссылаясь на фиг.4, панель 450 задач также включает в себя элемент 470 управления, который позволяет пользователю модифицировать макет панели 450 задач. Например, пользователь может выбрать элемент 470 управления для того, чтобы осуществлять доступ к меню 572 макета, как показано на фиг.12. Меню 572 макета используется для того, чтобы группировать панели 452 и 454. Например, если пользователь выбирает Fields and Layout stacked (Поля и макет каскадом) 573 в элементе 470 управления, панель 452 полей размещается над панелью 454 макета в панели 450 задач, чтобы сформировать одну интегрированную панель, как показано на фиг.4. Если пользователь выбирает Fields and Layout side by side (Поля и макет рядом) 574 в элементе 470 управления, панель 452 полей размещается рядом с панелью 454 макета в панели 450 задач, чтобы сформировать одну интегрированную панель, как показано на фиг.13. Если пользователь выбирает Fields only (Только поля) 575 в элементе 470 управления, панель 452 полей показывается отдельно, как показано на фиг.14. Если пользователь выбирает Layout only 2 by 2 (Только макет 2 на 2) 576 в элементе 470 управления, панель 454 макета показывается отдельно с зонами 455, 456, 457, 458, размещенными в квадрате 2x2, как показано на фиг.15. Если пользователь выбирает Layout only 1 by 4 (Только макет 1 на 4) 577 в элементе 470 управления, панель 454 макета показывает отдельно с зонами 455, 456, 457, 458, размещенными в квадрате 1x4, как показано на фиг.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 (Строка типа поля) MinValue (Минимальное значение) MaxValue (Максимальное значение)
Zip (Почтовый индекс)
Year (Год)
Quarter (Квартал) 1 4
Qtr (Квартал) 1 4
Month (Месяц) 1 12
Week (Неделя) 1 52
Day (День) 1 31
ID (Идентификатор)
Number (Номер)
Social Security Number (Номер социального страхования)
SSN
Phone Number (Номер телефона)
Date (Дата)

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

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

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

Текстовые строки для минимальных и максимальных значений, показанных в таблице 1, являются просто примерными, и могут быть использованы различные строки и значения. Например, текстовые строки и минимальные/максимальные значения могут быть модифицированы в зависимости от географического местоположения, в котором формируются данные (к примеру, значения номеров телефонов могут различаться в зависимости от географического местоположения). В других вариантах осуществления отличающиеся типы семантической проверки могут быть использованы. Например, количество цифр числовых элементов может быть проанализировано в дополнение или вместо проверки фактических значений числовых элементов. Например, если заголовок поля совпадает с текстовой строкой Zip (т.е. почтовые индексы), количество цифр для числовых элементов в поле может быть проанализировано, чтобы видеть то, попадают ли цифры между минимумом из пяти (к примеру, 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 выполняется определение в отношении того, является ли поле полем даты. В показанном примере это определение выполняется посредством текстовой строки, с которой совпадает заголовок. Например, если заголовок поля включает в себя текст Date и совпадает с текстовой строкой Date в таблице 1, то поле идентифицируется как поле даты. Если поле является полем даты, управление переходит к этапу 632, и поле добавляется в зону 456 столбцов. Если поле не является полем даты, управление переходит к этапу 613, и поле добавляется в зону 455 строк.

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

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

A. OLAP-иерархии/именованные OLAP-наборы

1. Иерархия добавляется в зону строк

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

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

B. OLAP-показатели/выражения OLAP KPI

1. Если, по меньшей мере, один показатель уже добавлен, показатель добавляется в ту же зону, что и уже добавленные показатели

2. Добавление второго показателя приводит к полю данных (см., например, поле E Values на фиг.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-данных для фильтрации. В показанном примере выбранным полем является поле Country.

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

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

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

Пользователь может выбирать элемент 720 управления, чтобы удалять всю фильтрацию для поля в раскрывающемся блоке 705 выбора. Элементы 725 и 730 управления дают возможность пользователю выбирать конкретные фильтры, чтобы применять к полю в раскрывающемся блоке 705 выбора. Например, если пользователь выбирает элемент 725 управления, пользователю предоставляется раскрывающееся меню 740, показанное на фиг.22. Меню 740 перечисляет множество фильтров, которые могут быть применены к выбранному полю. Фильтры, перечисленные в меню 740, - это фильтры, которые в типичном варианте применяются к полям названий. Эти фильтры включают в себя, без ограничений, Begins With (Начинается с), Does Not Begin With (Не начинается с), Ends With (Заканчивается на), Does Not End With (Не заканчивается на), Contains (Содержит) и Does Not Contain (Не содержит). Пользователь может выбирать фильтр из меню 740, чтобы применять этот фильтр к элементам в поле. Аналогично пользователь может выбирать элемент 730 управления, чтобы осуществлять доступ к раскрывающемуся меню 745, показанному на фиг.23. Меню 745 включает в себя фильтры, которые могут быть применены к полям значений. Эти фильтры включают в себя, без ограничения, Equals (Равно), Does Not Equal (Не равно), Greater Than (Больше), Greater Than Or Equal To (Больше или равно), Less Than (Меньше), Less Than Or Equal To (Меньше или равно), Between (Между) и Not Between (Не между).

Ссылаясь теперь на фиг.24, когда пользователь выбирает фильтр из одного из раскрывающихся меню 740, 745, пользователю представляется диалоговое окно 760 для того, чтобы сконструировать требуемый фильтр. В диалоговом окне 760 окно 772 выбора поля предварительно заполнено выбранным полем в раскрывающемся элементе 705 управления блока выбора, а окно 774 выбора фильтра предварительно заполнено фильтром, выбранным из раскрывающегося меню 740, 745. Пользователь может выбрать другое поле посредством выбора раскрывающегося меню в окне 772 выбора поля, чтобы, например, осуществлять доступ к полям, выбранным в данный момент в зоне 457 значений. Пользователь может выбрать другой фильтр посредством выбора раскрывающегося меню в окне 774 выбора фильтра, которое предоставляет список всех фильтров, доступных для данного типа данных. Окно 776 критериев позволяет пользователю помещать в него значение фильтрации. Например, если пользователь выбирает элемент Store Sales в области 707 фильтрации вручную, а затем выбирает фильтр Greater Than из раскрывающегося меню 745, пользователю представляется диалоговое окно 770. Пользователь может ввести значение 50000 в окно 776 критериев, чтобы задать фильтр так, чтобы отфильтровать все Store Sales, которые больше 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/31117801, зарегистрированной 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 показывает то, что фильтр вручную сначала применяется к полю Year для годов 2000, 2001, 2002, 2003 и 2004. Всплывающая подсказка 830 указывает то, что следующий фильтр применяется к полю Product Name, требующему текст "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. Компьютерная система по п.1, в которой панель макета запрограммирована так, чтобы обеспечивать возможность перемещения одного или более полей из множества полей из текущей зоны, выбранной из зоны строк, зоны столбцов, зоны значений и зоны фильтров, в зону, отличающуюся от текущей зоны из соответствующих зон, при этом панель макета запрограммирована так, чтобы обеспечивать возможность изменения положения одного или более из множества полей поля относительно других полей в отличающейся зоне.

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

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

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

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

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

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

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

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

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

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

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

16. Машиночитаемый носитель по п.13, дополнительно содержащий:
обновление сводной таблицы данных, когда поле перемещается.



 

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

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

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

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

Изобретение относится к области извлечения сводки содержимого множества изображений. .

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

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

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

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

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

Изобретение относится к семантической навигации по множеству документов

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

Изобретение относится к средствам изменения диаграмм

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

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

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

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

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

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