跳到主要内容 跳到补充内容

Load

LOAD 语句可以加载以下来源的字段:文件、脚本中定义的数据、预先载入的输入表格、网页、后续 SELECT 语句产生的结果或自动生成的数据。还可从分析连接加载数据。

语法:  

LOAD [ distinct ] fieldlist

[( from file [ format-spec ] |

from_field fieldassource [format-spec]|

inline data [ format-spec ] |

resident table-label |

autogenerate size ) |extension pluginname.functionname([script] tabledescription)]

[ where criterion | while criterion ]

[ group by groupbyfieldlist ]

[order by orderbyfieldlist ]

参数
参数说明
distinct

如果您只希望加载唯一的记录,您可将 distinct 用作谓语。如果存在重复的记录,则将加载第一个实例。

如果您使用前置 Load,需要将 distinct 置于第一加载语句,因为 distinct 仅影响目标表格。

前置 Load

fieldlistfieldlist ::= ( * | field{, * | field } )

要加载的字段列表。使用 * 作为字段列表,表示表格中全部字段。

field ::= ( fieldref | expression ) [as aliasname ]

字段定义必须总是包含精确的对现存字段或表达式的引用。

fieldref ::= ( fieldname |@fieldnumber |@startpos:endpos [ I | U | R | B | T] )

fieldname 是指与表格中的字段名完全相同的文本。注意,如果包含空格,则字段名必须使用双引号或方括号括起来。有时字段名不会显示可用。这时使用另外的符号:

@fieldnumber 表示字段数字在带分隔符的表格文件中。它必须是前面带“@”的正整数。编号通常从 1 开始至字段数字。

@startpos:endpos 代表在拥有固定长度记录的文件中字段的开始和结束位置。这两个位置必须都是正整数。这两个数字前都必须加上“@”并用冒号隔开。编号通常从 1 开始至位置数字。在最后一个字段中,将 n 用作结束位置。

  • 如果 @startpos:endpos 后紧随字符 IU,字节读取将分别解释为二进制带符号 (I) 或不带符号 (U) 整数(Intel 字节序)。数字读取位置必须是 1,2 或 4。
  • 如果 @startpos:endpos 后紧随字符 R,字节读取将解释成二进制实数(IEEE 32-bit 或 64 位浮点)。数字读取位置必须是4 或 8。
  • 如果 @startpos:endpos 后紧随字符 B,字节读取将根据 COMP-3 标准解释成 BCD (Binary Coded Decimal) 数字。任何字节数可以是指定的。

expression 可以是数学函数或基于同一表格中一个或多个其他字段的字符串函数。有关详细信息,请参阅表达式的语法。

as 用于为字段设定新名称。

from

如果使用文件夹从文件加载数据,可使用 fromQlik Cloud 分析 空间中的文件加载时,必须使用有效路径。请参阅有效空间文件夹路径的规则

file ::= [ path ] filename

Qlik Cloud 分析 中,支持分层文件夹结构,可以在语句中引用。

示例:  

  • 个人空间(顶级路径): [lib://DataFiles/abc.qvd]

  • 个人空间(嵌套文件夹): [lib://DataFiles/MyFolder/abc.qvd]

  • 共享空间(顶级路径): [lib://TeamSharedSpace:DataFiles/xyz.qvd]

  • 共享空间(嵌套文件夹): [lib://TeamSharedSpace:DataFiles/MyFolder/abc.qvd]

有关更多信息和示例,请参阅从 Qlik Cloud 分析 中的空间加载文件

from_field如果需要从之前加载的字段加载数据,则使用 from_field 语句。

fieldassource::=(tablename, fieldname)

该字段是之前加载过的 tablenamefieldname 的名称。

format-spec ::= ( fspec-item {, fspec-item } )

格式规格包含数个格式规格项目的列表(在括号中)。有关更多信息,请参阅格式规格项目

信息注释from_field 在分隔表中的字段时,仅支持将逗号作为列表分隔符。
inlineinline 当数据需要输入脚本而不是从文件中加载时使用该符号。

data ::= [ text ]

通过 inline 子句输入的数据必须用特定字符括起来 - 方括号、引号或反引号。括号之间的文本以同一方式被解释为文件的内容。因此,当您需要在文本文件中插入新的一行时,您应该在 inline 子句文本中重复该操作:键入脚本时按压输入键。

在简单的内联加载中,列的数量由第一行定义。

format-spec ::= ( fspec-item {, fspec-item } )

您可以使用许多可用于其他已加载表的相同格式规范项来自定义内联加载。括号中列出了这些项目。有关更多信息,请参阅格式规格项目

有关内联加载的详细信息,请参阅使用内联加载来加载数据

resident如果需要从之前加载的表格加载数据,则使用 resident 语句。

table label 是加在创建于原始表格的 LOADSELECT 语句之前的标签。该标签需要在末尾加上冒号。

从之前加载的表格中加载数据

表格标签

autogenerateautogenerate 是数据需要 Qlik Sense 自动生成时使用。

size ::= number

Number 是用来指示生成记录数字的整数。

字段列表不得包含需要外部数据源或之前加载表格中数据的表达式,除非您引用之前使用 Peek 函数加载的表格中的单个字段值。

wherewhere 是一个子句,用于陈述一个记录是否应该包括在选择项内。如果 criterionTrue,则将其包括在选择项内。

criterion 是一个逻辑表达式。

while

while 是用于显示记录是否应该反复读取的子句。只要 criterionTrue,则同一记录被读取。为了能发挥作用,while 子句通常应包含 IterNo( ) 函数。

criterion 是一个逻辑表达式。

group by

group by 是用于定义应聚合(组合)的字段的子句。 聚合字段应该以某种方式包含在加载表达式中。除了聚合字段没有其他字段可被用于加载表达式中的聚合函数之外。

groupbyfieldlist ::= (fieldname { ,fieldname } )

order byorder by 是用于被加于 load 语句之前的驻留表记录排序的子句。驻留表可以被一个或多个字段以升序或降序的顺序排序。排序主要由数值决定,其次由国家校对顺序决定。此子句仅在数据源为驻留表时可用。

排序字段用于指定驻留表按哪些字段排序。驻留表中的字段可以由其名称或其数字指定(第一个字段为 1)。

orderbyfieldlist ::= fieldname [ sortorder ] { , fieldname [ sortorder ] }

sortorder 要么是 asc(对于升序),要么是 desc(对于降序)。如果未指定任何 sortorder,将假设 asc

fieldnamepathfilenamealiasname 都是表示他们各自名称的字符串。源表格中的任何字段都可用作 fieldname。但是,通过子句 (aliasname) 创建的字段不在此范围之内,且不能用于相同的 load 语句内。

如果 frominlineresidentfrom_field、extensionautogenerate 子句都无法给出数据源,则数据将从 SELECTLOAD 语句随后得出的结果中加载。接下来的语句不应包含前缀。

从之前加载的表格中加载数据

信息注释DataFiles 连接的文件扩展要区分大小写。例如:.qvd

示例:  

Qlik Cloud 分析 中的空间加载文件

Qlik Cloud 分析 中,当加载脚本中从数据文件加载数据时,可以使用 LOAD 语句或插入 QVS 代码。在这两种情况下,都可以在脚本语句中引用分层空间文件夹结构。遵循有效空间文件夹路径的规则。此外,文件和所有引用的文件夹需要已存在于指定位置。否则,重新加载失败。

示例: 引用空间顶级路径中的文件

此示例从个人空间加载文件 orders.csv。该文件不位于任何特定文件夹中,而是位于空间中的顶级路径。

LOAD * FROM [lib://DataFiles/orders.csv];

此示例从共享托管数据空间加载文件 orders.csv。空间的名称为 TeamSharedSpace。该文件不位于任何特定文件夹中,而是位于空间中的顶级路径。

LOAD * FROM [lib://TeamSharedSpace:DataFiles/orders.csv];

示例: 对空间内特定文件夹路径的引用

此示例从个人空间中的文件夹 Orders By Region 加载文件 orders_Europe.csv

LOAD * FROM [lib://DataFiles/Orders By Region/orders_Europe.csv];

此示例从共享托管数据空间中的文件夹 Orders By Region 加载文件 orders_Europe.csv。空间的名称为 SalesSpace

LOAD * FROM [lib://SalesSpace:DataFiles/Orders By Region/orders_Europe.csv];

有关在加载脚本中引用空间文件夹结构的详细信息,请参阅在应用程序和脚本开发中引用空间文件夹结构

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!