加载语句中的 Concat 字段
Concat fields in load statement
我有一个简单的加载语句:
LOAD FIELDA,
FIELDB,
FIELDC,
FIELDD,
FIELDE
FROM
[C:\Users\XXX\data.QVD]
(qvd);
这会很好地加载所有数据。
如果我将表达式添加到直接 table 中,它会给我连接的字段:
concat(FIELDA&'.'&FIELDB&'.'&FIELDC&'.'&IF(Isnull(FIELDD), '0', FIELDD)&'.'&IF(Isnull(FIELDE), '0', FIELDE)) as MERGED
这有效,但是如果我尝试从加载语句中添加一个连接字段,我会收到错误消息:
LOAD FIELDA,
FIELDB,
FIELDC,
FIELDD,
FIELDE,
concat(FIELDA&'.'&FIELDB&'.'&FIELDC&'.'&IF(Isnull(FIELDD), '0', FIELDD)&'.'&IF(Isnull(FIELDE), '0', FIELDE)) as MERGED
FROM
[C:\Users\XXX\data.QVD]
(qvd);
Invalid expression
concat
函数是一个聚合函数,因此它希望 group by 知道要做什么,因此出现无效表达式错误。在前端,您为图表选择的维度就是为了这个目的。
如果您只想逐行连接字段,只需删除 concat
函数即可。
FIELDA&'.'&FIELDB&'.'&FIELDC&'.'&IF(Isnull(FIELDD), '0', FIELDD)&'.'&IF(Isnull(FIELDE), '0', FIELDE) as MERGED
实际使用concat函数是这样的,运行看看MERGE和MERGE2的区别;
甲:
LOAD * INLINE [
FieldA, FieldB,FieldC
1, 2,1
1, 0,1
2, 9,1
2, 4,1
];
乙:
load FieldA,
concat(FieldB,'|') as MERGE
Resident A
group by FieldA;
C:
load FieldA,
FieldB,
FieldC,
FieldA&'.'&FieldB&'.'&FieldC as MERGE2
resident A;
drop table A;
我有一个简单的加载语句:
LOAD FIELDA,
FIELDB,
FIELDC,
FIELDD,
FIELDE
FROM
[C:\Users\XXX\data.QVD]
(qvd);
这会很好地加载所有数据。
如果我将表达式添加到直接 table 中,它会给我连接的字段:
concat(FIELDA&'.'&FIELDB&'.'&FIELDC&'.'&IF(Isnull(FIELDD), '0', FIELDD)&'.'&IF(Isnull(FIELDE), '0', FIELDE)) as MERGED
这有效,但是如果我尝试从加载语句中添加一个连接字段,我会收到错误消息:
LOAD FIELDA,
FIELDB,
FIELDC,
FIELDD,
FIELDE,
concat(FIELDA&'.'&FIELDB&'.'&FIELDC&'.'&IF(Isnull(FIELDD), '0', FIELDD)&'.'&IF(Isnull(FIELDE), '0', FIELDE)) as MERGED
FROM
[C:\Users\XXX\data.QVD]
(qvd);
Invalid expression
concat
函数是一个聚合函数,因此它希望 group by 知道要做什么,因此出现无效表达式错误。在前端,您为图表选择的维度就是为了这个目的。
如果您只想逐行连接字段,只需删除 concat
函数即可。
FIELDA&'.'&FIELDB&'.'&FIELDC&'.'&IF(Isnull(FIELDD), '0', FIELDD)&'.'&IF(Isnull(FIELDE), '0', FIELDE) as MERGED
实际使用concat函数是这样的,运行看看MERGE和MERGE2的区别;
甲:
LOAD * INLINE [
FieldA, FieldB,FieldC
1, 2,1
1, 0,1
2, 9,1
2, 4,1
];
乙:
load FieldA,
concat(FieldB,'|') as MERGE
Resident A
group by FieldA;
C:
load FieldA,
FieldB,
FieldC,
FieldA&'.'&FieldB&'.'&FieldC as MERGE2
resident A;
drop table A;