|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Отчеты 3D
Цветовое кодирование измерений является одним из перспективных направлений визуализации данных. Но его полноценное использование на практике ограничено двумя факторами. Первым можно считать особенности субъективного восприятия. Требуется определенное время, чтобы привыкнуть к мысли о тождественности цветов, которыми раскрашены ячейки отчета, и соответствующих элементов измерения. Вторая причина имеет технологическую природу. Понятно, что описанного выше результата невозможно добиться встроенными средствами условного форматирования Microsoft Excel. Аргументами функций форматирования могут быть только значения ячеек из листа книги. Иными словами, ячейки удастся раскрасить в зависимости от типа дохода единственным способом — расположив само измерение «План_Факт» на оси отчета, то есть на листе. А именно этой ситуации и хотелось бы избежать. Наверное, здесь будет уместно привести сравнение с 3D-изображениями. Без специальных стереоочков не получится преобразовать в объемное изображение видеосигнал, посылаемый стандартным оборудованием, в частности телевизором. В мире сводных таблиц роль стереоочков выполняет MDX. Нужно только уметь его правильно использовать. Теперь вернемся к нашей задаче. Договоримся, что если значение выбранной меры для первой дирекции больше соответствующего значения для второй, то такое значение следует отобразить красным цветом, а противоположное — зеленым (рис. 2).
Рис. 2. Пример сводного отчета с цветовым кодированием измерений Всё дальнейшее изложение материала будет вестись на примере применения аналитического сервера Microsoft Analysis версии 9.0 от компании Мicrosoft, входящего в состав стандартной комплектации SQL Server 2005. Однако предложенные идеи при желании можно адаптировать и для любого другого многомерного хранилища данных. Большинство многомерных баз данных, кроме собственно значений элементов аналитического куба, содержат правила их отображения. А современные OLAP-клиенты достаточно интеллектуальны, чтобы отформатировать на основе этих правил ячейки своего отчета. Сводные таблицы Microsoft Excel умеют использовать правила внешнего форматирования. Достаточно выбрать соответствующие опции в разделе «Форматирование сервера OLAP» при настройке источника данных (рис. 3).
Рис. 3. Настройка форматирования сводных таблиц Правила форматирования, хранящиеся на OLAP-сервере, — это многомерные выражения, составленные на языке MDX (MultiDimensional eXpressions). Их очевидным достоинством является возможность использовать в качестве аргумента любое измерение куба. Наша задача состоит в форматировании ячеек в зависимости от того, как соотносятся между собой значения дохода первой и второй дирекций. Такое условие может быть задано следующим MDX-выражением: Iif( ([Дирекция].[Дир_1],[Measures].[Сумма])> ([Дирекция].[Дир_2],[Measures].[Сумма]), 255,65280). В инструкции сравниваются между собой значения меры «Сумма» обеих дирекций, а выходным значением является код в цветовой модели RGB: 255 — «Красный» либо 65280 — «Зеленый». Поскольку значения элементов для остальных измерений не заданы явно при сравнении, они считаются равными CurrentMember, то есть определяются контекстом выражения, или, проще говоря, видом макета отчета. В Microsoft Analysis Services 9.0 выражение примет несколько более сложный вид: Iif( ([Дирекция].[Дирекция].[Дир_1],[Measures].[Сумма])> ([Дирекция].[Дирекция].[Дир_2],[Measures].[Сумма]), 255,65280) Такой синтаксис объясняется тем, что в Microsoft Analysis Services 9.0 измерение всегда определяется парой связанных значений: названием группы измерений и наименованием иерархии в этой группе. Поэтому даже простое одноуровневое измерение требует создания для себя одноименной группы измерений и заведения иерархии в ней. Полученное выражение MDX следует назначить в качестве правила форматирования для меры «Сумма». В случае с Microsoft Analysis Services 9.0 такую операцию в явном виде выполнить нельзя — на сервере не реализована возможность по форматированию мер аналитического куба. Но данное ограничение с легкостью обходится посредством создания вычисляемых полей (Calculated Members). Добавим на ось Меаsures, которая содержит все меры куба, поле «Сумма+», дублирующее меру «Сумма» (рис. 4). Поскольку поле «Сумма+» добавлено на ось Меаsures, оно станет новой мерой куба.
Рис. 4. Создание вычисляемого поля «Сумма+» на сервере Microsoft Analysis Services 9.0 В разделе Color Expressions, в поле Fore color напишем нашу формулу. В завершение настроим макет сводного отчета Microsoft Excel — заменим в области значений меру «Сумма» на «Сумма+» (рис. 5).
Рис. 5. Настройка макета сводного отчета Microsoft Excel Заключение Язык MDX позволяет составлять запросы к многомерным данным, хранящимся в аналитических базах данных. С его помощью можно значительно расширить базовые возможности стандартных OLAP-клиентов, в частности сводных таблиц Microsoft Excel. Однако истинная мощь данного языка проявляется при непосредственном составлении MDX-выражений. В среде Microsoft Excel для этих целей служат функции семейства КУБ(). Их обсуждению будет посвящена следующая статья цикла. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |