跳到主要内容

Direct Discovery 字段列表

字段列表是以逗号分隔的字段规范列表,如 fieldname {, fieldname}。字段规范可以是字段名称,在此情况下,相同名称用于数据库列名称和字段名称。字段规范也可以是“字段别名”,在此情况下,数据库表达式或列名称被给予 QlikView 字段名称。

字段名称既可以是简单名称也可以是引用名称。简单名称以字母 Unicode 字符为开头,后跟字母或数字字符或下划线的任意组合。引用名称以双引号为开头,并包含任意字符序列。如果引用名称包含双引号,则这些引号使用两个相邻的双引号表示。

QlikView 字段名称区分大小写。数据库字段名称可能会或可能不会区分大小写,具体取决于数据库。Direct Discovery 查询保留所有字段标识符和别名的情况。在下例中,内部使用别名 "MyState" 存储数据库列 "STATEID" 的数据。

DIRECT QUERY Dimension STATEID as MyState Measure AMOUNT from SALES_TABLE;
 

这不同于使用别名的 SQL Select 语句的结果。如果没有明确引用别名,则结果包含由目标数据库返回的列的默认情况。在下例中,SQL Select 语句用于在 Oracle 数据库中创建 "MYSTATE,",且所有字母均为大写,这就像内部 QlikView 别名一样,即使指定别名为混合大小写也是如此。SQL Select 语句使用数据库返回的列名称,在这种情况下 Oracle 为全部大写。

SQL Select STATEID as MyState, STATENAME from STATE_TABLE;
 

要避免这种行为,可使用 LOAD 语句指定别名。

Load STATEID as MyState, STATENAME;
SQL Select STATEID, STATEMENT from STATE_TABLE;
 

在本例中,QlikView 在内部将 "STATEID" 列存储作为 "MyState"

可以将大部分数据库的标量表达式作为字段规范。在字段规范中也可以使用函数调用。表达式包含的常量可以是布尔值、数字或用单引号括起来的字符串(嵌入式单引号用相邻的单引号表示)。

示例:  

DIRECT QUERY DIMENSION SalesOrderID, RevisionNumber MEASURE SubTotal AS "Sub Total" FROM AdventureWorks.Sales.SalesOrderHeader
DIRECT QUERY DIMENSION "SalesOrderID" AS "Sales Order ID" MEASURE SubTotal,TaxAmt,(SubTotal-TaxAmt) AS "Net Total" FROM AdventureWorks.Sales.SalesOrderHeader
DIRECT QUERY DIMENSION (2*Radius*3.14159) AS Circumference, Molecules/6.02e23 AS Moles MEASURE Num1 AS numA FROM TableName
DIRECT QUERY DIMENSION concat(region, 'code') AS region_code MEASURE Num1 AS NumA FROM TableName

Direct Discovery 不支持在 LOAD 语句中使用聚合。如果使用聚合,则结果将不可预测。不得使用类似如下的 LOAD 语句:

DIRECT QUERY DIMENSION stateid, SUM(amount*7) AS MultiFirst MEASURE amount FROM sales_table

LOAD 语句中不得使用 SUM

Direct Discovery 也不支持在 Direct Query 语句中使用 QlikView 函数。例如,将 "Mth" 字段用作图表的维度时,DIMENSION 字段的以下规范将无法使用:

month(ModifiedDate) as Mth

本页面有帮助吗?

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

加入分析现代化计划

Remove banner from view

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