2016-04-13 2 views
0

Я надеюсь, что кто-то может помочь мне с моим последним hickup в дизайне моей мондринской схемы. Я использую Mondrian 4, Pentaho вместе с аналитикой Saiku 3.7.Mondrian Schema - Calculated Member size lookup

Я разрабатываю систему показателей производительности, основанную на разных KPI, которые, кажется, работают нормально. Моя проблема вычисления значений соотношения в MONDRIAN схеме, где мне нужно для поиска конкретного измерения, а затем возвращает соответствующее значение меры для данного расчета KPI

enter image description here

<CalculatedMember name="Actual Performance" dimension="Measures"> 
     <Formula>IIF([Performance].currentmember.name = 'Occupancy', 

     ([Performance].currentmember.prevMember ,[Measures].[Actual Performance1])   

     , [Measures].[Actual Performance1])</Formula> 
     <CalculatedMemberProperty name="FORMAT_STRING" value="#,###"/> 
     <CalculatedMemberProperty name="DATATYPE" value="Numeric"/> 
</CalculatedMember> 

Мой вопрос заключается в следующем:

Для строки кода выше:

(. [Производительность] .currentmember.prevMember, [Меры] [Фактическое Performance1])

Как изменить или указать метрику производительности (размерность) «Подключенное время», чтобы вернуть значение меры «Фактическая производительность» вместо использования предыдущего элемента/значения?

В псевдокоде я хочу это:.

а) найти размер "Connected Time"

б) возвращение [меры] [Фактические Performance1] значение для "Connected Time" размер

Мне действительно нужно рассчитать соотношение «Занятость» как «Общее время разговора», деленное на «Подключенное время», но просто нужно начать поиск по размеру.

В настоящее время моя строка кода возвращает предыдущее значение элемента в соответствии с скриншотом, поэтому я предполагаю, что я как бы на треке Righ, но застрял, поскольку я все еще изучаю Mondrian. У меня есть много этих KPI, которые должны быть рассчитаны таким образом.

Мне нужно найти способ вычисления коэффициентов KPI таким образом, чтобы не изменять схему звездной системы. Система показателей производительности представляет собой полный подход к балансовым индикаторам для центра обработки вызовов и прекрасно работает, за исключением того, что правильно рассчитаны коэффициенты.

ответ

1

Хорошо, я нашел способ сделать это после долгой борьбы.

<CalculatedMember name="Actual Performance" dimension="Measures"> 
     <Formula> 
     IIF 
     (
      [Performance].currentmember.name = 'Occupancy',    
      (
       ([Performance].[Total Call Time] ,[Measures].[Actual Performance1])/([Performance].[Connected Time] ,[Measures].[Actual Performance1]) * 100    
      ), 
      [Measures].[Actual Performance1] 
     )   
     </Formula> 
     <CalculatedMemberProperty name="FORMAT_STRING" value="#,###"/> 
     <CalculatedMemberProperty name="DATATYPE" value="Numeric"/> 
</CalculatedMember>