Sum在Qlik Sense Data Load Editor中不起作用

问题描述

我一直在努力理解Qlik,但是文档稀疏,并且根本没有大量的脚本示例可以帮助我更快地了解它。我很沮丧,如果不能很好地解释我,我深表歉意。

我的数据很小,只有大约3500条记录和100列。它是我已经通过ODBC连接连接到的一个表。我需要创建一个新的派生列,其中将包含来自计算的值。我需要在数据加载编辑器中完成此操作。

计算已交给我,需要将其从伪代码转换为工作代码:

(sum(Col_A)/ total_num__of_records)* value_in_Col_B

  • Col_A是值为1或0的虚拟列。
  • total_num_of_records必须是表中总行数的计数。
  • Col_B是数据库中的现有列,其中包含数字 值(浮点数)。

在数据加载编辑器中,我需要编写类似这样的内容,但无法理解为什么它不起作用。错误消息从字面上显示一个问号,没有任何解释:

LOAD *,((SUM(Col_A) / COUNT(Record_ID)) * Col_B) AS New_Column;

这就是我想要做的,但是它行不通,尽管进行了大量的搜索,但我无法弄清楚如何在数据加载编辑器中执行这种简单的计算。请帮忙!谢谢!

解决方法

脚本引擎和您一样困惑:)开玩笑。

脚本中的聚合函数需要group by子句来访问不在聚合中的所有字段。没有脚本引擎的分组,因为它是逐行工作的,所以不知道如何sum()或count(),因此Sum(A)= A且count(A)= 1。

仅知道您在此处告诉我们的内容,在数据加载编辑器中无法执行此表达式,并且通过前端在表达式编辑器中提供更好的服务和完全有意义。将会是:

((SUM(Col_A) / COUNT(total Record_ID)) * Col_B)

这将使Col_B乘以标记为1的事务百分比。因此,可能是已完成任务或类似任务的百分比。

要在“数据加载编辑器”中执行此操作,您需要创建一个临时表,并仅使用group bys创建临时表,然后再也无法在任何其他级别上显示该比率,但您在group by中定义的比率无法显示。 Qlik前端的所有功能。

类似这样的事情:(我刚刚添加了DEPARTMENT,以显示不在sum(),count()中的所有字段都必须在group by中。这包括Col_B,假设您希望每个Col_B的每个值都有一个New_Column值。每个部门的日期)

DAILY_COMP_RATIOS:
load 
    DATE,DEPARTMENT,((SUM(Col_A) / COUNT(Record_ID)) * Col_B) AS New_Column
resident 
    SOURCE_TABLE
group by
    DATE,Col_B;

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...