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