在 Qlik 中将自定义列添加到 SQL table

Add custom column to SQL table in Qlik

我将我的 sql 代码上传到 Qlik,我想在 Qlik 中进行计算并添加这些自定义计算的列。我怎样才能做到这一点?我的代码:

SQLAS:
SQL

select 
costs.FLI, costs.COMPANY_NAME, costs.QTY_REC,    
fleet.COUNT_OF_TAILS_NO,
pricel.NE_pricel, 
 pn.atas        

from                      
(select *
from FLI_1

union all

select *
from FLI_2
) costs

 left join fleet on (costs.fli=fltc.fleet .fli)

left join (select * from price
           ) pricel on costs.fli=pricel.fli
 left join (select * from  atata) atas on costs.fli=atas.fli

 ;

 LOAD SQLAS,

   If([FLI] = 'FLI110', 69,0 ) as [NAUJAS]
   resident SQLAS;

但是,我得到一个错误:

如果我删除 resident SQLAS;,我发现没有错误,但是,我找不到新创建的列。

我应该如何正确地将列添加到 Qlik SQL 语句?

LOAD 
  SQLAS,
  If([FLI] = 'FLI110', 69,0 ) as [NAUJAS]
Resident 
  SQLAS;

这条语句被翻译成:load from SQLAS table 2 fields: SQLAS and FLI (with some transformations on it).

根据您的 sql,table SQLAS 没有字段 SQLAS。如果要加载所有字段,请使用 *。那么常驻负载将如下所示:

SQLAS1:
LOAD 
  *,
  If([FLI] = 'FLI110', 69,0 ) as [NAUJAS]
Resident 
  SQLAS;

此加载后,您需要删除原始 SQLAS table,否则您最终会得到大量 Synthetic Table

Drop Table SQLAS;

另一种方法是使用Preceding LOAD来避免resident loadsyntetic keys

SQLAS:
Load
  *,
  If([FLI] = 'FLI110', 69,0 ) as [NAUJAS]
;
SQLAS:
SQL
select 
  costs.FLI, costs.COMPANY_NAME, costs.QTY_REC,  
  ... the rest of the original sql
;

上面的脚本会产生相同的结果 table 但不需要在新的 table.

中加载所有内容