Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 MDX запрос  [new]
assmsk
Member

Откуда:
Сообщений: 87
Добрый день, помогите написать запрос, уже всю голову сломал так как с mdx сталкиваюсь крайне редко

Есть измерения [тип продукта], [флаг1],[флаг2]

и метрики [сумма1], [сумма2], [сумма3]



Нужно на mdx написать запрос который в sql выглядит так:


select

sum
(
case when [тип продукта] = 'Тип1' and [флаг1]= 'Y' then [сумма1]
when [тип продукта] = 'Тип2' and [флаг2]= 'Y' then [сумма2]
else 0 end
)

/

sum
(
case when [тип продукта]= 'Тип1' and флаг1<> 'X' then [сумма3]
when [тип продукта]= 'Тип2' and флаг2<> 'X' then [сумма2]
else 0 end
)


from table
27 авг 18, 17:17    [21655259]     Ответить | Цитировать Сообщить модератору
 Re: MDX запрос  [new]
vikkiv
Member

Откуда: London
Сообщений: 1687
assmsk,
как есть:
with member[Measures].[test1]as
case when[тип продукта].[тип продукта]is[тип продукта].[тип продукта].&[Тип1]and[флаг1].[флаг1]is[флаг1].[флаг1].&[Y]then[Measures].[сумма1]
when[тип продукта].[тип продукта]is[тип продукта].[тип продукта].&[Тип2]and[флаг1].[флаг1]is[флаг1].[флаг1].&[Y]then[Measures].[сумма2]
else 0end
/
case when[тип продукта].[тип продукта]is[тип продукта].[тип продукта].&[Тип1]and not([флаг1].[флаг1]is[флаг1].[флаг1].&[X])then[Measures].[сумма3]
when[тип продукта].[тип продукта]is[тип продукта].[тип продукта].&[Тип2]and not([флаг1].[флаг1]is[флаг1].[флаг1].&[Y])then[Measures].[сумма4]
else 0end
select[Measures].[test1]on 0,
non empty([тип продукта].[тип продукта].children,[флаг1].[флаг1].children)
on 1from [My_Cube]
только остаётся вопрос почему в твоей логике отсутствует проверка деления на ноль и зачем выводить весь массив из измерения, даже там где null (заменяя на 0)
27 авг 18, 17:41    [21655286]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить