我想通过使用文本对象来计算5年的年平均利润增长率。 Qlikview似乎不支持嵌套聚合......我是QlikView的新手,有人可以帮助我吗?
Tried query:
='Annual Growth Rate (2003-2007) :' & avg((sum(Profit_per_Product)/sum(Total_Retail_Price))*100)
提前致谢!
答案 0 :(得分:0)
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页)。