将自定义列添加到Qlik中的SQL表中
问题描述:
我上传到Qlik我的sql代码中,我想在Qlik中进行计算并添加这些自定义计算的一列。我怎样才能做到这一点?我的代码:将自定义列添加到Qlik中的SQL表中
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;
这个语句被翻译成:负荷SQLAS
表2场:SQLAS
和FLI
(上面有一些转换)。
根据你的sql表SQLAS
没有字段SQLAS
。如果要加载所有字段,请使用*
。随后,居民负荷将是这样的:
SQLAS1:
LOAD
*,
If([FLI] = 'FLI110', 69,0) as [NAUJAS]
Resident
SQLAS;
这个负载之后,您需要删除原始SQLAS
表,否则你会用大量的Synthetic Table
Drop Table SQLAS;
另一种形式给出的最终使用Preceding LOAD避免resident load
和syntetic 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
;
上面的脚本将生成相同的结果表,但不需要在新表中加载所有内容。
谢谢!它有帮助 – orangutangas