SSAS - рассчитанная мера OLAP - неверные итоги по дате фильтрации - PullRequest
0 голосов
/ 27 февраля 2019

Моя проблема при добавлении вычисляемой меры в куб OLAP.Может быть, кто-нибудь может мне помочь.

Краткий обзор структуры моего куба OLAP:

  • Некоторые измерения (неважно)
  • Измерение даты с четырьмя иерархиями
  • Некоторые меры (неважно)
  • Четыре меры оборота из разных групп мер

Измерение даты:

[Date]    
[Year – Month – Date]   
[Year– Month – Quarter – Date]  
[Year – Week – Date]  

Группы мер и меры: Группа:Продажи - показатель: оборотная сеть
Группа: конец дня - показатель: оборотная сеть EOD
группа: портал на конец дня - меры: портал оборотной сети EOD и оборотная сеть EOD оценивается

Now Iсоздал вычисляемую меру «Оборотная чистая консолидированная», которая содержит одну из указанных выше мер в зависимости от доступности.

Это иерархия для измерения оборота: Оборотная сеть -> Оборотная сеть EOD (может быть не большечем 10%, то EOD Turnover Portal Net) -> EOD Turnover Net Portal -> EOD Turnover Net Portal Примерная

Вот код для новой меры (например,mple с иерархией [год-месяц-квартал-дата]):

CREATE MEMBER CURRENTCUBE.[Measures].[Turnover Net Consolidated]
 AS (

 SUM(

    DESCENDANTS([Date].[Year - Quarter - Month - Date].CURRENTMEMBER, [Date].[Year - Quarter - Month - Date].[Date])

    ,       
     IIF(([Measures].[Turnover Net] = 0 or [Measures].[Turnover Net] is null )
          , IIF(([Measures].[EOD Turnover Net] = 0 or [Measures].[EOD Turnover Net]  is null )
              , IIF(([EOD Turnover Net Portal] = 0 or [EOD Turnover Net Portal]  is null )
                     , [Measures].[EOD Turnover Net Portal Estimated]
                     , [EOD Turnover Net Portal] 
                   )
              , IIF(([EOD Turnover Net Portal] = 0 or [EOD Turnover Net Portal]  is null )
                     , [Measures].[EOD Turnover Net]
                     , IIF( [Measures].[EOD Turnover Net] > ((([EOD Turnover Net Portal] / 100 ) * 10) + [EOD Turnover Net Portal])
                            , [EOD Turnover Net Portal]
                            , [Measures].[EOD Turnover Net]
                           )
                    )
                   )
           , [Measures].[Turnover Net]
          )

     )
  ), 
FORMAT_STRING = "#,##0.00;-#,##0.00", 
VISIBLE = 1 ,    ASSOCIATED_MEASURE_GROUP = 'Sales', DISPLAY_FOLDER = 'Consolidated Measures';  

Кажется, это правильно на уровне дня, месяца и квартала.Эта мера принимает правильное значение и строит правильные итоги.К сожалению, это неправильно на уровне года, когда я использую фильтр, например, чтобы получить только первый квартал 2015 года. Итого за год получается целый год, а не только отфильтрованный первый квартал 2015 года.

Вот скриншот:

Квартальный вид:

enter image description here

Год:

enter image description here

Дневной обзор:

enter image description here

Не работает с [Год - Месяц - Квартал- Дата] Иерархия в Excel.Когда я выбираю иерархию [Год - Неделя - Дата], она работает правильно.

Когда я меняю сценарий расчета на иерархию [Год - неделя - дата], иерархия [Год - Месяц - Квартал - Дата] работает в Excel, но год [Неделя - Дата] имеет неверный годитоги.

Кто-нибудь может здесь помочь?Что не так в моем скрипте расчета?

...