ДОСТУП К ДАННЫМ И ОРГАНИЗАЦИЯ ДАННЫХ, ОСУЩЕСТВЛЯЕМЫЕ ПОСРЕДСТВОМ ДИАГРАММ
DATA ACCESS AND DATA ORGANISATION THROUGH DIAGRAMS

Область техники, к которой относится изобретение
Описываемая технология относится, в общем, к осуществлению доступа и манипулирования данными посредством диаграмм и других графических представлений.
Уровень техники
Современные инструментальные средства управления данными предоставляют пользователю большое разнообразие технологий хранения данных и доступа к данным, которые (технологии) позволяют пользователям вводить данные, изменять их и осуществлять к ним доступ. Более совершенные технологии управления данными, такие как сводные таблицы, индивидуально конфигурируемые отчеты и другие технологии, такие как Lotus Symphony™, предоставляют пользователям гибкий способ агрегировать, разбивать и анализировать наборы данных. Вообще, сводная таблица представляет собой таблицу данных, которая содержит данные, выведенные из другой таблицы (например, путем их агрегации или суммирования). Пример сводной таблицы показан на Фиг.1. В дополнение к сводной таблице (104) на Фиг.1 также показан пример перечня (102) необработанных данных (например, данных в таблице Excel), использованных для генерирования сводной таблицы (104). Перечень (102) необработанных данных содержит информацию, относящуюся к продажам типов бакалейно-гастрономических товаров (например, молочных продуктов, напитков, сельскохозяйственных продуктов (имеются в виду овощи, зелень и т.д.) и мясных продуктов). Согласно перечню необработанных данных продажи имеют место в одном из четырех регионов (например, север, юг, восток и запад) в течение некоторого периода времени. Перечень (102) необработанных данных также приводит информацию по продаже бакалейно-гастрономических товаров, выраженную в единицах продукции. После преобразования в сводную таблицу (104) информация из перечня (102) необработанных данных организована в соответствии с регионом и типом бакалейно-гастрономического товара. Сводная таблица (104) приводит итоговые данные по каждому типу бакалейно-гастрономических товаров и по каждому региону. Кроме того, в сводной таблице (104) отображены общие итоги по всем регионам и по всем типам бакалейно-гастрономических товаров.
Как проиллюстрировано на Фиг.1, сводная таблица может быть полезным инструментом для представления данных. Индивидуально конфигурируемые таблицы отчетов могут предоставлять аналогичные преимущества. Некоторые инструментальные средства работы с данными даже могут на основе выходных данных, предоставленных ранее сгенерированной сводной таблицей или отчетом, обеспечить отображение необработанных и/или подвергшихся манипуляции данных в графическом виде или в виде диаграмм. Однако сводные таблицы, фильтры отчетов и аналогичные им инструментальные средства зачастую являются сложными в использовании. Например, пользователям приходится преодолевать несколько этапов при задании параметров сводной таблицы или отчета, особенно, в случаях, касающихся больших наборов данных. Помимо этого, у пользователей могут возникнуть трудности при концептуализации содержимого и организации данных, подлежащих представлению в сводной таблице или отчете, что делает задание параметров еще более сложным занятием. Кроме того, из-за ограничений, присущих современному программному обеспечению, могут возникнуть сложности при осуществлении визуально привлекательного вывода информации.
Краткое описание чертежей
Фиг.1 - табличная диаграмма, показывающая пример данных, использованных в аспектах средства диаграмм данных в одном варианте осуществления данного изобретения.
Фиг.2 - приводимая в качестве образца диаграмма данных, сгенерированная в аспектах средства диаграмм данных в одном варианте осуществления данного изобретения.
Фиг.3 - изображение диаграммы данных, показанной на Фиг.2, после того, как она была модифицирована по отношению к своей первоначальной форме с использованием аспектов пользовательского интерфейса средства диаграмм данных в одном варианте осуществления данного изобретения.
Фиг.4 - изображение аспектов диаграммы данных, показанной на Фиг.3, после применения к ней функции анализа измерения.
Фиг.5 - изображение коллекции структур данных, лежащих в основе диаграммы, которые могут быть использованы для реализации средства диаграмм данных в одном варианте осуществления данного изобретения.
Фиг.6 - блок-схема алгоритма, показывающая пример процедуры для создания диаграммы данных, основанной на многомерных данных, в одном варианте осуществления данного изобретения.
Фиг.7 - блок-схема алгоритма, показывающая пример процедуры анализа измерения, выполняемой над текущей диаграммой данных в одном варианте осуществления данного изобретения.
Фиг.8 - блок-схема, показывающая пример подходящей среды, в которой могут быть реализованы аспекты средства диаграмм данных.
Раскрытие изобретения
Согласно некоторым вариантам осуществления данного изобретения программное средство диаграмм данных предоставляет индивидуально конфигурируемые диаграммы данных. Данное средство может принимать ссылку на набор многомерных данных, на котором должна основываться первоначальная диаграмма данных. Основываясь, по меньшей мере, частично, на этой информации, данное средство может сгенерировать диаграмму данных, предоставляющую графическое представление узла или узлов, соответствующих данным из этого набора многомерных данных. Данное средство может отобразить эту диаграмму данных, которая может быть модифицирована пользователем. Например, данное средство может предоставить инструментальные средства, которые позволяют пользователю изменять порядок узлов диаграммы данных, изменять форму узлов диаграммы данных, изменять цвет или формат узлов диаграммы данных и т.д. Данное средство может также предоставлять функциональные возможности, которые позволяют пользователю осуществлять детализацию аспектов диаграммы данных, основанный на некоторой схеме разбиения.
Осуществление изобретения
Далее изобретение будет описано в отношении различных вариантов своего осуществления. Нижеследующее описание приводит конкретные подробности, необходимые для полного понимания этих вариантов осуществления изобретения и делающие возможным их описание. Однако специалист в данной области техники должен понимать, что изобретение может быть осуществлено на практике и без этих подробностей. В других случаях, для того, чтобы без необходимости не усложнять описание вариантов осуществления изобретения, не были показаны или подробно описаны хорошо известные структуры и функции.
Подразумевается, что терминология, использованная в представленном описании, будет интерпретироваться в самой широкой разумно обоснованной манере, даже, несмотря на то, что она использована в связи с подробным описанием некоторых конкретных вариантов осуществления изобретения. Некоторые термины могут быть даже выделены ниже; однако любая терминология, подлежащая интерпретации в какой-либо ограничительной манере, должна быть явным образом и специально определена в качестве таковой в этом разделе «Осуществление изобретения».
I. Обзор
Программное средство диаграмм данных предоставляет пользователям инструмент для осуществления доступа к данным из источника многомерных данных, такого как база данных, основанная на технологии OLAP (Оперативной аналитической обработки данных), или другой реляционный источник данных, и для представления этих данных. В некоторых вариантах своего осуществления средство диаграмм данных предоставляет пользователям гибкие и динамичные диаграммы данных, которые могут быть индивидуально сконфигурированы в соответствии с потребностями пользователя. Диаграмма данных являет собой графическое представление данных в наборе данных. Например, перечень (102) необработанных данных, показанный на Фиг.1, может быть представлен графически в виде древовидной структуры, в которой в корневом узле находится заголовок диаграммы данных, регионы представлены в виде узлов второго уровня, а типы товаров представлены в виде узлов третьего уровня. Выбирая различные узлы диаграммы данных, пользователь может просматривать различные уровни подробности набора данных, лежащего в основе диаграммы.
Диаграммы данных могут быть отображены во множестве форматов, причем, древовидная структура представляет собой лишь один пример. Средство диаграмм данных может в таком случае позволить пользователю индивидуально конфигурировать диаграммы данных с использованием таких технологий, как выбор, редактирование методом «перетаскивания» фрагментов, и вырезание, и вставка. Например, средство диаграмм данных может позволить пользователю объединить узлы «напитки» и «молочные продукты», находящиеся под регионом «север», посредством выбора этих узлов и выбора опции «объединение». Данное средство может затем скорректировать отображаемую диаграмму данных таким образом, чтобы она показывала, что эти узлы были объединены. Таким образом, пользователь может манипулировать и индивидуально конфигурировать диаграмму данных с тем, чтобы она отвечала требуемому (например, имеющему качество, необходимое для презентации) формату. Индивидуально сконфигурированная диаграмма данных может сохранять активные ссылки на лежащие в ее основе данные. Соответственно, пользователь может продолжать манипулировать индивидуально сконфигурированной диаграммой данных (например, во время второго сеанса), по-прежнему сохраняя при этом точное изображение лежащих в ее основе данных. Кроме того, сохраняя активные ссылки на лежащие в основе данные, средство диаграмм данных может обновлять информацию в индивидуально сконфигурированной диаграмме данных, обеспечивая при этом представление в ней наиболее свежих данных.
В некоторых вариантах осуществления изобретения средство диаграмм данных реализовано в рамках структуры прикладной программы рисования (например, Microsoft Visio). Для создания первоначальной диаграммы данных в некоторых вариантах осуществления изобретения пользователь осуществляет соединение с соответствующим источником данных (например, с базой данных, основанной на технологии OLAP, (или с другим источником многомерных данных) или с реляционной базой данных). Пользовательский интерфейс, связанный со средством диаграмм данных, позволяет пользователю выбирать интересующие его параметры для первоначальной диаграммы данных. Например, пользователь может сделать такой выбор, что первоначальная диаграмма данных должна включать в себя узел по каждому региону, показанному на Фиг.1, на втором уровне и узел по каждому типу бакалейно-гастрономических товаров на третьем уровне. Затем, средство диаграмм данных генерирует первоначальную диаграмму данных. Пользователь может индивидуально сконфигурировать первоначальную диаграмму данных, используя для этого инструментальные средства, включающие в себя инструментальные средства рисования. После этого пользователь может вернуться и регенерировать данные, по-прежнему сохраняя при этом любые визуальные эффекты и схемы организации данных, созданные с использованием инструментальных средств рисования.
II. Пользовательский интерфейс
На Фиг.2 показана первоначальная диаграмма (200) данных, сгенерированная средством диаграмм данных. В целях иллюстрации первоначальная диаграмма данных основывается на информации из источника данных, такого как перечень (102) необработанных данных, показанный на Фиг.1. Как показано на Фиг.2, диаграмма данных может включать в себя информационный блок (202), который указывает на источник данных (например: «Перечень (104) необработанных данных») и время и дату последнего модифицирования (например, «13.10.04 г. 10:30»).
В некоторых вариантах осуществления изобретения диаграмма (200) показана как иерархия с корневым узлом (204) на вершине. В качестве альтернативы узел на вершине иерархии может быть узлом заголовка, указывающим заголовок для информации в диаграмме данных. В некоторых вариантах осуществления изобретения средство диаграмм данных предоставляет форму (206) измерения, которая указывает конкретное измерение иерархии. Например, форма (206) измерения может определять схему разбиения для следующего уровня иерархии (например, если в узле измерения определено «регион», то следующий уровень иерархии показывает регионы «север», «юг», «восток» и «запад»).
В приведенном на иллюстрации примере, диаграмма (200) данных разбита по регионам (например, север, юг, восток и запад). Соответственно, информация о регионах отображена на один уровень ниже, чем корневой узел (204). Например, узел (208) соответствует региону «север», узел (210) соответствует региону «юг», узел (212) соответствует региону «восток», и узел (214) соответствует региону «запад». В некоторых вариантах осуществления изобретения пользователь может выбрать узел (например, восток), а затем разбить этот отдельный узел. Пользователь также может проделать то же самое для всего уровня или набора узлов. Например, в приведенном в качестве иллюстрации варианте осуществления изобретения следующий более низкий уровень в диаграмме (200) данных состоит из узлов, представляющих типы бакалейно-гастрономических товаров. Например, узел (216) представляет тип «напитки», узел (218) представляет тип «молочные продукты», узел (220) представляет тип «мясные продукты», и узел (222) представляет тип «сельскохозяйственные продукты». Те же самые узлы повторяются для каждого из соответствующих регионов. Однако то, присутствует ли этот тип симметрии, может зависеть от набора данных, лежащего в основе диаграммы, и от параметров, которые выбирает пользователь. Например, если никакие мясные продукты не проданы в регионе «север», то в диаграмме данных под узлом «север» может не иметься узла «мясные продукты».
В некоторых вариантах осуществления изобретения данное средство может предоставлять две общие категории функций: функции, которые затрагивают всю диаграмму данных, и функции, которые затрагивают только выбранные части диаграммы данных. Примеры функций, которые средство диаграмм данных может выполнять над всей диаграммой данных, включают в себя функцию (224) «Регенерация», которая регенерирует информацию, отображенную на диаграмме (200) данных, на основе любых модификаций, которые могут иметь место в лежащих в ее основе данных. В большинстве случаев исполнение этой функции не меняет никакие модификации, внесенные в диаграмму данных пользователем.
Функция (226) «Скрытие подробности» может скрывать подробности в диаграмме данных таким образом, чтобы пользователь мог упростить представление данных. Функция (228) «Открытие подробности» отображает в диаграмме (200) данных подробную информацию, которая была скрыта (например, в результате выполнения функции (226) «Скрытие подробности»). Например, пользователь может выбрать функцию (226) «Скрытие подробности» для того, чтобы удалить отображение типов бакалейно-гастрономических товаров, и функцию (228) «Открытие подробности» - для того, чтобы повторно отобразить эти подробности.
Функция (230) «Добавление показателя» позволяет пользователям отобразить те имеющиеся в базе данных показатели, которые в текущий момент не показаны на отображаемой диаграмме (200). Показатели могут состоять из чисел, имеющихся в электронной таблице (например, долларов, прибыли, часов и т.д.), к которым могут быть применены различные типы агрегаций (например, сумма, среднее, минимум, максимум и т.д.). Например, пользователь может захотеть добавить показатель «продажи» из перечня необработанных данных в узлы «регион» для отображения суммарного объема продаж для этого региона. В некоторых вариантах осуществления изобретения показатели могут быть объединены в расчетные показатели, которые позволяют пользователям просматривать данные по различным периодам времени или рассчитывать данные процентного типа. Расчетные показатели (иногда в базах данных, основанных на технологии OLAP, именуемые «расчетными элементами») обычно включают в себя применение формул к многомерным данным. Например, пользователь может добавить к узлам «регион» расчетный показатель, который отображает процент от общего объема продаж, который получен от этого региона. В некоторых вариантах своего осуществления изобретение может позволить пользователю добавлять или удалять показатели из узлов на диаграмме в любое время. В некоторых вариантах осуществления изобретения пользовательский интерфейс средства диаграмм данных сконфигурирован таким образом, что пользователям нет необходимости понимать различие между измерениями (например, столбцами) и показателями. Вместо этого пользователь может «щелкнуть» на кнопке для получения требующейся ему/ей информации, включающей в себя как информацию показателя, так и информацию измерения.
Посредством окна детализации пользователь может выбирать столбцы (то есть измерения), которые он или она хотел бы просмотреть на диаграмме данных (например, месяц, год, тип, торговый агент, продажи, продажи в единицах продукции, регион и т.д.). Например, если пользователь хотел бы отобразить торговых агентов в каждом регионе, то пользователь может обеспечить выбор измерения «торговый агент» из окна детализации. Функция (232) «Конфигурирование столбца» при ее выборе предоставляет средства для дальнейшего индивидуального конфигурирования выбранных измерений.
В некоторых вариантах осуществления изобретения функция (234) «Создание сводной таблицы» позволяет пользователю создать сводную таблицу на основе информации в том виде, в каком она отображена в диаграмме (200) данных. Например, один «щелчок» позволяет пользователю в автоматическом режиме сгенерировать сводные таблицы, которые представляют отличное от диаграммы представление тех же самых лежащих в ее основе данных. В другом примере функция (234) «Создание сводной таблицы» включает в себя опцию для отображения информации в электронной таблице Excel.
На Фиг.3 показана диаграмма (200) данных после того, как она была модифицирована пользователем по отношению к своей первоначальной форме. Как видно на фигуре, пользователь, используя, например, инструментальное средство рисования, изменил узел (208) региона «север» таким образом, чтобы он напоминал очертания звезды. Таким образом, пользователь может, например, подчеркнуть, что регион «север» имеет по сравнению с другими регионами самые высокие продажи. Несмотря на то, что в некоторых вариантах осуществления изобретения пользователь может ради визуального эффекта изменять одну или более из форм в диаграмме (200) данных, лежащие в основе диаграммы данные и ее внутренние связи остаются неизменными. Другие модификации, которые пользователь может внести в диаграмму (200) данных (например, с использованием инструментальных средств рисования), могут включать в себя перестановку узлов (например, с использованием технологий редактирования методом «перетаскивания»), добавление или модификацию цвета, добавление или модификацию ярлыков, добавление анимационных эффектов, добавление или модификацию шрифтов или стилей и т.д.
Как показано с использованием рамки (302) выбора, проиллюстрированной на Фиг.3, в некоторых вариантах осуществления изобретения пользователь может выбрать один или более из узлов диаграммы (200) данных, на которых выполнить специальные функции или операции. Пользователь может осуществить выбор этих узлов посредством разнообразных технологий, таких как «перетаскивание» на выбранные узлы рамки (302) выбора (что показано на Фиг.3), «щелчок» на выбранных узлах с целью их выделения и т.д. В проиллюстрированном варианте осуществления изобретения, пользователь посредством использования рамки (302) выбора выбрал узел (216) «напитки», узел (218) «молочные продукты», узел (220) «мясные продукты» и узел (222) «сельскохозяйственные продукты».
Как было описано выше в отношении Фиг.2, в некоторых вариантах осуществления изобретения данное средство может предоставлять две общие категории функций: функции, которые затрагивают всю диаграмму данных, и функции, которые затрагивают только выбранные части диаграммы данных. Некоторые из действий, которые средство диаграмм данных может выполнять над выбранными частями диаграммы данных, включают в себя функцию (304) «Сортировки представленных данных», функцию (306) «Слияние», функцию (308) «Разъединение», функцию (310) «Свертывание» и функцию (312) «Анализ измерения». Например, если диаграмма данных отображает информацию о типах бакалейно-гастрономических товаров как для первого региона, так и для второго региона, но пользователь желает просмотреть только информацию о типах бакалейно-гастрономических товаров для второго региона, то пользователь может выбрать узел, соответствующий первому региону, и затем выбрать функцию «Свертывание».
Средство диаграмм данных может также предоставить инструментальные возможности, которые позволяют пользователю скопировать один или более узлов в диаграмме (200) данных с тем, чтобы создать новый экземпляр диаграммы (200) данных. Таким образом, пользователь может легко манипулировать одной и той же диаграммой данных многими различными способами. В некоторых вариантах осуществления изобретения новый экземпляр диаграммы данных может быть отображен на том же самом представлении или в том же самом окне, что и исходный экземпляр или на отдельном представлении или в отдельном окне.
В соответствии с функцией (312) «Анализ измерения» средство диаграмм данных может позволить пользователю манипулировать тем, каким образом диаграмма данных представляет измерения многомерной базы данных. Измерения обычно включают в себя категории, используемые для столбцов и/или строк таблицы данных. Примеры измерений включают в себя месяц, год, тип, торгового агента, регион, товар, время, магазин, возраст покупателя, доход покупателя, наемного работника и т.д. В некоторых случаях, измерения имеют уровни (или подкатегории). Например, измерение «время» может иметь уровень года, уровень месяца, уровень дня, уровень часа, уровень минуты и уровень секунды. Уровни измерения позволяют пользователям осуществлять в отношении этого измерения детализацию. Например, если пользователь замечает, что продажи выше в некоторый конкретный месяц, то пользователь может захотеть осуществить детализацию до уровня недели или дня с тем, чтобы проверить, были ли продажи выше в некоторой конкретной части месяца. Аналогичным образом, пользователь может захотеть осуществить восходящий анализ до более высокого уровня (например, года) с тем, чтобы проверить, справедливы ли картины данных в более широком масштабе. Например, для осуществления восходящего анализа, пользователь может изменить уровень, на котором он первоначально осуществлял анализ, с недели до года. Во многих случаях уровни измерения могут быть организованы в иерархии.
На Фиг.4 показан результат функции (312) «Анализ измерения», показанной на Фиг.3, при применении ее к выборке (302) узлов. Выбранные узлы в этом случае включают в себя: узел (216) «напитки», узел (218) «молочные продукты», узел (220) «мясные продукты» и узел (222) «сельскохозяйственные продукты». В некоторых вариантах осуществления изобретения средство диаграмм данных предоставляет пользователю блок диалога или другое инструментальное средство ввода (на чертежах не показанное), которое позволяет пользователю выбирать требуемые ему измерения и уровни.
При применении функции (312) «Анализ измерения» к выбранным узлам (216, 218, 220 и 222), указанным пользователем, результат представляет собой отображение следующего уровня измерений, связанных с выбранными узлами. Например, в проиллюстрированном варианте осуществления изобретения, диаграмма (200) данных отображает узлы, показывающие месячные продажи в каждом регионе по каждой из соответствующих категорий типа бакалейно-гастрономических товаров. Например, как представлено в узле (402), торговый представитель по имени Дэвис в январе продал 5611 единиц молочных продуктов. Аналогично этому, как показано в узле (404), торговый представитель по имени Джонс в феврале месяце продал 744 единицы мясных продуктов. Как показано в узле (406), торговый представитель по имени Смит в январе продал 2861 единицу сельскохозяйственных продуктов, и как показано в узле (408), торговый представитель по имени Баттеруорс в феврале продал 1450 единиц сельскохозяйственных продуктов.
В некоторых вариантах осуществления изобретения для единственной диаграммы данных может быть создано множество экземпляров детализации, и каждый экземпляр может поддерживаться и модифицироваться отдельно от других.
III. Структуры данных
На Фиг.5 показана коллекция структур данных, лежащих в основе диаграммы, которые могут быть использованы для реализации средства диаграмм данных. В иллюстративных целях структуры данных показаны таким образом, как если бы они были сконфигурированы для порождения диаграммы (200) данных, показанной на Фиг.2. Однако специалист в данной области техники должен понимать, что изобретение могло бы быть реализовано с использованием других структур данных или тех же самых структур данных в других сочетаниях.
Структуры данных, используемые для генерирования диаграммы данных проиллюстрированного варианта осуществления изобретения, могут включать в себя объекты (502) «форма», объекты (504 и 514) «форма разбиения», объекты (506 и 516) «набор строк» и объекты (510) «форма информации».
Объекты (502) «форма» могут быть использованы для реализации узлов, которые отображает диаграмма данных. Например, объекты (502, 503, 505, 507, 509 и 511) «форма» могут быть использованы для отображения корневого узла диаграммы данных, показанной на Фиг.2, равно как узлов «регион» (например, север, юг, восток, запад) и узлов «тип бакалейно-гастрономических товаров» (напитки, молочные продукты, мясные продукты, сельскохозяйственные продукты). Объекты (502, 503, 505, 507, 509 и 511) «форма» могут каждый включать в себя: булево значение, указывающее, является ли данная форма корневой формой; ссылку на форму (510) информации о диаграмме данных (каковая форма описана ниже); булево значение, которое изображает, имеет или нет данная форма потомков; булево значение, которое показывает, является ли данная форма агрегатом форм одного и того же уровня разбиения; булево значение, которое показывает, является ли данная форма частью формы слияния (указывающее на то, что данная форма скрыта на диаграмме данных), и ссылка на форму слияния (в случае, если данная форма представляет собой часть слияния).
Объекты (502, 503, 505, 507, 509 и 511) «форма» могут также содержать ссылки на информацию (например, конкретный набор измерений, показателей и реляционную информацию), которую данная форма отображает при ее реализации в качестве узла в диаграмме данных. Например, каждая форма может содержать ссылку или указатель на объект (506 или 516) «набор записей». Объект (506 или 516) «набор записей» может включать в себя набор данных из источника (508) данных, лежащих в основе диаграммы, такой (набор) как информация строк и столбцов. В некоторых вариантах осуществления изобретения набор данных, который содержится в объекте (506 или 516) «набор записей», может быть основан на запросе, выполненном соответствующим объектом (504 и 514) «форма разбиения». В некоторых вариантах реализации изобретения каждая строка объекта (506 или 516) «набор записей» может относиться к одному объекту (502, 503, 505, 507, 509 или 511) «форма», имеющемуся в диаграмме данных. Объект (506 или 516) «набор записей» может предоставить гибкий способ манипулирования выбранными данными из источника (508) данных, поскольку он может быть легко регенерирован и включать в себя набор методов, которые позволяют осуществлять доступ к его данным. Однако возможна реализация изобретения с использованием других технологий.
Как было сказано выше, объекты (504 и 514) «форма разбиения» могут предоставлять запросы с целью генерирования объектов (506 или 516) «набор записей». Вообще, каждый объект (504 и 514) «форма разбиения» предоставляет информацию об одном разбиении (например, продажи по региону, продажи по типу товаров) в диаграмме данных. Соответственно, диаграмма данных может иметь один объект (504 и 514) «форма разбиения» для каждого уровня в диаграмме данных (в дополнение к корневому). Например, объект (504) «форма разбиения», соответствующий корневому узлу (204) в диаграмме данных, показанной на Фиг.2, может предоставить указание на то, что должен представлять собой следующий уровень вниз по иерархии (например, регионы). После представления результатов запроса в объекте (506) «набор записей», соответствующем объекту (504) «форма разбиения», объект (504) «форма разбиения» может включить в себя указатель или ссылку на соответствующий объект (506) «набор записей». Вообще говоря, несмотря на то, что объекты (504 и 514) «форма разбиения» могут не быть отображены или видимы в качестве форм или узлов на самой диаграмме данных, на ней может быть отображено указание на схему разбиения, которую представляет разбиваемый узел.
Объект (510) «форма информации» может быть использован для хранения информации о диаграмме данных в целом. Эта информация может включать в себя, например, информацию о компоновке диаграммы данных и об источнике данных диаграммы данных. В дополнение к этому, типы данных в объекте (510) «форма информации» диаграммы данных» могут включать в себя ссылку на форму, которая (ссылка) идентифицирует корневую форму для данной диаграммы данных (502), индекс (512) экземпляра для диаграммы данных и информацию о связи (на чертежах не показана), которая может быть использована для создания новой диаграммы данных посредством действия «вырезание/вставка». Индекс (512) экземпляра может способствовать различению отображаемых экземпляров диаграммы данных, так чтобы пользователь получил возможность манипулировать множественными экземплярами по отдельности. Соответственно, индекс (512) экземпляра может включать в себя ссылку или указатель на один или более экземпляров диаграммы данных.
IV. Алгоритмы процессов
Фиг.6 и 7 представляют собой показательные блок-схемы алгоритмов, которые показывают процессы в средстве диаграмм данных. Эти блок-схемы алгоритмов не показывают все функции или обмены данными, но вместо этого дают понимание команд и данных, обмен которыми производится в системе. Специалисты в соответствующей области техники должны признать, что некоторые функции или обмены командами и данными могут быть повторены, модифицированы, опущены или дополнены, а другие, не показанные, аспекты могут быть легко реализованы.
Фиг.6 представляет собой блок-схему алгоритма, показывающую пример процедуры (600) для создания диаграммы данных, основанной на многомерных данных, в одном варианте осуществления данного изобретения. На этапе (601) процедура (600) принимает запрос на создание новой диаграммы данных. Этот запрос может включать в себя информацию, предоставленную пользователем, такую как указание источника данных, и информацию, относящуюся к общему содержимому и формату диаграммы данных. На этапе (602) процедура (600) открывает шаблон в связанной с ней прикладной программе рисования и применяет начальные установочные параметры, соответствующие этой предоставленной информации. Например, шаблон может предоставить представление, в котором диаграмма данных может получить свое графическое отображение и с ней могут производиться манипуляции, и может предоставить набор трафаретов, макросов и установочных параметров страниц, сконфигурированных специально для манипулирования диаграммами данных.
На этапе (603) процедура (600) назначает источник данных для новой диаграммы данных в соответствии с указанием, данным пользователем. На этапе (604) процедура (600) генерирует сводный запрос для выполнения его в источнике данных. В некоторых вариантах осуществления изобретения сводный запрос может быть основан, по меньшей мере, частично, на метаданных, предоставляемых источником данных.
На этапе (605) процедура (600) осуществляет вызов функции для создания диаграммы данных, передавая ей в качестве параметров сводный запрос и источник данных. Функция создания диаграммы данных может создавать диаграмму данных, выполняя ряд этапов. Например, функция создания диаграммы данных может сначала создать экземпляры объекта «форма информации», объекта «форма заголовка» и объекта «экземпляр диаграммы данных». Затем функция создания диаграммы данных может определить один или более наборов данных для диаграммы данных посредством осуществления запроса в указанном источнике данных. После того, как набор данных определен, функция создания диаграммы данных может сгенерировать один или более дочерних объектов «форма», каждый из которых связан со строкой в наборе данных.
На этапе (606) процедура (600) осуществляет отображение диаграммы данных. Например, процедура (600) может осуществить вызов функции компоновки, которая выполняет эту задачу. Функция компоновки может быть связана с программой рисования, такой как Microsoft Visio. После того, как базовая диаграмма данных создана с показателями, задаваемыми по умолчанию, пользователю предоставляется право выбора, позволяющее изменить диаграмму данных так, как это показано, например, на Фиг.2-4.
Фиг.7 представляет собой блок-схему алгоритма, показывающую пример процедуры (700) анализа измерения, выполняемой над текущей диаграммой данных. На этапе (701) процедура (700) принимает запрос на осуществление детализации выбранного набора узлов. На этапе (702) процедура (700) формулирует запрос на разбиение следующего узла. На этапе (703) проверки условия процедура (700) проверяет, имеются ли еще узлы, подлежащие разбиению. Если имеются еще узлы для разбиения, то процедура (700) возвращается циклическим образом назад, на этап 702, для того чтобы сформулировать запрос на разбиение следующего узла. Если, однако, узлов для разбиения более не имеется, то процедура (700) переходит к этапу (704), на котором процедура (700) производит регенерацию источника данных. В некоторых вариантах осуществления изобретения регенерация источника данных может активизировать все запросы по всей детализации.
После регенерации может иметься возможность создания новых форм, основанных на выполненных разбиениях. В некоторых вариантах осуществления изобретения это выполняется посредством приведения в соответствие диаграммы данных. Соответственно, на этапе (705) процедура (700) может привести в соответствие следующее разбиение. Это может включать в себя создание формы для каждой строки в наборе записей, который получен в результате исполнения запросов, сформулированных на этапе (702). На этапе (706) проверки условия процедура (700) определяет, имеются ли еще разбиения для приведения в соответствие. Если на этапе (706) проверки условия определено, что еще имеются разбиения для приведения в соответствие, то процедура (700) возвращается циклическим образом назад, на этап (705), для того чтобы выполнить приведение в соответствие по следующему разбиению. Если, однако, на этапе (706) проверки условия определено, что больше разбиений для приведения в соответствие не имеется, то процедура (700) переходит к этапу (707) с тем, чтобы осуществить отображение выводимой диаграммы данных. Например, это может включать в себя вызов функции компоновки, которая рисует фигуры на экране в соответствии с тем, что было ранее задано пользователем.
V. Показательная система
Фиг.8 и нижеследующее описание дают краткое общее описание подходящей среды, в которой может быть реализовано данное изобретение. Хотя это и необязательно, аспекты изобретения описаны в общем контексте компьютерной системы, которая исполняет команды, такие как процедуры, исполняемые компьютером общего назначения (например, компьютером-сервером, устройством с беспроводной связью или персональным/портативным компьютером). Специалисты в соответствующей области техники должны понимать, что изобретение может быть осуществлено на практике и с другими конфигурациями систем связи, обработки данных или компьютерных систем, включающих в себя: аппаратуру для работы в сети «Интернет»; переносные устройства (включая персональные цифровые секретари (PDA)); карманные компьютеры; все виды сотовых или мобильных телефонных аппаратов; встроенные компьютеры (включая компьютеры, соединенные с транспортными средствами); многопроцессорные системы; основанное на микропроцессорах или программируемое бытовое электронное оборудование; приставки; сетевые персональные компьютеры (PC); миникомпьютеры; универсальные компьютеры и тому подобное.
Аспекты изобретения могут быть воплощены в специализированном компьютере или процессоре обработки данных, который специально запрограммирован, сконфигурирован или сконструирован таким образом, чтобы выполнять одну или более из машиноисполняемых команд, подробно здесь объясненных. Аспекты изобретения могут быть также осуществлены на практике в распределенных вычислительных средах, в которых задачи или модули выполняются удаленными устройствами обработки данных, связанными через сеть связи. В распределенной вычислительной среде, программные модули могут быть размещены как в локальных, так и в удаленных запоминающих устройствах.
Аспекты изобретения могут храниться или распространяться на машиночитаемых носителях информации, включающих в себя: компьютерные диски, считываемые магнитным или оптическим способом; память микрокоманд или полупроводниковую память; память, основанную на нанотехнологии; оптическую или органическую память или другие портативные носители для хранения данных. В действительности, машинореализуемые команды, структуры данных, экранные изображения и другие данные согласно аспектам изобретения могут быть распределены по сети «Интернет» или по другим сетям (включающим в себя беспроводные сети), по распространяемому сигналу в среде распространения (например, в электромагнитной волне (электромагнитных волнах), звуковой волне и т.д.) на протяжении периода времени, или могут быть предоставлены по любой аналоговой или цифровой сети (с коммутацией пакетов, с коммутацией каналов или работающей по другой схеме).
В некоторых вариантах осуществления изобретения средство диаграмм данных, реализованное как часть прикладной программы рисования, включает в себя шаблон, трафарет, содержащий специализированные формы, и расширение прикладной программы рисования, содержащее программный код, реализующий эти функциональные возможности. Однако специалист в данной области техники должен признать, та же самая базовая архитектура могла бы быть реализована и другими способами. Например, реализация может быть внутренней по отношению к самой прикладной программе рисования. В некоторых вариантах своего осуществления изобретение позволяет пользователю соединять с кубом данных OLAP (кубом данных по технологии Оперативной аналитической обработки данных) электронную таблицу Excel или базу данных и осуществлять в интерактивном режиме детализацию этих данных для получения изображений. Пользователь может конфигурировать эти изображения в соответствии с предпочтениями пользователя. Манипуляции изображениями аналогичны тем, что могли бы быть выполнены с использованием сводной таблицы.
На Фиг.8 показана показательная компьютерная система (800), в которой может быть реализовано средство (802) диаграмм данных. Компьютерная система (800) может содержать память (804), центральный процессор (806) и одно или более устройств (808) ввода/вывода (например, клавиатуру, громкоговорители, экран устройства отображения и т.д.). Средство (802) диаграмм данных может извлекать данные из хранилища (810) данных для создания диаграмм данных, согласно тому, что описано в связи с Фиг.2-7. Хранилище (810) данных может быть внешним по отношению к компьютерной системе (800) (что и показано на чертеже). В качестве альтернативы, хранилище (810) данных может содержаться внутри компьютерной системы (800). Средство (802) диаграмм данных может содержать уровень (812) пользовательского интерфейса, уровень (814) автоматической обработки и компонент (816) «продуцент». Администратор (818) экземпляров диаграмм данных взаимодействует с компонентом (816) «продуцент» для управления экземплярами диаграммы данных и хранит глобальные данные, относящиеся к экземплярам диаграммы данных. Например, администратор (818) экземпляров диаграмм данных может позволить пользователю создавать множество экземпляров одной и той же диаграммы данных и затем изменять каждый экземпляр по отдельности.
Компонент (820) «администратор диаграмм данных» содержит обработчики действий, предназначенные для формирования и выполнения действий над диаграммами данных. Вообще, администратор (820) диаграмм данных управляет экземплярами диаграмм данных и формами внутри экземпляров диаграмм данных. В дополнение к этому, он может хранить постоянные данные для экземпляров диаграмм данных. Администратор (820) диаграмм данных может содержать один или более экземпляров администратора (822) данных столбца, который хранит постоянные данные для столбцов, содержащихся внутри диаграммы данных, тем самым делая возможным действия, такие как детализация, показанные и описанные в связи с Фиг.4-7.
Администратор (824) выбора, связанный с администратором (818) экземпляров диаграмм данных, следит за выбором, который делает пользователь, и определяет, какие действия по детализации допустимы для текущего выбора. В некоторых вариантах осуществления изобретения это обеспечивает организацию обратной связи с пользователем посредством блокировки недопустимых действий (например, посредством модификации на серый цвет цветов кнопок в пользовательском интерфейсе).
Заключение
Если контекст явным образом не требует иного, то повсюду в описании и формуле изобретения слова «содержать» и «содержащий» и им подобные должны толковаться, как имеющие значение незаконченного перечня в противоположность значению исключающего или исчерпывающего перечня; то есть должны толковаться как имеющие значение «включая в себя, но не в смысле ограничения». Кроме того, слова «здесь», «выше», «ниже» и слова с аналогичным смыслом при их использовании в данной заявке должны относиться к этой заявке в целом, а не к каким-либо отдельным частям этой заявки. Когда в формуле изобретения используется слово «или» по отношению к перечню из двух или более элементов, это слово охватывает все нижеследующие интерпретации данного слова: любой из элементов в перечне, все элементы в перечне и любое сочетание элементов в перечне. Термин «данные» используется здесь в коллективном значении и может означать набор из одного или более данных.
Не подразумевается, что вышеприведенное подробное описание вариантов осуществления изобретения является исчерпывающим или ограничивает изобретение той точно формой, которая описана выше. Несмотря на то, что выше в иллюстративных целях описаны конкретные варианты осуществления изобретения и его примеры, в рамках объема изобретения возможны разнообразные эквивалентные их модификации, и это должно быть ясно специалистам в соответствующей области техники. Например, несмотря на то, что процессы или блоки представлены в некотором заданном порядке, в альтернативных вариантах осуществления изобретения возможно исполнение процедур, имеющих этапы, или использование систем, имеющих блоки, расположенные в другом порядке, и некоторые процессы или блоки могут быть удалены, перемещены, добавлены, разделены на части, объединены и/или модифицированы. Каждый из этих процессов или блоков может быть реализован множеством различных способов. Также, несмотря на то, что процессы и блоки иногда показаны как выполняемые последовательно, эти процессы или блоки могут вместо этого выполняться параллельно или могут быть выполнены в различные моменты времени. Там, где позволяет контекст, слова в приведенном выше подробном описании, имеющие единственное или множественное число, могут также включать в себя множественное или единственное число, соответственно там, где это позволяет контекст.
Предложенное здесь объяснение изобретения может быть применено и к другим системам, не обязательно к системе, описанной здесь. Элементы и действия из разнообразных вариантов осуществления изобретения, описанных выше, могут быть объединены таким образом, чтобы дать дополнительные варианты осуществления изобретения.
Эти и другие изменения могут быть внесены в изобретение в свете вышеприведенного подробного описания. Несмотря на то, что вышеприведенное описание подробно рассматривает некоторые варианты осуществления изобретения и описывает его наилучшую предполагаемую форму, независимо от того, насколько подробно вышеназванное описано в тексте, изобретение может быть осуществлено на практике многими способами. Как было отмечено выше, конкретная терминология, использованная при описании некоторых признаков или аспектов изобретения, не должна пониматься в том смысле, что эту терминологию переопределяют здесь таким образом, чтобы ограничить ее какими-либо конкретными характеристиками, признаками или аспектами изобретения, с которыми эта терминология связана. Вообще, термины, использованные в нижеследующей формуле изобретения, не должны толковаться как ограничивающие изобретение конкретными вариантами его осуществления, раскрытыми в описании, если только вышеприведенный раздел «Подробное описание» явным образом не дает определение таких терминов. Соответственно, действительный объем изобретения охватывает не только описанные варианты его осуществления, но также все эквивалентные способы практического осуществления или реализации изобретения согласно формуле изобретения.
Несмотря на то, что определенные аспекты изобретения представлены ниже в определенных формах формулы изобретения, изобретатели предполагают разнообразные аспекты изобретения в любом количестве форм формулы изобретения. Например, несмотря на то, что только один аспект изобретения описан как воплощенный в машиночитаемом носителе информации, другие аспекты могут быть воплощены в машиночитаемом носителе информации подобным же образом. Соответственно, изобретатели оставляют за собой право добавлять дополнительные пункты формулы изобретения после подачи данной заявки с тем, чтобы распространить такие дополнительные формы формулы изобретения на другие аспекты изобретения.