我希望有人可以帮助我完成最新的设计我的mondrian架构。我使用Mondrian 4,Pentaho和Saiku analytics 3.7。
我正在设计一个基于不同KPI的性能指标系统,它似乎工作正常。我的问题是在mondrian模式中计算比率值,我需要查找特定维度,然后为给定的KPI计算返回适当的度量值
<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>
我的问题是:
对于上面的代码行:
([Performance] .currentmember.prevMember,[Measures]。[Actual Performance1])
如何更改或指定(维度)性能指标“已连接时间”以返回“实际性能”度量值而不是使用先前的成员/值?
在伪代码我想要这个:
a)找到尺寸“连接时间”
b)返回“连接时间”维度的[度量]。[实际性能1]值
我实际上需要计算比率“占用率”作为“总呼叫时间”除以“连接时间”,但只需要开始查找维度。
目前我的代码行按照屏幕截图返回前一个成员值,因此我猜我现在正处于正常轨道上,但现在因为我还在学习蒙德里安而陷入困境。我有很多这些KPI需要以这种方式计算。
我需要找到一种以这种方式计算KPI比率的方法,因此不能改变星型模式,性能度量系统是呼叫中心的完整平衡记分卡方法,除了正确计算比率之外,效果很好。
好吧,经过长时间的斗争,我找到了一种方法。
<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>