Sum() 在 Qlik Sense 数据加载编辑器中不工作

Sum() not working in Qlik Sense Data Load Editor

我一直在努力理解 Qlik,但文档很少,而且根本没有大量的脚本示例可以帮助我更快地掌握它。我很沮丧,如果我没有很好地解释这一点,我深表歉意。

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

计算已提供给我,需要将此伪代码转换为工作代码:

(总和(Col_A) / total_num__of_records) * value_in_Col_B

在数据加载编辑器中,我需要写这样的东西,但不明白为什么它不起作用。错误消息字面上显示一个问号,没有解释:

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

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

脚本引擎跟你一样糊涂:)笑话。

脚本中的聚合函数要求对所有不在聚合中的字段使用 group by 子句。没有 group by 脚本引擎不知道如何 sum() 或 count() 因为它是逐行工作的,所以 Sum(A) = A and count(A)=1.

只知道您在这里告诉我们的内容,这个表达式在数据加载编辑器中没有任何意义,并且会通过前端在表达式编辑器中提供更好的服务并且非常有意义。它将是:

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

这会给你 Col_B 乘以标记为 1 的事务的百分比。因此可能是完成任务的百分比或类似的东西。

要在数据加载编辑器中执行此操作,您需要创建一个临时 table 与您的分组依据仅创建相同的然后您永远不能在任何其他级别显示该比率,但您在group by 这样您将失去 Qlik 前端的所有功能。

像这样:(我刚刚添加了 DEPARTMENT 以表明所有不在 sum()、count() 中的字段都需要在 group by 中。这包括 Col_B 假设你想要一个 New_Column 每个部门每个日期 Col_B 的值)

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