Добавить в избранное   Сделать стартовой   Главная   E-mail   Форум   Мой блог 
   
Cертификации

Errors

ETL

FAQ (по темам)

GIS

Web

wiki

Администрирование

Безопасность

Книги
Oracle, ...

Новости

ОС

Программирование

Проектирование БД

Производительность

Скачать

Советы

Тестирование

Установка

FAQ - по базам данных
FAQ - по базам данных
Установка СУБД
Oracle
Sybase
MySQL
PostgreSQL
MS SQL Server
Interbase, Firebird
Другие DB
Администрирование
Oracle
MySQL
Sybase
PostgreSQL
MS SQL Server
Interbase, Firebird
IBM DB2
Другие DB
Проектирование БД
Статьи
ETL
Теория БД
ErWin
Designer 2000
PowerDesigner
Хранилища данных
CASE средства
OLAP
Бизнес - анализ (BI)
Производительность
Oracle
MSSQL
Interbase, Firebird
IBM DB2
MySQL
PostgreSQL
SYBASE
Безопасность БД
Oracle
MS SQL Server
Инъекция SQL
Программирование
Transact-SQL
PL/SQL
C++
XML
SQL
PostgreSQL
MDX
Java
VBA Excel
Книги по базам
Oracle
Заказ книг
ОС
Установка и настройка
UBUNTU
ОС
Установка и настройка
UBUNTU
FAQ
FAQ - по базам данных
Главная arrow MDX
MDX - multi-dimensional expressions for OLAP

Optimizing MDX with MDX Studio

Печать E-mail

    In this article we will show how to take typical, everyday MDX and optimize it by simply following advices of MDX Studio Analyzer.

As a starting point, I will take “Product Volatility” example as published by Thomas Ivarson in his blog. It is a perfect example, because Thomas took a real business problem, and implemented it using very clean and straightforward MDX, just like I expect many MDX practitioners do. This MDX can be optimized, but some of these optimizations might not be obvious. Running MDX Studio Analyzer and following its advices takes the guesswork out of equation.

Here is the MDX that computes total number of products, number of products with sales increased from last month and number of products with sales decreased from last month:

Подробнее...
 

MDX Specification

Печать E-mail

 MDX was introduced by Microsoft with Microsoft SQL Server OLAP Services in around 1998, as the language component of the OLE DB for OLAP API. More recently, MDX has appeared as part of the XML for Analysis API. Microsoft proposed MDX as a standard, and its adoption among application writers and other OLAP providers is steadily increasing.

What is the syntax of MDX? 

A basic MDX query looks like this:

SELECT {[Measures].[Unit Sales], [Measures].[Store Sales]} ON COLUMNS,
{[Product].members} ON ROWS
FROM [Sales]
WHERE [Time].[1997].[Q2]

 

Подробнее...
 

Язык MDX

Печать E-mail

 Назначение языка MDX (Multidimensional Expressions) — предоставить в распоряжение разработчиков средство для более простого и эффективного доступа к многомерным структурам данных. В Microsoft SQL Server 2000 Analysis Services язык MDX используется для формирования запросов и описания алгоритмов получения вычисляемых значений. Следует сказать, что язык MDX никак не связан с Microsoft SQL Server 2000 Analysis Services, а является частью спецификации OLE DB for OLAP и, таким образом, поддерживается на уровне провайдера доступа к данным (OLE DB-провайдера), а не самого OLAP-хранилища. Этот язык можно сравнить с языком SQL. Но если SQL используется для извлечения реляционных данных, то MDX служит для извлечения многомерных данных. Естественно, что, как и в случае с языком SQL, возможны некоторые отклонения от стандарта. В этой статье мы рассмотрим язык MDX применительно к Microsoft SQL Server 2000 Analysis Services.


 

Подробнее...
 

Подсчёт отличающихся значений в языке MDX

Печать E-mail

 Сколько элементов набора данных имеют отличающиеся значения? Это кажется простым вопросом. Ясно, что эта проблема давно известна в Excel и для нее есть классическое решение. В Интернете есть много сайтов (например здесь и здесь), которые дают следующее решение:

=SUM(1/COUNTIF(A1:A6,A1:A6)))

(обратите внимание, что эту формулу необходимо вводить с помощью Ctrl-Shift-Enter, для указания того, что это матричная формула, в противном случае результат будет неправильным – это одна из хитростей в Excel).

Когда кто-то показал мне это решение, я посмотрел на него и не понял, как это работает. Только переписав это в MDX я понял в чем дело. Давайте возьмем следующий пример на основе Adventure Works – мы хотим сосчитать, со скольки различных букв начинаются названия продуктов (просто для того, чтобы подобрать что-то, для чего в измерении Продукт нет специального атрибута, потому что в противном случае это было бы слишком просто). MDX, создающий тот же алгоритм, что и вышеуказанная формула в Excel в данных условиях будет выглядеть следующим образом:

 

Подробнее...
 

Оптимизация MDX-формул вида Count(Filter(…))

Печать E-mail

   Как уже знают читатели моего блога, режим массового вычисления (в Katmai он называется режим блочных вычислений (block computation mode)) даёт намного большую производительность MDX чем, поячеечный (cell-by-cell). Следовательно, наиболее важной техникой оптимизации MDX в Analysis Services является написание MDX, который задействует механизм блочного режима вычислений. Легко сказать, но не всегда легко сделать. Вместе с релизом Katmai CTP5, Microsoft опубликовал статью BOL, описывающую в общих чертах условия, при которых блочные вычисления возможны и при которых нет. Крис Веб (Chris Webb) прицепился к этой статье и упомянул в своём блоге, что “список функций над множествами немного ограничен (где же Filter?)“. В ответ на это я сказал, что не думаю что Filter – это распространённая функция в MDX вычислениях, но Грег Галовей (Greg Galloway) тут же привёл хороший пример с Count(Filter(…)). И это действительно распространённое вычисление – довольно таки часто необходимо узнать сколько элементов множества удовлетворяют определённому условию. (Пример Грега был найти сколько врачей приняли 10 и более пациентов за определённый период времени)


 

Подробнее...
 
Взаимосвязанные статьи
     

Последние добавленные статьи
Поиск
Ссылки
Главная
Скачать
Курсы
Роль АБД (SYSDBA)
Карта сайта
Автостекла
Контакты
Войти на сайт
Популярные статьи
Online - тесты
1Z0-042
Rambler's Top100 МЕТА - Украина. Рейтинг сайтов хостинг от freehost.com.ua

Все права защищены.SYSDBA 2010 | Если у Вас есть хороший материал пришлите его нам.