【问题标题】:Qlik View: Get Values WHERE (value2 = max)Qlikview:获取值 WHERE(值 = 最大值)
【发布时间】:2015-01-29 12:03:19
【问题描述】:

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

我有一个数据集,它包含一个 id(不是用于条目,而是用于特定对象)、对象的年龄和功率值。

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

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

在 SQl 中,这基本上类似于 SELECT power WHERE max(age)。

任何人都可以在 qlik 视图中以一种智能的方式提出一个智能的方法吗?

我已经尝试过使用 sum() 函数和 total 并在所有 id 上聚合它,但我不断得到奇怪的结果。

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

编辑:我试过了

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

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

还有:

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

什么都不显示(它也显示一个错误)

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

还是什么都没有。

谢谢 朱利安

【问题讨论】:

  • 它应该适用于集合分析,您可以在此处添加您的语句吗?

标签: qlikview


【解决方案1】:

用firstordervalue解决了:

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

【讨论】:

    【解决方案2】:

    是的,集合分析应该可以工作。 类似的东西:

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

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

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

    Aggr 用于对具有 SQL 中的“分组依据”条件的记录列表运行统计信息

    【讨论】:

    • 如果我这样做,我将如何获得对所有 ID 的平均权力?正如我所说,我重复了代表特定对象的 ID,我想在每个对象的最大年龄建立所有功率值的平均值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 2021-02-14
    • 1970-01-01
    相关资源
    最近更新 更多