Если это то же самое заявление MDX, которое ведет себя по-разному в зависимости от среды (SSMS против PPS) на одном и том же кубе, тогда я могу только представить, что параметры соединения или некоторые настройки сеанса повлияют на результат.
Тем не менее, NonEmptyCrossJoin
является deprecated since SQL Server 2005. Вместо того, чтобы использовать эту функцию, вы можете использовать NON EMPTY
оси модификатор и обычный крест присоединиться, в сокращенном виде *
следующим образом:
select [Measures].[ASD] on 0,
non empty
[DCode].[DCode].children * [SAMPLECODE].[SAMPLECODE].members
on 1
from p
EDIT
As - в соответствии с вашим комментарием - вы получите сообщение об ошибке сообщение для не пустой, я попробовал его на Adventure Works в AS2008R2, и следующий запрос работает отлично:
select [Measures].[Internet Sales Amount] on 0,
non empty
[Customer].[Country].children * [Customer].[Gender].members
on 1
from [Adventure Works]
Таким образом, я предполагаю, у вас есть ошибка в Translat иона между указанным выше запросом и вашим реальным запросом. Я не смогу найти это, не увидев ваш оригинальный запрос!
Это не работает = Значения фильтра также показывают нулевые значения. – user1800552
Вы сравнили полный оператор или просто фрагменты утверждений между PPS и SSMS? Полный отчет представляет много контекста, что чрезвычайно важно в MDX. Чтобы действительно помочь вам, нам нужно было бы увидеть полную инструкцию MDX. – FrankPl
выберите [Меры]. [ASD] на 0, nonemptycrossjoin ( [DCode]. [DCode] .children), [SAMPLECODE]. [SAMPLECODE] .members) от р Я считаю, что суть этого запроса в формуле соединения? – user1800552