Qlikview:获取值WHERE(值=最大值)

时间:2015-01-29 12:03:19

标签: qlikview

我有一个相对简单的问题:

我有一个数据集,包含一个id(不是用于输入但是用于特定对象),对象的年龄和功率值。

所以我得到的是很多条目,其中特定年龄的特定年龄有权力。

我想创建一个图表,显示所有对象(ID)上最高年龄的所有功率值的平均值。

在SQl中,这基本上看起来像SELECT power WHERE max(age)。

在qlik视图中,有人能以聪明的方式提出一个明智的方法吗?

我已经尝试将sum()函数与total一起使用,并在所有id上使用aggr,但我不断得到奇怪的结果。

我尝试使用set分析和aggr({} power,id),但它不起作用。

编辑:我试过了

aggr(if (age= max(age), power), id)

但是只要我选择一个包含多个条目(不同年龄)的ID,就不会显示任何数据。删除aggr函数时也一样。

并且:

Avg({$<age = max(age)>}Power)

根本不显示任何内容(它也显示错误)

还尝试过: Sum({$ <age= {$(=max(age))} > } power )

仍然没有。

由于 儒略

2 个答案:

答案 0 :(得分:1)

用firstordervalue解决了它:

avg(aggr(firstsortedvalue (power, -age), id)) 

答案 1 :(得分:0)

是设置分析应该有效。 类似的东西:

Avg({$<age = max(age)>}Power)

或者,您也可以使用条件和:

if (age = max(age), avg(Power))

Aggr用于在具有'group by'条件的记录列表上运行统计信息,如SQL中所示