Mondrian Schema - 计算的成员维度查找
Posted
技术标签:
【中文标题】Mondrian Schema - 计算的成员维度查找【英文标题】:Mondrian Schema - Calculated Member dimension lookup 【发布时间】:2016-04-13 08:15:03 【问题描述】:我希望有人可以帮助我设计我的蒙德里安模式。我使用 Mondrian 4、Pentaho 和 Saiku 分析 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) 返回“连接时间”维度的 [Measures].[Actual Performance1] 值
我实际上需要计算比率“占用”作为“总通话时间”除以“连接时间”,但只需要开始维度查找。
目前我的代码行根据屏幕截图返回前一个成员值,所以我猜我有点走在正确的轨道上,但现在卡住了,因为我还在学习蒙德里安。我有很多需要以这种方式计算的 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>
【讨论】:
以上是关于Mondrian Schema - 计算的成员维度查找的主要内容,如果未能解决你的问题,请参考以下文章
SQL Power Architect Mondrian Schema:创建两个具有相同维度的多维数据集
如何在 Mondrian 4 Schema 中使用来自 PostgreSQL 的时间戳?