我在总帐管理系统代码块的基础上在icCube中构建了一个模型,该代码块具有以下维度(非限制性):
将此模型加载到工具Planning中时,如果x轴上的3个以上维度折叠到底层,则会出现性能问题.
我试图检查icCube是否可以更好地处理这个问题,但是3维的语句花了我超过1700秒:
select [Dec] on 0
, non empty { Descendants([Account].[Account].[Total],,leaves) }
* { Descendants([Activity].[Activity].[Total],,leaves) }
* { Descendants([CostCenter].[CostCenter].[Total],,leaves) } on 1
from finance
Run Code Online (Sandbox Code Playgroud)
在行上具有多个维度的原因是用户希望尽可能多地查看代码块的细节,优选地是完整的代码块.
我受到以下事实的挑战:其他工具可以非常轻松地处理这类事情,因为它没有OLAP数据库底层,但它使用层次结构直接在数据单元上查询.在Excel中查询数据的提取时获得相同的性能(没有太多的数据行).
有关数据的信息:
有任何建议或暗示如何解决这个问题?
在Chris Web 的帖子之后,我正在寻找一种快速查找客户最后购买的方法.
我使用如下的MDX语句:
WITH FUNCTION previous_buys() AS tail( nonempty({NULL:[Time].[Time].currentmember.prevmember} ,[measures].[sales amt]),1)
MEMBER [last buy] as previous_buys().(0).key
select [measures].[last buy] on 0
, [Customers].[Customers].[name].members on 1
from [Store Sales]
where [Time].[Time].[day].&[2015-12-20T00:00:00.000]
Run Code Online (Sandbox Code Playgroud)
这给出了预期,但需要很长时间.是否有一种简单的方法来加速这种查询.由于icCube与Microsoft MDX有所不同,我不能只复制Chris Web的解决方案.
有任何想法吗?