Использование Adventureworks DW 2008 cube Я пытаюсь создать запрос MDX, который вернет счет интернет-заказов, у которого не было кода конкретной причины для заказа.SSAS MDX для отношений многих-многих
FactInternetSales имеет много для многих с FactInternetSalesReason. Каждая продажа имеет 1 или более кодов причин.
Если я попытаюсь вернуть заказы, в которых не используется причина «Поощрение», я по-прежнему получаю заказы на продвижение, включенные в счет, потому что у них также есть другие причины.
Как написать MDX, чтобы сказать, что если этот порядок имеет эту причину, не включайте его в счет, независимо от каких-либо других причин?
Эквивалент SQL против авантюры работает SQL хранилища данных будет:
select count(distinct salesordernumber) from FactInternetSales
where not exists (select salesorderNumber
from FactInternetSalesReason
where SalesReasonKey = 2
and FactInternetSales.SalesOrderNumber = FactInternetSalesReason.SalesOrderNumber
)
Спасибо. Это работает на кубе приключений, но он не работает в моем кубе. Что-то должно сломаться на моем кубе. Вернуться к доске для рисования. :) – Mike
Когда я посмотрел цифры ближе, ваш второй запрос вернул 21,197 из AW-куба для заказов с включенным промо-акцией, но ваш третий запрос, используя рассчитанную меру, возвращает On Promotion Excluded orders как 24144. Итак, теперь я пытаюсь выяснить, что вызывает несоответствие – Mike