我试图了解TOTAL和Aggr如何在qlikview中工作。有人可以解释下面两个例子之间的区别,如果可能的话请用sql查询说明吗?
代码:
Example1:
Max({<Field1=>} Aggr(Sum({<Field2={'Value'}, Field1=>} StuffCount), Field1))
Example2:
Max({<Field1=>} TOTAL Aggr(Sum({<Field2={'Value'}, Field1=>} StuffCount), Field1))
答案 0 :(得分:2)
在此示例中,不确定您的意思和SQL查询。无论如何,想象一下你有这个客户(CustomerID)和销售(销售)列表:
然后,您希望在具有维度CustomerID和两个表达式的数据透视表上显示它:
Max(Aggr(Sum(Sales), CustomerID))
//这将为第一位客户显示60,第二位客户显示50,第三位客户显示30 Max(TOTAL Aggr(Sum(Sales),CustomerID))
//这将在您表格的每一行显示60(这是所有客户的最大销售额)所以基本上AGGR使用第二个(CustomerID)的维度创建一个时间列表,列出你在第一个函数输入中放入的任何内容(在本例中为sum(Sales))。然后,您可以对该列表执行操作(例如Max,Min,Avg ...)。如果你写TOTAL并在数据透视表中使用表达式,那么你就忽略了&#39;可能影响操作的维度。 希望它有所帮助
答案 1 :(得分:1)
TOTAL
关键字在图表/数据透视表中很有用。它对图表/数据透视图中的每个数据点应用相同的计算,并且具有维度的独立性。
因此 - 如果将表达式放入数据透视表中 - 第一个选项可能会显示每个单元格的不同值(如果Aggr相关),而第二个选项可能会产生相同的值。
Aggr
函数允许在不同的基础上进行双重聚合(平均值,最大值计数等)。