2016-06-13 7 views
0

Я написал запрос, как указано ниже:Неправильный результат функции IIF в MDX

WITH 
    SET [kpi_study] AS 
    {[study].[study].[BHC June12]} 
    SET [geographic] AS 
    {[territory.market_hierarchy].[state].[HP]} 
    SET [brand] AS 
    {[brand.brand_hierarchy].[brand].[Gold Flake (Unspecified)]} 
    SET [edu12] AS 
    IIF 
    (
     'All' = 'All' 
    ,[education].[education].MEMBERS 
    ,[education].[education].[All] 
    ) 
SELECT 
    NON EMPTY 
    {[Measures].[tom]} ON COLUMNS 
FROM [funnel_analysis] 
WHERE 
    {[kpi_study]*[geographic]*[brand]}; 

Результат: Том: 4,19

Вместо Все если я передаю (SSC/HSC) любое другое значение, всегда получающее одинаковое значение. Может любая помощь мне, где я делаю wrong.it означает, что функция IIF работает некорректно.

+1

'Вместо всех, если я передаю (SSC/HSC) любое другое значение, всегда получающее то же значение' - можете ли вы объяснить, что вы имеете в виду, с помощью примера и отредактировать исходный вопрос? – SouravA

+0

@sourava: Здесь All - значение параметра, исходящее на основе выбора. Если я получаю все, тогда он будет включать в себя всех членов и предоставить мне результат объединения, иначе это даст мне этот конкретный результат. – sam140

ответ

0

Вы следующее:

SET [edu12] AS 
    IIF 
    (
     'All' = 'All' 
    ,[education].[education].MEMBERS 
    ,[education].[education].[All] 
    ) 

Так что я угадывание All заполнители?! - и вы говорите, когда вы меняете один из них, ничего не происходит.

Это потому, что в вашем выборе вы фактически не используете SET под названием [edu12], так зачем же что-то менять?

SELECT 
    NON EMPTY 
    {[Measures].[tom]} ON COLUMNS 
FROM [funnel_analysis] 
WHERE 
    {[kpi_study]*[geographic]*[brand]}; 

[edu12] Предполагается, что на рядах?

+0

Спасибо за ваш быстрый ответ. Все это значение, поступающее через параметр, основанный на выборе. Я просто хочу вернуть только меру value.based на мое условие, поэтому я не определяю [edu12] как строки – sam140

+0

решить проблему используя указанный ниже запрос. SET [edu12] КАК ИМФ ( 'Все' = 'Все' , [образование]. [Образование] .MEMBERS , [образование]. [Образование]. [Все] ) ПОЛЬЗОВАТЕЛЯ [Меры] . [т] А.С. (SUM ([edu12], [Меры]. [том])) ВЫБОР непустых {[мер]. [T]} на колоннах из [funnel_analysis] – sam140