Отклонение бюджета – Изучение оптимизаций MDX: режимы оценки и NON_EMPTY_BEHAVIOR

Автор: Mosha Pasumansky
Дата публикации оригинала: 2006-11-05
Перевод: Андрей Бабуров
Источник: Блог Mosha Pasumansky

Самое главное при построении OLAP систем – это быстродействие. Это подтверждают разные сообщения в новостных группах и форумах. Можно сказать, что наиболее частый вопрос, который задают люди – «Как оптимизировать следующий MDX…». Оптимизация MDX – это и наука и искусство. Она требует смесь знаний конструкций MDX, знакомство с концепцией UDM и некоторое базовое понимание того, как работает оптимизатор запросов. Но самым сложным я нахожу понимание реальной проблемы, скрывающейся за вопросом. Большинство из них требуют глубокого погружения в конкретную модель и хорошие знания бизнес логики и требований. Часто эти детали делают настолько неясными технические вопросы, что никто сразу не предложит правильного решения (конечно, если я не понимаю вопрос после прочтения, то вряд ли включусь в обсуждение) или начнется длительное обсуждение, которое обрастет дополнительными деталями и уточнениями. И в конце, даже если ответ правильный и улучшает производительность, то все равно не просто уловить суть идеи оптимизации и обобщить ее для использования в других случаях. Читать дальше »

Опубликовано 20.11.2008 | Автор сообщения Константин Лисянский | Категории: Business Intelligence, MDX, Microsoft, OLAP, Pasumansky, Mosha, Архитектор BI, Для начинающих, Для продвинутых, Для экспертов, На русском, Разработчик приложений BI

Средние величины, отношения, деление на ноль и NON_EMPTY_BEHAVIOR

Автор: Mosha Pasumansky
Дата публикации оригинала: 2007-03-06
Источник: Блог Mosha Pasumansky

Как добиться хороших результатов при расчёте средних величин и других величин, основанных на отношениях, в MDX? Я думал, что детально раскрыл эту тему ранее, но, вероятно, я не был достаточно конкретен. На прошлой неделе меня попросили помочь с выполнением работ для очень крупного и важного клиента (который должен был остаться неназванным). Когда я прибыл на место, то увидел, что персонал, занятый в данном проекте, хорошо осведомлён об Analysis Services и MDX. Модель была разработана в соответствии с лучшими традициями, они изучали Руководство по эксплуатации и внедряли все соответствующие изменения. Тем не менее, они не могли добиться того, чтобы очень простой расчёт средней величины в MDX выполнялся с хорошей производительностью в отчётах Excel среднего размера. Читать дальше »

Опубликовано 13.11.2008 | Автор сообщения Константин Лисянский | Категории: Business Intelligence, MDX, Microsoft, OLAP, Pasumansky, Mosha, Для начинающих, Для продвинутых, На русском

SSAS: процессинг, ForceCommitTimeout и “the operation has been cancelled”

Автор: Darren Gosbell
Дата публикации оригинала: 2007-04-24
Источник: Блог Darren Gosbell

В этой статье представлено кое-что интересное, что стало недавно темой группы новостей, однако, тем не менее, я считаю необходимым разъяснить этот вопрос дополнительно.

Видели ли вы когда-либо ошибку «the operation has been cancelled» в длительных запросах (запросы, которые занимают более 30 секунд), в то время как куб или секция обрабатываются? Читать дальше »

Опубликовано 04.11.2008 | Автор сообщения Константин Лисянский | Категории: Business Intelligence, Gosbell, Darren, MDX, Microsoft, OLAP, Для продвинутых, Для экспертов, На русском

Drillthrough на вычисляемых мерах

Автор: Mosha Pasumansky
Дата публикации оригинала: 2008-09-01
Источник: Блог Mosha Pasumansky

Drillthrough – это отличная особенность Analysis Services, но она имеет ограничения – drill through можно применить только к ячейкам без вычислений. Это автоматически приводит к невозможности выполнения операций drill through на вычисляемых элементах, в общем, и вычисляемых мерах, в частности. Это ограничение было предметом широких дебатов на формуах и в блогах. Оно было занесено в журнале на connect-сайте как предложение “Enable drillthrough on calculated measures”, где оно получило сильную поддержку. А конкуренты также борются с подобными проблемами.

Пока не существует универсального решения этой проблемы, в данной статье мы покажем, как много практических частных случаев могут быть решены в AS 2005. Для начала давайте определим, что значит drill through на вычисляемых мерах. Читать дальше »

Опубликовано 23.10.2008 | Автор сообщения Константин Лисянский | Категории: Business Intelligence, MDX, Microsoft, OLAP, Pasumansky, Mosha, Для начинающих, Для продвинутых, На русском, Разработчик приложений BI

Как обнаружить подзапрос внутри вычислений MDX (aka Множественный выбор в Excel 2007)

Автор: Mosha Pasumansky
Дата публикации оригинала: 2007-09-26
Перевод: Андрей Бабуров
Источник: Блог Mosha Pasumansky

Тема множественного выбора в вычислениях популярна на форумах. Я писал об этом ранее здесь. В феврале 2008 года (данная статья написана в 2007 г – прим. ред.) я напишу в блоге как AS2008 будет с этим работать. Но в тоже время поступают вопросы по AS2005. Сейчас многие в работе используют EXISTING в выражении WHERE для определения условия на множество в запросе, однако такая конструкция порождает много подзапросов, при использовании ее в Excel 2003 и других приложениях. Excel 2007 для множественного выбора использует скрытые подзапросы. Их присутствие не обнаруживается ни с помощью EXISTING, ни с помощью другой функции MDX. Стандартный подход для обнаружения подзапросов всегда был таким: использовать именованные множества на уровне запросов, потому что они неявно существуют в подзапросах. Но, это утверждение не применимо к Excel 2007, потому что пользователь может только контролировать формулы для вычислений внутри MDX запроса.
Читать дальше »

Опубликовано 13.10.2008 | Автор сообщения Константин Лисянский | Категории: Business Intelligence, MDX, Microsoft, OLAP, Pasumansky, Mosha, Для начинающих, Для продвинутых, Для экспертов, На русском, Разработчик приложений BI

Проблема коэффициента «отношения к текущему родителю» в MDX

Автор: Darren Gosbell
Дата публикации оригинала: 2008-07-26
Источник: Блог Darren Gosbell

Время от времени на SSAS MSDN forum поднимается вопрос о произведении универсальных расчетов «коэффициента отношения к текущему родителю». К сожалению, возникает ряд проблем с реализацией замысла предоставить пользователям обобщённую меру «коэффициента отношения к текущему родителю».

Первой проблемой является то, что концепция «родителя» по определению требует иерархии, а SSAS 2005 поддерживает множественные иерархии. Читать дальше »

Опубликовано 10.10.2008 | Автор сообщения Константин Лисянский | Категории: Business Intelligence, Gosbell, Darren, MDX, Microsoft, OLAP, Для начинающих, Для продвинутых, На русском, Разработчик приложений BI

Производительность MDX-функции IIF

Автор: Mosha Pasumansky
Перевод: Александр Орловский
Дата публикации оригинала: 2007-01-28
Источник: Блог Mosha Pasumansky

Функция IIF одна из наиболее популярных функций MDX (что было подтверждено этими исследованиями). Еще она может значительно снизить производительность, в чём часто обвиняют другие части системы. Во многих случаях можно переписать выражение MDX так, чтобы избавиться от IIF. В других случаях возможно немного изменить IFF для увеличения производительности. Пока я и другие указывают на этот факт в блогах, сообщениях на форумах, люди продолжают использовать и использовать эту функцию (и делают это неправильно). Что еще хуже, после того, как они видят оператор CASE в примерах и в BOL, люди начинают использовать CASE вместо IIF. С точки зрения производительности CASE всегда хуже, чем IIF. Наконец, IIF можно в некоторых случаях оптимизировать, но CASE – никогда. Таким образом, я решил выделить специальный блог, посвященный использованию и демонстрации IIF с примерами как это может быть ужасно и как это можно исправить.
Читать дальше »

Опубликовано 08.10.2008 | Автор сообщения Константин Лисянский | Категории: Business Intelligence, MDX, Microsoft, OLAP, Pasumansky, Mosha, Для начинающих, Для продвинутых, Для экспертов, На русском, Разработчик приложений BI

Воспользуйтесь преимуществом FE-кэширования для оптимизации производительности MDX

Автор: Mosha Pasumansky
Дата публикации оригинала: 2008-03-28
Источник: Блог Mosha Pasumansky

Мы обычно рассматриваем систему кэширования Analysis Services как чёрный ящик, считая, что она сделает как раз то, что нужно для оптимизации выполнения. И в идеальном мире система кэширования должна быть абсолютно прозрачной для конечных пользователей. И, хотя оптимизатор запросов MDX и система кэширования очень продвинуты, они не безукоризненны. В этой статье мы увидим, как с помощью очень простых изменений в MDX мы можем лучше воспользоваться преимуществами кэширования и значительно увеличить производительность расчётов. Читать дальше »

Опубликовано 07.10.2008 | Автор сообщения Константин Лисянский | Категории: Business Intelligence, MDX, Microsoft, OLAP, Pasumansky, Mosha, Архитектор BI, Для начинающих, Для продвинутых, На русском, Разработчик приложений BI

Сжатие данных в СУБД выходит на первый план

Автор: Curt Monash
Дата публикации оригинала: 2008-08-08
Перевод: Олег Кузьменко
Источник: Блог Курта Монаша

Я уже много писал о сжатии данных в СУБД, ориентированных на хранилища данных; поставщики предподносят компрессию как одно из основных достоинств их продуктов, которое приносит непосредственную выгоду клиентам. Наиболее примечательной, вероятно, является короткая статья, которую Майк Стоунбрейкер (Mike Stonebraker) написал для этого блога, о тех преимуществах в области компрессии, которыми обладают СУБД с хранением данных по столбцам перед теми, в которых данные хранятся построчно, еще до того, как он и его коллеги открыли свой блог. Компрессия уже давно играет одну из главных ролей в истории DATAllegro, в то время, как Netezza занялась этим вопросом совсем недавно. Одной из причин, почему Teradata поставлена в невыгодное положение в плане ценовой политики, может служить как раз слабая компрессия. И так далее.

Читать дальше »

Опубликовано 06.10.2008 | Автор сообщения Олег Кузьменко | Категории: DATAllegro, DWH, Microsoft, Monash, Curt, Oracle, Teradata, Vertica, itblogs, Администратор БД, Для начинающих, Для продвинутых, Для экспертов, На русском, Руководитель подразделения BI/DWH, Технический архитектор 1 комментарий

Анализ активных событий в MDX

Автор: Mosha Pasumansky
Перевод: Андрей Бабуров
Дата публикации оригинала: 2007-06-01
Источник: Блог Mosha Pasumansky

Измерение типа «Время» находятся на особом счету в OLAP-технологиях и хранилищах данных. Классические задачи, которые приходиться решать - это выборка из предыдущего периода, параллельного периода, расчет скользящего среднего и нарастающего итога.

В этой статье мы рассмотрим менее распространенную, но не менее интересную задачу - анализ событий, которые описываются более чем одной характеристикой времени. Например, у маркетинговой компании есть дата начала и дата окончания; полеты характеризуются временем вылета и прибытия; в примере Adventure works по каждому заказу отслеживается дата поступления, дата перевозки, дата доставки. Мы можем добавить ролевые измерения (role playing dimensions) для времени и включить их в куб. Читать дальше »

Опубликовано 25.09.2008 | Автор сообщения Константин Лисянский | Категории: Business Intelligence, MDX, Microsoft, OLAP, Pasumansky, Mosha, Для начинающих, Для продвинутых, Для экспертов, На русском, Разработчик приложений BI