Direct Discovery 字段列表
字段列表是以逗号分隔的字段规范列表,如 fieldname {, fieldname}。字段规范可以是字段名称,在此情况下,相同名称用于数据库列名称和字段名称。字段规范也可以是“字段别名”,在此情况下,数据库表达式或列名称被给予 Qlik Sense 字段名称。
字段名称既可以是简单名称也可以是引用名称。简单名称以字母 Unicode 字符为开头,后跟字母或数字字符或下划线的任意组合。引用名称以双引号为开头,并包含任意字符序列。如果引用名称包含双引号,则这些引号使用两个相邻的双引号表示。
Qlik Sense 字段名称区分大小写。数据库字段名称可能会或可能不会区分大小写,具体取决于数据库。Direct Discovery 查询保留所有字段标识符和别名的情况。在下例中,内部使用别名 "MyState" 存储数据库列 "STATEID" 的数据。
这不同于使用别名的 SQL Select 语句的结果。如果没有明确引用别名,则结果包含由目标数据库返回的列的默认情况。在下例中,SQL Select 语句用于在 Oracle 数据库中创建 "MYSTATE,",且所有字母均为大写,这就像内部 Qlik Sense 别名一样,即使指定别名为混合大小写也是如此。SQL Select 语句使用数据库返回的列名称,在这种情况下 Oracle 为全部大写。
要避免这种行为,可使用 LOAD 语句指定别名。
SQL Select STATEID, STATEMENT from STATE_TABLE;
在本例中,Qlik Sense 在内部将 "STATEID" 列存储作为 "MyState"。
可以将大部分数据库的标量表达式作为字段规范。在字段规范中也可以使用函数调用。表达式包含的常量可以是布尔值、数字或用单引号括起来的字符串(嵌入式单引号用相邻的单引号表示)。
示例:
Direct Discovery 不支持在 LOAD 语句中使用聚合。如果使用聚合,则结果将不可预测。不得使用类似如下的 LOAD 语句:
在 LOAD 语句中不得使用 SUM。
Direct Discovery 也不支持在 Direct Query 语句中使用 Qlik Sense 函数。例如,当将 "Mth" 字段用作可视化的维度时,DIMENSION 字段的以下规范将无法使用: