2012-01-02 5 views
0

Теперь моя проблема заключается в состоянии фильтра в MDX query.The MDX запросе, используемом мной показано нижеMDX «FILTER» условие не работает

SELECT 
NON EMPTY { [Channel].[Grand Total], 
      [Channel].[Grand Total].Children } ON COLUMNS, 
NON EMPTY { [Offer].[Grand Total], 
      [Offer].[Grand Total].Children } ON ROWS 
FROM 
    [SCMAircelCube] 
WHERE 
([Measures].[TotalCount], 
    [BasicCause].[Subscriber activated successfully] , 
    [SubscriberProfile].[Active], 
    [Circle].[ASSAM]) 

Проблемы с этим запросом, это показывает предложения, начинающееся с «» AOL ". Фактически я не хочу показывать это предложение в отчете. Поэтому я пытаюсь использовать условие FILTER. Но он тоже не работает. Я получаю сообщение об ошибке. Может кто-нибудь мне помочь Я хочу использовать условие фильтра для ROWS . Я использовал следующий MDX для фильтрации. Но возникает ошибка

SELECT 
NON EMPTY { [Channel].[Grand Total], 
      [Channel].[Grand Total].Children } ON COLUMNS, 
FILTER({ [Offer].[Grand Total], 
      [Offer].[Grand Total].Children !=[AOL]}) ON ROWS 
FROM 
    [SCMAircelCube] 
WHERE 
([Measures].[TotalCount], 
    [BasicCause].[Subscriber activated successfully] , 
    [SubscriberProfile].[Active], 
    [Circle].[ASSAM]) 

Спасибо и наилучшие пожелания plshelpmep

ответ

0

Вашего filter mdx function, который, скорее всего, причина проблемы, вы можете попробовать что-то вроде:

FILTER({ [Offer].[Grand Total],[Offer].[Grand Total].Children}, 
     [Offer].[Grand Total].currentmember is not [Offer].[Grand Total].[AOL]) 

В качестве ответа на Вас комментарии и крепежные кронштейны вопросы:

SELECT 
{ [Channel].[Grand Total], [Channel].[Grand Total].Children } ON COLUMNS, 
FILTER ({[Offer].[Grand Total], [Offer].[Grand Total].Children }, 
    not([Offer].[Grand Total].currentmember is [Offer].[Grand Total].[AJOKED])) ON ROWS 
FROM [SCMAircelCube] 
WHERE ([Measures].[TotalCount], [Time].[2012].[1], [BasicCause].[Subscriber activated successfully], [ContentCategory].[SMS], [SubscriberProfile].[Active], [Circle].[KARNATAKA]) 
+0

Привет .., я поменял свой MDX-запрос на следующий формат с указанным выше условием «ФИЛЬТР», как ваш. Теперь снова я получаю ошибку, например «Выполнение запроса не удалось». Исключение было встречено при выполнении такого запроса. Любая идея ... – user969084

+0

MDX Qry, используемый мной, является .. SELECT {[Channel]. [Grand Total], [Channel]. [Grand Total] .Children} ON COLUMNS, FILTER ({[Offer]. [Grand Итого], [Предложение]. [Grand Total]. Дети, {[Предложение]. [Grand Total] .currentmember не [[Предложение]. [Grand Total] .AJOKED]}) ON ROWS FROM [SCMAircelCube] WHERE ([Measures]. [TotalCount], Time]. [2012]. [1], [BasicCause]. [Абонент активирован успешно], [ContentCategory]. [SMS], [SubscriberProfile]. [Active], [ Circle]. [KARNATAKA]) – user969084

+0

Я исправил некоторые вопросы о скобках и изменил «не» на «нет» и «есть». Можете ли вы попробовать сейчас? ... если не удалять предложение where, после этого фильтра (целое по строке ROWS) используйте {[Предложение]. [Grand Total], [Offer]. [Grand Total] .Children} ON ROWS ... для проверки что не так – ic3

0

Вы могли бы использовать КРОМЕ функции:

SELECT 
NON EMPTY { [Channel].[Grand Total], 
      [Channel].[Grand Total].Children } ON COLUMNS, 
{ [Offer].[Grand Total], EXCEPT({[Offer].[Grand Total].Children}, {[Offer].[Grand Total].[AOL]})} ON ROWS 
FROM 
    [SCMAircelCube] 
WHERE 
([Measures].[TotalCount], 
    [BasicCause].[Subscriber activated successfully] , 
    [SubscriberProfile].[Active], 
    [Circle].[ASSAM]) 
+0

Привет .. !!!, Большое спасибо. Теперь он работает нормально ..Теперь я пытаюсь отфильтровать несколько имен предложений, используя тот же запрос ..? Возможно ли это с условием «ЗА ИСКЛЮЧЕНИЕМ»? – user969084

+0

Привет, я попробовал этот запрос .. SELECT NON EMPTY {[Channel]. [Grand Total], [Channel]. [Grand Total] .Children} ON COLUMNS, {[Offer]. [Grand Total], ЗАПРЕЩАЕТСЯ {{ПРЕДЛОЖЕНИЕ]. [Grand Total] .Детские дети, {[Предложение]. [Grand Total]. [AJOKED]}), ЗА ИСКЛЮЧЕНИЕМ ({[Предложение]. [Grand Total] .Дети детей, {[Предложение] . [Ассимут]}}} ON ROWS FROM [SCMAircelCube] WHERE ([Measures]. [TotalCount], [BasicCause]. [Абонент активирован успешно], [Круг]. [ASSAM]). только первое условие «ЗА ИСКЛЮЧЕНИЕМ» - work.ie, имя предложения «AJOKED» фильтруется, но «Airauto» не ... – user969084

+0

Используйте это: За исключением ({[Предложение]. [Grand Total] .Children}, {[Offer]. [ Grand Total]. [AJOKED], [Предложение]. [Grand Total]. [Airauto]}) –