parent-child - 如何使用一元运算符对排列在父子层次结构中的数据执行 YTD 聚合?

标签 parent-child mdx cumulative-sum iccube

我正在为 OLAP 数据库 icCube 中的帐户使用父子关系。为了包含财务逻辑,我使用了一元运算符。此外,我已经使用多对多关系设置了几个帐户层次结构,一切都运行得非常顺利,除了......

当我想对结果应用时间逻辑时,例如通过以下方式显示 2014 年 4 月 30 日的 YTD 值:

聚合(交叉连接({[View]。[View]。[Periodiek]},PeriodsToDate([Tijd]。[Kalender]。[jaar],[Tijd]。[Kalender]。currentmember)))

我收到消息:

Aggregate() : the aggregation 'unary-operator' is not supported (measure or calculated measure/member:[Measures].[bedrag])

显然,这不是执行此操作的方法。

如何在此设置中获得累计数字(本期至今)?

最佳答案

当前版本的 icCube - 4.8.2 - 不支持聚合类型为“一元运算符”的度量的聚合函数。请参阅聚合函数文档 here .

如果您使用多对多关系以及特殊度量聚合类型,则聚合函数有点不可靠。例如:

     Aggregate( { [Account1], [Account2] }, [Measures].[Special] )

如果 [Special] 是具有“Sum”聚合类型的度量,并且 [Account1] 和 [Account2] 具有多对多关系,我们将对相同的“共享”数量进行两次计数(也就是同一行被计数两次).

只是不支持具有聚合类型的其他度量,以避免出现意外结果。这适用于聚合类型打开/关闭/不同计数。

您的解决方案是使用 Sum 函数:

Compact Set 允许压缩集以防您使用数天或数小时来减少集。这是一个性能助推器。

如果您想正确处理 m2m 关系和特殊度量聚合类型,您可以使用 icCube 中的类别,请参阅此处一些 doc .很快,它们允许将成员动态定义为一组元组。

为了正确支持聚合,我们应该添加一个新方法,例如icAggregate,就像使用类别一样工作。 Aggregate函数有点奇怪,我们暂时模仿一下SSAS...

关于parent-child - 如何使用一元运算符对排列在父子层次结构中的数据执行 YTD 聚合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27764412/

相关文章:

java - 如何添加 <fx :root> component as a child in FXML?

javascript - 从 html 页面内部更新父变量

mysql - 在 MySQL 中运行日期总和

ssas - 基于 mdx 中不同数字计数的数字平均值

python - 如何在Python中进行运行求和?

sql - 在postgresql中计算百分比

java - 如何将节点添加到不是主要父对象 (javafx) 的对象?

oracle - 将父子数据放入基于 Oracle 级别的 OLAP 层次结构

reporting-services - 使用 MDX 在查询设计器中筛选成员属性

mdx - 在 MDX 中列出成员及其所有后代的最佳方式是什么?