Почему Excel Grand Total возвращает ошибку (#ЗНАЧЕНИЕ!) При получении данных из OLAP-куба SSAS (многомерные выражения)?

#excel #ssas #mdx

#excel #ssas #многомерные выражения

Вопрос:

У меня возникла проблема с общим итогом в Excel, подключенным к OLAP-кубу. У меня есть мера, которая правильно вычисляется на уровне строк, но возвращает ошибку в общем итоге. Он возвращает мне ошибку #VALUE ! .

РЕДАКТИРОВАТЬ: я провел некоторый опыт и убедился, что ошибка появляется только тогда, когда у меня выбрано более одного года. Если у меня есть только один, данные возвращаются правильно.

Я пробую несколько изменений в измерении, но безуспешно.

Исходная мера:

 IIF([Tipo de Stock].[Tipo de Stock].CurrentMember IS [Tipo de Stock].[Tipo de Stock].amp;[7] OR, NULL,
SUM({NULL:[Data].[Por Mês].PrevMember},[Measures].[Movimento Valor])
)
 

Некоторые изменения, пытающиеся решить проблему:

 IIF([Tipo de Stock].[Tipo de Stock].CurrentMember IS [Tipo de Stock].[Tipo de Stock].amp;[7] OR IsEmpty([Measures].[Movimento Valor]), NULL,
SUM({NULL:[Data].[Por Mês].PrevMember},[Measures].[Movimento Valor])
)

IIF([Tipo de Stock].[Tipo de Stock].CurrentMember IS [Tipo de Stock].[Tipo de Stock].amp;[7], NULL,
SUM({NULL:[Data].[Por Mês].PrevMember},IsEmpty([Measures].[Movimento Valor],0))
)

IIF([Tipo de Stock].[Tipo de Stock].CurrentMember IS [Tipo de Stock].[Tipo de Stock].amp;[7], NULL,
IsEmpty(SUM({NULL:[Data].[Por Mês].PrevMember},[Measures].[Movimento Valor]),0)
)
 

Я также попробовал использовать CoalesceEmpty вместо isEmpty.

Редактирование 2: я пытаюсь реализовать область видимости, и она возвращает значения в общем итоге, но значения представляют собой сумму всех строк. Идея в том, что общий итог имеет первое значение.

 SCOPE([Measures].[Stock Inicial Valor]); 
    SCOPE([Data].[Por Mês].[Mês].members);  
        THIS = SUM({NULL:[Data].[Por Mês].PrevMember},[Measures].[Movimento Valor]); 
    END SCOPE;      
END SCOPE;
 

Любой может помочь попасть на правильный путь.

Спасибо за всю вашу помощь.

Комментарии:

1. Если общий итог — это итог внизу, что находится в строках? Является ли этот Por Mês атрибут таким, что общий итог является элементом All для этого атрибута?

2. Можете ли вы установить это бесплатное расширение Excel и запустить эту функцию, чтобы получить сообщение об ошибке? olappivottableextensions.github.io/View-Error-Message.html

Ответ №1:

Пожалуйста, попробуйте следующее:

 
IIF(
  [Tipo de Stock].[Tipo de Stock].CurrentMember IS [Tipo de Stock].[Tipo de Stock].amp;[7] 
  OR [Data].[Por Mês].PrevMember IS NULL,
  NULL,
  SUM({NULL:[Data].[Por Mês].PrevMember},[Measures].[Movimento Valor])
)
 

Я подозреваю, что проблема в том, что {Null:Null} недопустимо, поэтому мы защищаемся от этого в новом операторе IIF.

Если проблема не в этом, пожалуйста, установите это бесплатное расширение Excel и используйте эту функцию, чтобы получить правильное сообщение об ошибке для дальнейшего устранения неполадок.

Комментарии:

1. Спасибо, Грег, я попробовал твое предложение, но безуспешно. Я пытаюсь реализовать область видимости, и она возвращает значения в общем объеме, но значения являются СУММОЙ всех строк. Идея в том, что общий итог имеет первое значение.

2. @RicardoCastro вы установили это расширение и зафиксировали ошибку за #VALUE! ячейка? Можете ли вы предоставить обновленный скриншот, показывающий, что вернули мои вычисления?

3. Привет, @Greg, Прежде всего, большое спасибо за вашу помощь. Однако я больше не получаю ошибку, используя область видимости, как я изложил ее в приведенном выше издании или в предложении, которое вы мне дали, добавить «[Дата]. [В месяц] .PrevMember РАВНО нулю», но Total возвращает сумму, когда то, что мне нужно в сумме, было значением первого элемента. Идея в том, что эта метрика возвращает начальный запас за месяц, и в целом я хотел получить значение первого просматриваемого месяца.