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

从内联表加载数据

在脚本中手动键入数据以定义内联表。

通过在脚本中手动键入数据而不是连接到文件和数据库来创建内联表。使用所需的语法指示将脚本文本解释为内联数据。

基本的内联加载创建一个表,并插入数据字段和记录。

为什么使用内联加载?

内联加载在许多用例中都很有用:

  • 无需连接到外部源即可管理和编辑数据。

  • 补充数据模型中的现有数据。例如,您可以向主要来自数据库源的数据模型添加一个额外的表。

  • 添加希望避免从外部源连续加载的数据。如果您知道数据源将来可能会更改,但数据值将保持不变,这可以节省时间。

  • 易于使用,可将内容从其他文件复制和粘贴到脚本中。例如,来自文字处理程序文档的 .csv 文件或表格。

  • 创建可以快速复制和粘贴的测试脚本。

基本语法示例

以下脚本包含一个简单的内联加载。

MyTable:
Load * Inline [Country, Year, Sales
Argentina, 2014, 66295.03
Argentina, 2015, 140037.89
Austria, 2014, 54166.09
Austria, 2015, 182739.87
];

以下语法用于上述内联加载:

  • Load * Inline 指示 QlikView 从下面的内联表中加载所有字段。

  • MyTable: 定义表的名称。

  • 方括号将数据括起来。

  • LOAD 语句的第一行定义了数据字段。

  • 逗号分隔数据字段和记录。

  • 分号结束 LOAD 语句。

语法概述

命名表格

您可以为内联表添加名称,就像为其他加载的表添加名称一样。定义表名是可选的。

在表的名称后面插入一个冒号。

LOADinline 语句

使用 LOAD 脚本语句时,内联表将使用 inline 子句加载。inline 子句指示表中的后续文本将包含手动键入编辑器的数据。除非另有说明,否则内联表使用 txt 格式,其遵循分隔文本文件的结构。

有关该 LOAD 语句的更多信息,请参阅 Load

包封符和数据输入

通过 inline 子句输入的数据必须用特定字符括起来。以下是可接受的用于包封数据的字符组合:

  • 方括号:[]

  • 双引号:""

  • 单引号:''

  • 反勾号:``

您选择的字符作为存储模块可以帮助您加载包含冲突字符的内联数据。例如,如果您的数据包含带方括号的记录,您可以用引号或反引号将其括起来。

有关替代包封符的示例,请参阅示例 - 替代数据包封符

除非指定其他表格格式(默认为 txt),否则附件之间的文本将以与文件内容相同的方式进行解释。因此,当您需要在文本文件中插入新的一行时,您应该在 inline 子句文本中重复该操作,在键入脚本时按压输入键。

技术内联负载

内联 LOAD 语句的末尾用分号表示。

数据转换

在没有转换的简单内联加载中,列的数量由第一行定义。以下示例加载的表中有三列:Product_IDSupplier_NameProduct_Category

Products:

Load * Inline [
Product_ID, Supplier_Name, Product_Category
1, Paracel, Home Decor
2, PageWave, Electronics
3, Talarian, Software
4, Userland, Appliances
];

您还可以在同一内联表中执行转换和创建新列。您可以使用前置加载,并且可以使用多个 LOAD 语句来加载同一个表。

有关具体示例,请参阅示例 - 带转换的内联加载

在内联加载中配置格式规范

与其他加载的表一样,可以使用格式规范项修改内联表的格式规范。格式规范添加在括号中。它应该添加在数据存储模块之后,但应添加在结束 LOAD 语句的分号之前。您可以添加的一些自定义项包括:

要在同一个表中使用多个格式规范项,请用逗号将它们隔开。例如: (Delimiter is '|', no labels)

有关格式规范的完整详细信息,请参阅格式规格项目

运算符和其他子句

此外,由于内联加载是一个 LOAD 语句,因此可以将 LOAD 语句的其他参数组合到内联加载中。例如,使用 wherewhile 子句根据特定行中的文本来定义是否加载该行。

同样,您也可以在文本内容本身之外使用运算符。使用运算符,您可以自定义如何转换内联数据,还可以定义何时加载某些数据。

有关具体示例,请参阅示例 - 转换和子句的运算符

示例 - 替代数据包封符

您可以使用方括号、引号或反引号将内联加载包封起来。本部分通过一个例子说明了这一点。更多信息,请参阅包封符和数据输入

示例 - 可选分隔符

可以使用逗号以外的字符来分隔表中的列值。更多信息,请参阅在内联加载中配置格式规范

示例 - 省略列标题

编辑格式规范以加载内联表,而不定义列标题。这是通过 labels 规范完成的(将其设置为no labels 的值)。更多信息,请参阅在内联加载中配置格式规范

如果加载表时未定义列名,则会自动使用系统定义的列名。

示例-加载另一种数据类型

此示例演示了如何以固定记录格式加载内联表。参阅在内联加载中配置格式规范

示例 - 多行内容

此示例演示如何将多行字段内容输入到内联表中。参阅在内联加载中配置格式规范

示例 - 带转换的内联加载

这些示例显示了如何对内联加载的字段执行计算,以便在数据模型中创建新字段。

更多信息,请参阅数据转换

示例 - 转换和子句的运算符

可以使用运算符在 LOAD 语句中定义转换和特定子句。更多信息,请参阅运算符和其他子句

运算符

示例 - 在内联表中创建 null 值

此示例演示了如何使用 NullInterpret 变量在内联数据中创建空值。

NullInterpret

更多示例

有关其他示例,请参阅 Load

本页面有帮助吗?

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

加入分析现代化计划

Remove banner from view

使用分析现代化计划实现现代化,同时不损害您宝贵的 QlikView 应用程序。 单击此处 了解更多信息或联系: ampquestions@qlik.com