Двунаправленное обновление grid-таблицы и ассоциированных визуализаций
Иллюстрации
Показать всеИзобретение относится к области обработки и графического представления данных. Техническим результатом является упрощение присоединения нескольких типов визуализаций к сетке данных. Компьютерно-реализуемый способ просмотра данных содержит этапы, на которых: получают данные из базы данных; формируют сетку данных на основе этих данных; отправляют сетку данных из упомянутых данных для отображения; принимают запрос отобразить упомянутые данные в графическом формате; посылают страницу данных с сеткой данных и с заполнителем для графического формата; определяют графические форматы, доступные для отображения упомянутых данных; посылают список доступных графических форматов; принимают назначение доступного графического формата; принимают назначение данных, которые должны быть представлены в назначенном графическом формате; извлекают из базы данных данные, соответствующие назначенным данным; формируют графическое представление назначенных данных в назначенном графическом формате и посылают графическое представление для замещения заполнителя на странице данных. 3 н. и 14 з.п. ф-лы, 12 ил.
Реферат
Предшествующий уровень техники
Усовершенствования в вычислительных аппаратных средствах и программном обеспечении упрощают возможность сохранять и извлекать огромные объемы информации. Сети делают эту информацию доступной фактически из любого местоположения. Таким образом, пользователи имеют возможность искать и анализировать данные во многих различных форматах, к примеру в сетке данных (grid-таблице).
Тем не менее, во многих случаях возвращаемые данные имеют табличную форму, так что пользователь должен мысленно анализировать ключевые фрагменты информации о данных, такие как тенденции, высокие и низкие значения и т.д.
Пользователи, занимающиеся анализом данных, давно выяснили, что предоставление графического представления данных может оказывать существенную помощь в дополнительном понимании данных. Например, круговые диаграммы, столбчатые диаграммы и т.п. предоставляют информативную визуализацию в качестве характеристики данных. Такие представления могут быть обнаружены в приложениях электронных таблиц, которые дают возможность пользователю, например, выбирать наборы данных и затем представлять данные как диаграмму.
Системы управления взаимоотношениями с клиентами являются ценными репозиториями данных о клиентах. Тем не менее, хотя решения по формированию отчетов, к примеру, предусмотренные в службах SQL Server, дают возможность пользователю, занимающемуся управлением взаимоотношениями с клиентами, извлекать определенные достоверные сведения, существует несколько недостатков. Например, некоторые из недостатков включают в себя отсутствие тесной интеграции с grid-таблицей, отсутствие интерактивности, а также обязательность установки еще одного программного модуля в системе. Кроме того, без помощи полезных визуализаций для пользователя трудно получать достоверные сведения, которые в противном случае могут быть обнаружены из этих данных.
Сущность изобретения
Далее представлено упрощенное изложение сущности изобретения для того, чтобы предоставлять базовое понимание некоторых новых вариантов осуществления, описанных в данном документе. Это изложение сущности изобретения не является их всесторонним обзором, и оно не имеет намерение идентифицировать ключевые/важнейшие элементы или разграничивать их объем. Его единственная цель - представлять некоторые понятия в упрощенной форме в качестве вступления в более подробное описание, которое представлено далее.
Раскрытая архитектура упрощает присоединение нескольких типов визуализации к данным (например, в grid-таблице). Инфраструктура дает возможность ассоциирования каждого представления данных с набором визуализаций. Один пример визуализации ассоциируется с диаграммами, модулем построения диаграмм и другими аспектами приложений визуализаций.
Признак визуализаций дает возможность рендеринга визуализации на основе данных в grid-таблице. Эти визуализации подготавливаются посредством рендеринга наряду с grid-таблицей (в отдельной области представления) так, что пользователю не требуется переключать контекст, чтобы выполнять анализ. Доступные визуализации включают в себя диаграммы, которые показывают агрегированные и/или неагрегированные данные. В сценарии на основе фермы серверов предоставляется все пользовательское взаимодействие, к примеру, детализации. Детализации на основе фермы серверов получаются с использованием только одностраничного "запроса-ответа" или полного обхода на сервере с помощью MIME-формата (например, message/rfc822), используемого посредством MHTML (язык разметки гипертекста по стандарту MIME). Кодовая база для всех признаков (включая детализации) является согласованной через многосерверное развертывание, односерверные развертывания и развертывание, которое применимо через Интернет. Другими словами, архитектура включает в себя приложение, которое может выполняться в односерверном режиме, многосерверном режиме, ориентированном на Интернет режиме, а также применима в рамках клиента-браузера или автономного клиента, такого как надстройка (например, управление взаимоотношениями с клиентами) к приложению PIM (персональный информационный менеджер) (например, Outlook™ от Microsoft Corporation).
Дополнительно, визуализации могут автоматически обновляться, когда фильтры применяются на grid-таблице. Наоборот, когда детализация выполняется для визуализации, grid-таблица автоматически обновляется. Этот признак двунаправленного обновления grid-таблицы и ассоциированной визуализации предоставляет уникальный и информативный рендеринг пользователю.
Для осуществления вышеуказанных и связанных с ними целей определенные иллюстративные аспекты описаны в данном документе в связи с последующим описанием и прилагаемыми чертежами. Эти аспекты соответствуют различным способам, которыми принципы, раскрытые в данном документе, могут осуществляться на практике, и все аспекты и их эквиваленты имеют намерение находиться в рамках объема заявленного изобретения. Другие преимущества и новые признаки должны становиться очевидными из следующего подробного описания при рассмотрении вместе с чертежами.
Краткое описание чертежей
Фиг.1 иллюстрирует машинореализованную систему просмотра данных в соответствии с раскрытой архитектурой.
Фиг.2 иллюстрирует альтернативную систему просмотра данных.
Фиг.3 иллюстрирует примерный пользовательский интерфейс, иллюстрирующий визуализацию, в которой область диаграммы представляется в комбинации с grid-таблицей.
Фиг.4 иллюстрирует примерную схему состояний и присоединенную визуализацию.
Фиг.5 иллюстрирует логическую блок-схему последовательности операций способа для рендеринга визуализаций для клиента.
Фиг.6 иллюстрирует общую блок-схему последовательности операций способа.
Фиг.7 иллюстрирует пример подробной блок-схемы последовательности операций способа.
Фиг.8 иллюстрирует способ просмотра данных.
Фиг.9 иллюстрирует способ обновления визуализации на основе фильтрации данных grid-таблицы.
Фиг.10 иллюстрирует способ обновления данных grid-таблицы на базе интерактивного изменения визуализации.
Фиг.11 иллюстрирует блок-схему вычислительной системы, выполненной с возможностью осуществлять комбинации grid-таблицы и визуализации в соответствии с раскрытой архитектурой.
Фиг.12 иллюстрирует принципиальную блок-схему вычислительного окружения для представления grid-таблицы/визуализации на базе web-технологий.
Подробное описание изобретения
Раскрытая архитектура включает в себя признак визуализаций, который дает возможность рендеринга визуализаций (например, диаграмм) рядом с grid-таблицей. Различные поставщики этих визуализаций могут добавляться подключаемым способом. Например, поставщик визуализации может быть модулем построения диаграмм.Net, который выполняет рендеринг диаграмм из агрегированных и неагрегированных данных из любой grid-таблицы (например, окружение для управления взаимоотношениями с клиентами (CRM)). Поставщик является приложением, которое может использоваться для того, чтобы выполнять рендеринг визуализации либо для клиента-браузера, либо для клиента надстройки для персонального информационного менеджера (PIM) (например, Outlook™, Microsoft Corporation), который может обрабатывать определенные представления. Другими словами, в CRM-контексте, PIM-клиент является не только PIM, но и целым CRM-приложением, доступным в форме PIM-надстройки. Таким образом, визуализации в рамках предназначены PIM для CRM-надстройки PIM. Визуализации доступны в PIM оффлайн, а также в нормальных режимах.
В контексте серверного приложения, такого как приложение по управлению взаимоотношениями с клиентами (CRM), grid-таблицы могут показываться в окне браузера. Grid-таблицы также могут показываться, например, в CRM-клиенте персонального информационного менеджера (PIM). CRM поддерживает коллективную аренду, когда она развертывается в онлайновом (например, по Интернету) окружении. Когда развернуто в серверном окружении в Интернете, например, приложение может выполняться в многосерверном окружении.
Визуализации, такие как диаграммы, доступные с помощью представлений grid-таблицы, предоставляют "адаптированный" пользовательский интерфейс (UI), чтобы давать возможность пользователям осуществлять доступ и использовать диаграммы. Каждая grid-таблица предоставляет представление данных в CRM. Каждое представление в основном является запросом, который извлекает данные из CRM-базы данных и показывает их в grid-таблице. Визуализация подготавливается посредством рендеринга на основе набора данных, возвращаемого посредством запроса. Даже при том, что данные в grid-таблице показываются на нескольких страницах, визуализация осуществляется из всего набора данных (всех страниц данных). Это дает возможность пользователю получать достоверные сведения из просмотра данных, которые в противном случае могут быть не видны на традиционных страницах grid-таблицы. Это решение является новым по сравнению с другими реализациями, которые извлекают достоверные сведения на основе инструментальных панелей и отчетов, например, которые не предоставляют быстро внутриконтекстные визуализации рядом с данными. Внутриконтекстные визуализации должны давать возможность пользователям извлекать достоверные сведения оттуда, где выполняется фактическое задание.
Например, раскрытая архитектура дает возможность пользователю быстро извлекать достоверные сведения из визуализаций, которые иллюстрируют агрегированные и неагрегированные сводки данных на grid-таблице, и дает возможность визуализациям отражать действия пользователя на grid-таблице и наоборот, т.е. обновление данных grid-таблицы с использованием фильтров обновляет визуализации, а детализация по визуализации (диаграмма) обновляет данные grid-таблицы и предоставляет возможность использования в сценарии на основе фермы серверов. Дополнительно, допускается несколько поставщиков визуализации.
В одном варианте осуществления и как представлено в схеме состояний по фиг.4, визуализации могут обновляться, когда пользователь вручную выбирает кнопку Update Visualization (Обновление визуализации) для визуализации. Далее приводится последовательность действий, которые могут осуществляться в ответ на такой выбор обновления. Пользователь просматривает визуализацию и grid-таблицу. Пользователь применяет фильтр к столбцу. Визуализация теперь становится неактуальной и показывает кнопку Update Visualization (например, изображение кнопки затеняется и отображается в фоне). Пользователь применяет дополнительные фильтры, чтобы сужать набор данных. Пользователь затем щелкает кнопку Update Visualization, чтобы видеть обновленную визуализацию.
Преимущество этого подхода состоит в том, что, поскольку визуализация автоматически не обновляется, визуализация не должна обновляться каждый раз, когда фильтр применяется на grid-таблице. Обновление визуализации при применении каждого фильтра приводит к значительным затратам ресурсов, поскольку визуализация должна обновляться при применении каждого фильтра. Кроме того, автоматическое обновление представляет проблему удобства и простоты использования для пользователя, поскольку визуализация для предыдущего набора фильтров должна проводиться в то время, как пользователь применяет новый фильтр. Такой режим может приводить в замешательство пользователя; следовательно, обновление вручную предоставляет более практически осуществимый подход. Тем не менее, следует понимать, что это не должно рассматриваться как ограничение на то, что раскрытая архитектура может использовать автоматическое обновление при желании.
При использовании в данном документе, диаграмма иллюстрирует агрегированные и неагрегированные данные столбцов в представлении. Диаграмма является конкретным видом визуализации. Агрегирующие функции могут включать в себя, например, сумму, счетчик, минимум, максимум и среднее. Другие агрегирующие функции могут добавляться требуемым образом. Визуализации также могут подготавливаться посредством рендеринга в оффлайновом режиме. Оффлайновый режим означает возможность PIM-надстройки позволять пользователю работать с данными/grid-таблицей/визуализациями, даже если пользователь не подключен к серверу. Надстройка дает возможность пользователю использовать идентичную функциональность, которая доступна в клиенте-браузере в рамках инфраструктуры PIM.
Далее приводится ссылка на чертежи, на которых аналогичные ссылки с номерами используются для того, чтобы ссылаться на аналогичные элементы по всему описанию. В последующем описании, в целях пояснения, изложено множество характерных подробностей, чтобы обеспечивать его исчерпывающее понимание. Тем не менее, может быть очевидным, что новые варианты осуществления могут применяться на практике без этих конкретных деталей. В других случаях, хорошо известные структуры и устройства показаны в виде структурной схемы для того, чтобы упрощать их описание. Намерение состоит в том, чтобы охватывать все модификации, эквиваленты и варианты попадающие в рамки сущности и объема заявленного изобретения.
Фиг.1 иллюстрирует машинореализованную систему 100 просмотра данных в соответствии с раскрытой архитектурой. Система 100 включает в себя компонент 102 данных для формирования одной или более grid-таблиц 104 на основе данных, компонент 106 визуализации для представления одной или более визуализаций 108 с данными на основе grid-таблиц(ы) 104 и компонент 110 представления для представления визуализации(й) 108 в комбинации с данными grid-таблицы. Компонент 106 визуализации может осуществлять доступ к источнику 112 визуализаций. Источником 112 могут быть сторонние производители, которые предоставляют визуализации, например, в качестве вспомогательного кода или "подключаемых модулей".
Другие аспекты, описанные в данном документе, включают в себя агрегированные данные и/или неагрегированные данные для рендеринга grid-таблицы 104, визуализация 108 может автоматически обновляться, когда фильтр применяется к данным grid-таблицы, и grid-таблица может автоматически обновляться в ответ на интерактивную детализацию по визуализации. Дополнительно, визуализации 108 подготавливаются посредством рендеринга непосредственно рядом с grid-таблицей в серверном приложении, и визуализация может формироваться с использованием изображения и карты изображения, которые оба принимаются в ответ на один запрос на детализацию. "Закрепленный" режим для визуализаций также может быть реализован так, что даже если пользователь уходит далеко от grid-таблицы и возвращается, пользователь может продолжать видеть ту же визуализацию.
Следует отметить, что хотя иллюстрируется использование двунаправленных стрелок между субъектами системы 100, это не обязательное требование. Например, источник визуализаций 112 не обязательно должен использовать информацию из компонента 106 визуализации.
Фиг.2 иллюстрирует альтернативную систему 200 просмотра данных. Система 200 включает в себя компонент 102 данных для формирования одной или более grid-таблиц 104 на основе данных, компонент 106 визуализации для представления одной или более визуализаций 108 с данными на основе grid-таблиц(ы) 104 и компонент 110 представления для представления визуализации(й) 108 в комбинации с grid-таблицей(ами) 104 или данными grid-таблицы при осуществлении доступа и предоставлении посредством источника 112 визуализаций.
В этом варианте осуществления, система 200 дополнительно иллюстрирует компонент 202 построения диаграмм, который предоставляет логику, чтобы использовать библиотеку для построения диаграмм (например, на основе.Net), чтобы отображать данные. Компонент 202 построения диаграмм также включает в себя логику, чтобы передавать изображение с диаграммой потоком в клиент, детализации по конкретным диаграммам, локализацию, интернационализацию, форматирование данных, конфигурирование диаграммы с использованием шаблона XML (например, на основе.Net) и применение последовательных точек данных к диаграммам. Диаграммы, сформированные посредством компонента 202 построения диаграмм, затем показываются в области визуализации посредством компонента 110 представления.
В поддержку этого, компонент 110 представления дополнительно включает в себя компонент 204 составных элементов управления, который задает интерфейс для всех элементов управления web-UI так, что компонент 204 элементов управления может быть включен на страницы. Следует отметить, что раскрытая архитектура находит применение в бизнес-приложениях, к примеру, в управлении взаимоотношениями с клиентами (CRM) для отображения и визуализации информации о клиентах. Соответственно, компонент 204 составных элементов управления может включать в себя элемент управления CRM-grid-таблицей и элемент управления областью визуализации в качестве дочерних элементов управления. Элемент управления CRM-grid-таблицей может быть повторно скомплектован для включения на страницы субъектов. Элемент управления областью визуализации может быть пользовательским элементом управления ASP.Net и контейнером для визуализаций.
Компонент 204 составных элементов управления может использоваться в качестве автономного элемента управления на страницах субъектов. Кроме того, компонент 204 составных элементов управления дает возможность пользователю выбирать относительные размеры и макеты для grid-таблицы и области. Область визуализации может скрываться и разворачиваться, чтобы занимать все пространство, где grid-таблица представлена, и может показываться в таких местоположениях относительно grid-таблицы, как, к примеру, справа или выше grid-таблицы. Следовательно, составной элемент управления может быть помещен во всех местах на странице, куда может быть помещен элемент управления grid-таблицей. Составной элемент управления предоставляет возможность показа области визуализации с grid-таблицей.
Система 200 дополнительно может включать в себя модуль 206 инфраструктуры построения диаграмм в приложении, который является набором клиентских процедур 208 и серверных процедур 210, которые предоставляют возможность функционировать компоненту 202 построения диаграмм и компоненту 204 составных элементов управления. Инфраструктура включает в себя методы, чтобы составлять запрос на агрегированную выборку, осуществлять выборку данных, предоставлять детализации посредством расширения запросов, преобразовывать данные в формат (например,.Net), который может быть использован, вычислять пикселный размер диаграмм на основе полезной площади и т.д. При использовании запроса на выборку запрос может выполняться с использованием вызова на основе web-служб, который возвращает данные из базы данных согласно запрашиванию, указываемому в запросе. Модуль 206 также может включать в себя логику, чтобы постепенно затенять существующую диаграмму, когда существующая диаграмма становится неактуальной. Модуль 206 также может включать в себя, например, действия меню (к примеру, модульную ленту), чтобы управлять визуализациями и администрированием визуализациями (например, удалять/редактировать/задавать в качестве значения по умолчанию/выполнять настройки).
Компонент 204 составных элементов управления может упрощать обработку grid-таблицы и визуализации относительно друг друга. Компонент построения диаграмм служит для потоковой передачи изображения с диаграммой в клиент, например, в ответ на процесс детализации.
Другими словами, система 200 просмотра данных может включать в себя компонент 102 данных для формирования grid-таблицы данных, компонент 106 визуализации для представления одной или более визуализаций с данными grid-таблицы 104, причем одна или более визуализаций подготавливают посредством рендеринга агрегированные и неагрегированные сводки данных на grid-таблице 104, и компонент 110 представления для представления одной или более визуализаций непосредственно рядом с grid-таблицей 104 в серверном приложении.
Компонент 106 визуализации компонует ответ с несколькими типами содержимого, который встраивает данные изображений и HTML-документ в один ответ. Визуализация автоматически обновляется, как описано выше, когда фильтр применяется к данным grid-таблицы, и grid-таблица автоматически обновляется в ответ на интерактивную детализацию по визуализации. Система дополнительно может содержать компонент 204 составных элементов управления для обработки grid-таблицы и визуализации относительно друг друга и компонент 202 построения диаграмм для потоковой передачи изображения с диаграммой в ответ на процесс детализации.
Раскрытая архитектура также может использоваться для того, чтобы предоставлять следующие сценарии. Одно из значительных преимуществ двунаправленной связи может быть реализовано посредством предоставления возможности анализа "что если". Grid-таблица может иметь внутриконтекстные доступные для редактирования поля, которые могут быть обработаны, чтобы определять (просматривать) эффект для визуализации.
Дополнительно, область визуализации может быть использована в качестве электронной доски анализа, на которую пользователь может помещать любой столбец из grid-таблицы и динамически просматривать ассоциированную визуализацию. Это обеспечивает гибкость для бизнес-пользователя и аналитику "на ходу".
Кроме того, извлечение достоверных сведений из данных, поступающих из разнообразных источников, через одно место, чтобы получать полную картину, является ценным преимуществом. Например, фирмы работают с различными интегрированными системами и имеют данные, протекающие от одной системы в другой. Наличие возможности извлекать данные из других источников данных может давать более широкие аналитические возможности.
Другой полезный сценарий рассматривает формирование отчетов и совместную работу. Может получаться совместное использование подробной, а также объединенной информации посредством экспорта данных в электронную таблицу или посредством отправления данных по электронной почте или к принтеру.
Анализ по субъектам предоставляет всесторонний способ, чтобы анализировать данные с точек зрения и параметров, охватывающих несколько соотнесенных субъектов. Глубокие достоверные сведения могут извлекаться из добывания данных из вложенных связанных субъектов, например, продуктов, сгруппированных по региону. Учетные записи могут выбираться, и могут возвращаться ассоциированные заказы. Заказы, например, приводят к продуктам и географическому распределению продуктов с точки зрения дохода на карте.
Дополнительно, область визуализации может выступать в качестве области предварительного просмотра/предыстории для выбранной записи в grid-таблице. Это дает действенный способ для торгового представителя, например, быстро получать подробности по клиенту, с которым говорит представитель. Область предварительного просмотра также может показывать комментарии или прикрепленные примечания для этой записи.
Следует отметить, что хотя описывается в некоторых областях описания в контексте реализации CRM, следует принимать во внимание, что это не должно ограничиваться таким образом.
Фиг.3 иллюстрирует примерный пользовательский интерфейс 300, иллюстрирующий визуализацию 302, в которой область 304 диаграммы представляется в комбинации с grid-таблицей 306. Grid-таблица 306 перечисляет данные, и область 304 диаграммы представляет воронкообразную диаграмму 308 для канала продаж для быстрой и легкой визуализации данных, ассоциированных со всеми строками, показанными на страницах grid-таблицы 306. Визуализация 302 показывает агрегирование возможностей по стадии, на которой находятся возможности. Например, визуализация 302 показывает, что для всех возможностей на стадии "открытый", сумма оцененного дохода составляет 415000$. Кроме того, это могут быть агрегированные или неагрегированные данные. Также частью рассмотрения является то, что визуализация может активироваться на основе набора строк, которые выбраны на grid-таблице. Например, визуализация карты может выделять яркостью область карты, в которой находится возможность.
Другой или идентичный тип диаграммы (например, воронкообразная, столбчатая, точечная, линейная, гистограмма, круговая и т.д.) может быть автоматически сформирован для всех позиций в grid-таблице 306. Например, столбчатая диаграмма может быть автоматически сформирована и представлена в комбинации с этой выбранной позицией.
Визуализация 302 может быть обработана таким образом, что размер grid-таблицы 306 может быть задан с тем, чтобы использовать всю площадь визуализации, область 304 диаграммы может быть изменена, чтобы использовать всю площадь визуализации или любое варьирование в промежутке.
Детализации представляются как комбинация изображения (фактическая или исходная диаграмма) и карты изображения (детализируемые области на диаграмме). Детализации активируются в изображении с диаграммой посредством формирования клиентских карт изображений. Чтобы создавать детализируемую визуализацию, серверные элементы управления на основе изображений (например, диаграммы.Net) типично формируют изображение во время запроса на страницу и подготавливают посредством рендеринга изображение как тег <img> в HTML, наряду с картой изображения. Тем не менее, клиентские браузеры типично должны выдавать дополнительный запрос, чтобы загружать фактическое изображение, на которое ссылаются в теге. Следовательно, изображение, используемое для формирования карты изображения, должно быть согласовано с изображением, отправляемым во втором запросе. В окружении на основе фермы серверов, тем не менее, может быть не всегда возможным обеспечивать это, поскольку изображение, сохраненное в запоминающем устройстве, не может быть совместно использовано несколькими процессами. Кроме того, вследствие соображений безопасности изображение не сохраняется в системах баз данных или совместно используемых файловых системах.
Решение этой проблемы использует ответ с несколькими типами содержимого, который встраивает и изображение и HTML в один ответ, тем самым исключая несколько запросов. Чтобы достигать этого, формат MHTML (MIME HTML) применяется для отправки HTML-документа (содержащего карту изображения) и изображения как одного составного/связанного документа в одном ответе на клиентский запрос, что также сокращает дополнительные затраты на сервере, время на осуществление связи и потребление полосы пропускания линии связи. Это решение обеспечивает корректный режим детализации в сценарии на основе фермы серверов.
Фиг.4 иллюстрирует примерную схему 400 состояний и присоединенную визуализацию. Первое состояние 402 возникает, когда пользовательский интерфейс показывает grid-таблицу без визуализации, другими словами, только grid-таблица используется пользователем. Второе состояние 404 возникает, когда пользовательский интерфейс показывает grid-таблицу с переходом к визуализации, другими словами, визуализация подготавливается посредством рендеринга для данных на grid-таблице. Третье состояние 406 возникает, когда пользовательский интерфейс показывает grid-таблицу с переходом к визуализации, и визуализация является согласованной с данными grid-таблицы. Другими словами, визуализация подготовлена посредством рендеринга в комбинации с grid-таблицей и является согласованной с данными grid-таблицы. Четвертое состояние 408 возникает, когда grid-таблица представлена, но визуализация является несогласованной с данными grid-таблицы. Другими словами, визуализация стала недостоверной после того, как один или более фильтров применены на grid-таблице. Пятое состояние 410 возникает, когда на grid-таблице представлена детализация визуализации, т.е. детализация выполнена по визуализации. Шестое состояние 412 возникает, когда grid-таблица представлена, но детализация визуализации является несогласованной, поскольку один или более фильтров применены после детализации.
Схема 400 состояний также показывает, что пользовательский интерфейс предоставляет кнопку для переключения между областью диаграммы для пользовательского взаимодействия и grid-таблицей для пользовательского взаимодействия. Проиллюстрированы другие изменения состояния, такие как, например, обновление несогласованного состояния, обновление визуализации.
Фиг.5 иллюстрирует логическую блок-схему 500 последовательности операций способа для рендеринга визуализаций для клиента 502. Первый клиент 502 может быть браузером, например, или другим клиентом, который может подготавливать посредством рендеринга информацию. Второй клиент 504 может быть клиентом создания сценариев. Приложение 506 визуализации может быть инфраструктурой web-приложений, такой как Asp.net, которая использует aspx-файлы, например, и код для страниц и методы web-служб на стороне сервера. Платформа 508 визуализации может быть различными API и вызовами, которые поддерживают общие операции для визуализаций, к примеру, CRUD (создание, извлечение, обновление, удаление), импорт, экспорт и т.д. Модуль 510 построения диаграмм обращается к коду на стороне платформы, а также на стороне приложения, конкретному для обработки диаграмм (например, выборка и предоставление данных в диаграмму, проверка достоверности XML визуализаций и т.д.).
Первоначально, на этапе 1), первый клиент 502 выполняет запрос в приложение 506 на предмет страницы с диаграммой. На этапе 2), приложение 506 запрашивает все ассоциированные визуализации для этого представления из платформы 508. Платформа 508 получает и отвечает в приложение 506 с ассоциированными визуализациями. На этапе 4), приложение 506 отправляет первому клиенту 502 страницу с заполнителем для диаграммы и всех ассоциированных визуализаций.
На этапе 5), второй клиент 504 включает в себя модуль, который создает сценарий для рендеринга диаграммы в модуль 510 построения диаграмм. На этапе 5.1), модуль 510 построения диаграмм отправляет запрос в платформу 508, чтобы проверять достоверность задания визуализации. На этапе 5.2), платформа 508 отвечает результатами задания проверки достоверности в модуль 510 построения диаграмм, например, "достоверность подтверждена". На этапе 6), модуль 510 построения диаграмм запрашивает данные с использованием gridXML. На этапе 7), платформа 508 возвращает агрегированный набор данных в модуль 510 построения диаграмм. На этапе 8), модуль построения диаграмм возвращает HTML диаграммы во второй клиент 504.
Фиг.6 иллюстрирует общую блок-схему 600 последовательности операций способа. При использовании в данном документе, ViewId идентифицирует конкретный запрос к базе данных, который может выполняться для того, чтобы осуществлять выборку данных для показа в grid-таблице. Запрос включает в себя имя субъекта и столбцы субъекта, чтобы осуществлять выборку, наряду с условиями для фильтрации данных. Идентификатор визуализации (vizID) идентифицирует конкретную визуализацию. Визуализация является способом размещать данные, которые поступают в результате применения условий фильтрации представления. Визуализация задает из каких столбцов осуществлять выборку, какую агрегирующую функцию применять (применимо только для агрегатов), и как представлять данные визуально (например, показывать столбчатую диаграмму).
В одной реализации, выборка данных осуществляется один раз для данной страницы на grid-таблице и один раз для рисования визуализации, в зависимости от режима (например, "только grid-таблица", "grid-таблица+виз." или "только виз."), в котором пользователь просматривает составной элемент управления. Следует отметить, что как представление, так и визуализация управляют идентичным набором строк данных, причем отличие состоит в том, что представление возвращает поднабор из целого набора строк, тогда как визуализация возвращает обработанную версию (например, сумму) всех строк данных.
На этапе 1), идентификатор представления на grid-таблице (viewID), параметры фильтра и vizID передаются из web-клиента 502 в приложение 506 визуализации. На этапе 2), vizID передается из приложения 506 в платформу 508. На этапе 3), платформа 508 выполняет запрос к базе 602 данных. На этапе 4), база 602 данных возвращает результаты в платформу 508. На этапе 5), приложение 506 отправляет данные и информацию представления в форме XML-файлов в платформу 508. На этапе 6), приложение 506 также отправляет данные и информацию представления в форме XML-файлов в модуль 604 визуализации. На этапе 7), модуль 604 отправляет запрос проверки достоверности в платформу 508, осуществляет выборку XML, и платформа 508 отправляет результаты обратно в модуль 604, как указано на этапе 8). На этапе 9), модуль 604 отправляет HTML-информацию в приложение 506. На этапе 10), визуализация отправляется из приложения 506 в web-клиент 502.
Как указано выше, раскрытая архитектура предоставляет признак двунаправленного обновления grid-таблицы и ассоциированного рендеринга визуализации пользователю. Другими словами, визуализации могут автоматически обновляться, когда фильтры применяются на grid-таблице, и когда детализация выполняется для визуализации, grid-таблица автоматически обновляется.
В упрощенном примере, рассмотрим, что пользователь просматривает диаграмму, показывающую сумму возможностей подразделения по торговым представителям. Пользователь хочет вникать в подробности конкретного торгового представителя Rep A, который имеет самую большую долю оцененного дохода. Посредством выбора диаграммы пользователю представляется меню для выбора измерения (например, состояния), по которому следует выполнять детализацию, и типа диаграммы (например, круговая диаграмма). Система подготавливает посредством рендеринга возможности Rep A посредством состояния и grid-таблицы около обновлений визуализации, чтобы показывать возможности Rep A. На основе новой визуализации, пользователь затем имеет возможность визуально логически выводить, что Rep A имеет самые большие возможности в состоянии B.
Диаграмма детализации может вычисляться следующим образом. Записи для показа детализированной диаграммы получаются посредством фильтрации представления на основе Rep A в вышеприведенном описании. Когда пользователь щелкает изображение/диаграмму для области изображения, которая соответствует Rep A, система автоматически понимает, что критерии фильтрации Rep A должны применяться к grid-таблице. Если некоторые фильтры уже представлены на grid-таблице, условие фильтрации обновляется так, что условие ограничивает grid-таблицу записями на основе существующего фильтра, а также Rep A. Пользователь может добавлять/удалять дополнительные условия фильтрации по мере необходимости, и визуализация продолжает обновляться (с использованием кнопки обновления визуализации). Условия фильтрации могут обновляться/модифицироваться конечными пользователями.
Категория для диаграммы детализации получается посредством выбора, который пользователь делает посредством переключателя "представление по" для детализации. Измеряющая и агрегирующая функция, используемая для детализации, является идентичной родительской диаграмме (визуализация, присоединенная к представлению). Тип диаграммы получается из выбора, который делает пользователь (например, переключатель для выбора типа диаграммы).
Фиг.7 иллюстрирует пример подробной блок-схемы 700 последовательности операций способа, которая использует детализацию. Детализация может выполняться для любой диаграммы, которая присоединена к grid-таблице. Когда пользователь щелкает детализируемую область диаграммы, пользователю может представляться всплывающее меню, которое содержит два переключателя, например, переключатель "представление по" и переключатель для выбора типа диаграммы. Детализация выполняется после того, как пользователь делает выбор и щелкает кнопку OK. Значениями, предоставленными посредством этих двух переключателей, являются параметры детализации. Опциями в переключателе "представление по" являются другие атрибуты идентичных/связанных субъектов, которые могут отображаться на grid-таблице, а опциями в раскрывающемся списке для выбора типа диаграммы являются общие типы диаграмм, такие, например, как круговая, гистограмма, столбчатая, воронкообразная и линейная. Другими словами, детализация осуществляется, когда пользователь щелкает конкретный компонент (например, панель на столбчатой диаграмме, сектор на круговой диаграмме и т.д.) диа