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

使用内联加载来加载数据

手动将数据键入脚本中,以定义可加载到应用程序中的内联表。您可以在 数据加载编辑器 中使用内联加载。

通过在脚本中手动键入数据而不是连接到文件和数据库来创建内联表。使用所需的语法指示将脚本文本解释为内联数据。如果导出应用程序,则使用内联加载添加的数据将包含在应用程序中。内联表在加载脚本中可读且可编辑。

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

数据加载编辑器中的内联加载

数据加载编辑器中的内联加载。

基本语法示例

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

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

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

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

  • MyTable: 定义表的名称。可以从 数据模型查看器 和其他区域访问应用程序中的表列表。

  • 方括号包含数据。

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

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

  • LOAD 语句以分号结束。

加载内联表

  1. 在应用程序中,打开数据加载编辑器

  2. 在新行中,使用所需的语法定义表。

    基本语法示例

  3. 完成后,单击加载数据

为什么要使用内联加载?

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

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

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

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

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

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

语法概览

命名表格

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

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

LOADinline 语句

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

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

包封符和数据输入

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

  • 方括号:[]

  • 双引号:""

  • 单引号:''

  • 反勾号:``

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

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

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

结束内联加载

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

数据转换

在没有转换的简单内联加载中,列的数量由第一行定义。以下示例中加载的表中有三列: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 语句来加载同一个表。

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

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

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

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

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

运算符和其他子句

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

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

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

示例 - 替代数据包封符

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

示例 - 可选分隔符

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

示例 - 混合内联加载和来自其他数据源的加载

示例 - 省略列标题

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

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

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

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

示例 - 多行内容

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

示例- 带转换的内联加载

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

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

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

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

运算符

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

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

NullInterpret

更多示例

有关其他示例,请参阅加载

本页面有帮助吗?

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