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

Qlik 脚本处理器

使用 Qlik 脚本创建或转换输入。

通过 Qlik 脚本处理器,您可以直接在文本编辑器中输入 Qlik 脚本以准备数据,或在用作输入时加载数据。它面向更高级的用户,如果您喜欢在操作表格时手动编码某些操作,您可以从整个 Qlik 语法中获益。

使用

  • 要在数据流中使用脚本处理器,您在编辑器中添加的代码必须与传入数据的模式以及在此之前执行的准备操作保持一致。此外,脚本还需要关注某些规则:

    • 脚本中必须包含 resident 语句,以使用输入流中的表。

      resident tablename

      有关详细信息,请参阅加载

    • 您需要附上一份 NoConcatenate 声明。

      NoConcatenate LOAD A,B

      有关详细信息,请参阅 NoConcatenate

    • 为要执行的特定操作添加脚本后,必须在末尾添加一条 drop table 语句,以删除输入表并只保留生成的输出。

      drop table  tablename

      更多信息,请参见下拉表

  • 将处理器用作输入节点时,最多可以有两个输出流,以加载两个不同的表。
  • 使用处理器作为中间节点时,可以有多个输入流和最多两个输出流。

属性

配置
属性 配置
脚本

在文本编辑器中输入您的 Qlik 脚本,其中包括以下带有所需语句的占位符。

MyTable:
NoConcatenate Load *
Resident [name of input table];
Drop Table [name of input table];

脚本编辑器上方列出了输入表的名称。它们与连接到处理器的输入端相对应。

要重新命名处理器或编辑其描述,请单击属性面板中处理器名称旁边的 编辑 编辑图标。

示例

  • 将具有相同模式的多个表加载到流的一个输入表中。此示例使用了目录中的两个 .txt 文件,其中四个字段相同,但内容不同:

    [MyTable_1]:
    NOCONCATENATE
    LOAD
    [id],
    [firstname],
    [lastname],
    [nationality]
    FROM [lib://DataFiles/MyTable_1.txt] (txt, codepage is 28591, embedded labels, delimiter is ',', msq)
    
    //[MyTable_2]:
    CONCATENATE([MyTable_1])
    LOAD
    [id],
    [firstname],
    [lastname],
    [nationality]
    FROM [lib://DataFiles/MyTable_2.txt] (txt, codepage is 28591, embedded labels, delimiter is ',', msq)
    
    [Union1]:
    NOCONCATENATE
    LOAD DISTINCT
    [id],
    [firstname],
    [lastname],
    [nationality]
    RESIDENT [MyTable_1];

    更多信息,请参见串联

  • 创建一个内联数据表,将可编辑的数据作为数据流的输入:

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

    更多信息,请参阅使用内联加载来加载数据

  • 在数据中添加一个新字段:

    MyTable:
    NoConcatenate Load *, 1 as newfield
    Resident [name of input table];
    Drop Table [name of input table];
  • 有关脚本表达式的更多示例,请参阅正则表达式脚本与图表函数

本页面有帮助吗?

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