我想用一个文本对象来计算5年的年平均利润增长率。Qlikview似乎不支持嵌套聚合。我是QlikView的新手,有人能帮我吗?
Tried query:
='Annual Growth Rate (2003-2007) :' & avg((sum(Profit_per_Product)/sum(Total_Retail_Price))*100)
提前感谢!
发布于 2014-07-06 23:19:48
QlikView确实支持嵌套聚合,如果您使用AGGR
函数,它可以满足您的需求。此函数允许您在指定的最简单的维度集合上进行聚合,如下所示:
=aggr(expression,dimension)
这意味着expression
是针对dimension
的每个值计算的。例如,在您的示例中,如果您使用sum(Profit_per_Product)/sum(Total_Retail_Price)
作为表达式,并使用包含数据年份的维度,那么aggr将产生五个不同的值(一年中每个变化一个)。当您希望取平均值时,AVG
函数愉快地接受这五个值,并为您提供所需的结果。
因此,您所需要做的就是将表达式稍微更改为以下内容(这里我假设包含年份的维度名为Year
):
='Annual Growth Rate (2003-2007):' & num(avg(aggr(sum(Profit_per_Product)/sum(Total_Retail_Price),Year)),'0.00%')
我还添加了NUM
函数,将结果格式化为百分比。
关于高级聚合(即AGGR
)的更多信息可以在QlikView参考手册第25.2节中找到(在我的副本中,它在第291页)。
https://stackoverflow.com/questions/24528111
复制相似问题