利用文本对象计算qlikview年利润增长的查询

时间:2014-07-02 09:55:14

标签: function qlikview

我想通过使用文本对象来计算5年的年平均利润增长率。 Qlikview似乎不支持嵌套聚合......我是QlikView的新手,有人可以帮助我吗?

Tried query:

='Annual Growth Rate  (2003-2007)  :' & avg((sum(Profit_per_Product)/sum(Total_Retail_Price))*100)

提前致谢!

1 个答案:

答案 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页)。