【问题标题】:Two aggregation in a single expression单个表达式中的两个聚合
【发布时间】:2013-12-10 09:43:06
【问题描述】:

如何解决以下表达式:

sum({<Category={'Internal Ops SLA'}>}(RangeSum(Above(sum(InternalOpsSLA),0,12))/TargetOpsSLA)*Weight)

由于双倍和,表达式出现错误。

乘数权重值是根据集合表达式修饰符中的类别选择的。对于上面的表达式,除了变量只有我需要对最终结果求和之外,还有其他方法吗?

【问题讨论】:

  • 我不知道为什么 {} 中的表达式没有出现在问题中。 {} 中的表达式是
  • 这是第一次在stackflow中没有回复。估计很多人都在度假。
  • 如果不了解数据是什么样的以及您的目标是什么样的,就很难提供帮助。这只是一个猜测,但您是否尝试过在您的表达式中求和 TargetOpsSLAsum( {&lt; Category= {'Internal OpsSLA'} &gt;} ( RangeSum(Above(sum(InternalOpsSLA),0,12)) / sum(TargetOpsSLA) ) *Weight )

标签: qlikview


【解决方案1】:

我知道这篇文章很老了。回应它,认为它可能会帮助一些人。

我在尝试计算平均值总和时在 qlikview 中遇到了类似的问题。带有错误消息:

(Error in expression: Nest Aggregation not allowed)

我意识到解决此问题的一种方法是使用聚合函数。而不是像这样对它们进行分组:

sum(avg(<Dimension_Name>condition))

我将它们分组为:

Sum(Aggr(Avg(condition), Dimension_Name))

这对我很有效。

所以对于你的问题,我会尝试这样的:

sum(aggr(if(Category = {'Internal Ops SLA'},(RangeSum(Above(sum(InternalOpsSLA),0,12))/TargetOpsSLA)*Weight),'Dimension Name'))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    • 2021-09-05
    • 2013-03-21
    • 2013-03-05
    相关资源
    最近更新 更多