在 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 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
;
上面的脚本会产生相同的结果 table 但不需要在新的 table.
中加载所有内容
我将我的 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 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
;
上面的脚本会产生相同的结果 table 但不需要在新的 table.
中加载所有内容