Katmai June CTP – закладка Attribute Relationships
Автор: Mosha Pasumanski
Дата публикации оригинала: 2007-06-07
Источник: Блог Mosha Pasumanski
К настоящему времени каждый знает, что впервые для широкой публики CTP Katmai было выложено на сайте Microsoft connect. Это сопровождалось документацией о том, какие новые возможности ожидаются в SQL 2008. Но эта документация в какой-то степени слишком высокого уровня, а также в ней не говорится о том, какая часть планируемой функциональности включена в June CTP, а какая нет. Я хочу описать одну возможность для Analysis Services. Так как ни одна из интересных основных возможностей OLAP и возможностей по совершенствованию производительности не была включена в это издание, я буду говорить о части интерфейса пользователя – а именно о новой закладке в редакторе измерений, которая называется “Attribute Relationships”. Много раз и по разным поводам говорилось, что отношения атрибутов очень важны как для производительности системы, так и для правильности результатов. Но все же, в среде Business Intelligence Development Studio (известной под именем BIDS) интерфейс для определения отношений между атрибутов был не оптимальным (перетаскивание в древовидное меню), и визуальное представление структуры отношений отсутствовало. Проект BIDSHelper Грега Гелоуэя и Дарена Госбелла в какой-то степени заполнил разрыв в визуализации в SSAS 2005 с помощью дополнения Visualize Attribute Lattice. В сервере Katmai команда SSAS правомерно решила уделить этой теме большое внимание, путём выделения специальной закладки в редакторе измерений. Я решил протестировать, насколько хорошо этот интерфейс может работать с реже встречающимися сценариями. Для этого тестирования я выбрал упрощённую версию измерения Время. Структура, которая была мне нужна, описана в моем блоге о расчётах в измерении Время – она представлена на картинке ниже.

В первую очередь я построил это измерение в SSAS2005 и использовал дополнение BIDSHelper для его визуализации. Полученный результат представлен ниже:

Это выглядит похоже на представленную выше картинку. Связи между вершинами не имеют стрелок, однако существует условное обозначение, что стрелка всегда указывает вверх. Самой большой проблемой является то, что линии диаграммы пересекаются. Хотя это не всегда возможно, диаграмма для этого измерения является планарным графом. Если бы только вершина атрибута Год передвинулась к дальней правой стороне. Хотя код в BIDSHelper этого не предполагает, но мы в какой-то мере счастливы, что существует только одна вершина на неправильном месте, в противном случае больше линий могли бы пересекаться между собой. Но, с другой стороны, картина довольно ясна. Теперь давайте перенесем тот же проект в SSAS2008 и откроем то же измерение на закладке Attribute Relationship.

Мы заметили здесь некоторые вещи. Во-первых, линии по-прежнему пересекаются между собой, даже после нажатия кнопки ‘Auto-Arrange’. Но это лучше чем в случае с BIDSHelper, потому что в данном случае нам нужно только заменить атрибуты Год и Квартал года. Поскольку это среда для чтения/записи, прямоугольники, представляющие атрибуты, можно перемещать по экрану. Мне не было ясно, как это сделать, потому что щелчок внутри прямоугольника выполнял функцию перетаскивания. Но щелчки точно по границе прямоугольников изменяют курсор мыши и переключают в рабочий режим перемещения. Следующее, что необходимо отметить – то, что есть что-то странное в атрибуте День месяца. В то время, как все прочие атрибуты имеют свои собственные прямоугольники, этот его не имеет. Он отображается внутри прямоугольника атрибута День квартала. Я рассказал ведущим разработчикам об этой особенности, и они разъяснили правила того, когда атрибут попадает в прямоугольник и когда не попадает. Я подумал, что эти правила излишне сложные и определенно не интуитивные, так как Год и День месяца на самом деле являются симметричными относительно отношений атрибутов, однако Год имел свой роямоугольник, а День месяца – не имел. Следующее, что необходимо отметить – то, что некоторые линии голубые и содержат предупреждающий знак. Этот знак предупреждает об отношениях ромбовидной формы, которые не имеют иерархий, проходящих через эти отношения. Это является ограничением SSAS2005, которое, я надеюсь, будет устранено в SSAS2008, но пока оно здесь имеется. Это, действительно, почти ошибка, что декодирование атрибута не функционирует правильно для атрибутов, которые имеют более одного поступающего отношения, до тех пор, пока не будет иерархий в данных отношениях. Можно отключить это предупреждение, перейдя к окошку Проект и щелкнув правой кнопкой мыши по базе данных -> Edit Database -> Warnings -> Dimension Design -> снять флажок “Avoid diamond-shape relationships not covered by hierarchies”. Я не знаю точно, почему предупреждения выключаются в редактировании базы данных, но это происходит здесь. И последнее, что я заметил, это то, что ключевой атрибут, который является всегда деревом диаграммы, расположен в левом верхнем углу, а диаграмма строится вправо и вниз. Я подумал, что расположение BIDSHelper, которое начинается снизу вверх, а корень которого находится в середине, выглядит лучше, но возможно это дело вкуса. В любом случае, если бы корень находился в середине экрана, диаграмма выглядела бы более симметричной. После того как мы вручную передвинем картинку, получается то, как все выглядит в итоге. Если бы это можно было сделать по умолчанию, я был бы счастлив

Для удобства отслеживания новых публикаций рекомендуем подписаться на рассылку или на канал RSS.