Функция MDX Кроме функции в предложенииwhere
Вопрос
У меня возникла проблема с ограничением запроса в mdx с использованием функции исключений в предложенииwhere.мне нужно получить набор данных, но которых нет в определенном наборе.Затем я создал следующий запрос:
select {[Measures].[Amount], [Measures].[Transaction Cost], [Measures].[Transaction Number]} ON COLUMNS,{[ManualProcessing].[All ManualProcessings].[MAGNETICSTRIPE], ManualProcessing].[All ManualProcessings].[MANUAL]} ON ROWS
FROM [Transactions]
where except([Product].[All Products].Children,{[Product].[All Products].[Debit})
очевидно, это работает нормально, но когда я пытаюсь добавить еще одно ограничение для слайсера, я получаю эту ошибку:Ни одна функция не соответствует сигнатуре (Set,Member).
Сейчас я работаю над Мондрианом 3.1.
Можно ли добавить несколько ограничений к слайсеру при использовании функции исключения?есть ли другой способ получить это?
Решение 2
Судя по всему, это невозможно сделать в Mondrian, поскольку существует ошибка, не позволяющая использовать составные срезы.Я нашел хорошие решения, используя Mondrian OLAP Server.Он создает член, который исключает набор, который мне не нужен.Это выглядит так.
WITH member [Product].[Except] as ([Product].[All Products]) -
([Product].[All Products].[Debit])
SELECT {[Measures].[Amount],[Measures].[Transaction Cost], [Measures].[Transaction Number]} ON COLUMNS,
{[ManualProcessing].[All ManualProcessings].[MAGNETICSTRIPE],[ManualProcessing].[All ManualProcessings].[MANUAL]} ON ROWS
FROM [Transactions]
WHERE[Product].[Except]
Другие советы
А Кроме функции работает только с наборами.Но вы можете использовать n измерений в своем where
:
select {[Measures].[Amount], [Measures].[Transaction Cost], [Measures].[Transaction Number]} ON COLUMNS,{[ManualProcessing].[All ManualProcessings].[MAGNETICSTRIPE], ManualProcessing].[All ManualProcessings].[MANUAL]} ON ROWS
FROM [Transactions]
where
(
except([Product].[All Products].Children,{[Product].[All Products].[Debit}),
except([Set],[Set to exclude])
)
Это работает в Analysis Services 2005, должно работать и в Mondrian.