# Direct Discovery 項目リスト

項目リストは、コンマ区切りの項目指定リスト、fieldname {, fieldname} です。項目指定を項目名にすることも可能で、データベースの列名と項目名に同じ名前が使用される場合があります。または、データベース数式や列名が Qlik Sense の項目名を指定する場合、項目指定を項目エイリアスにすることもできます。

項目名は、単純な名前あるいは引用符で囲まれた名前にすることもできます。単純な名前は、Unicode 英数文字で始まりその後に英数文字や数値、アンダースコアの組み合わせが続きます。引用符で囲まれた名前は、二重引用符で始まりその後任意の文字が続きます。引用符で囲まれた名前に二重引用符が含まれると、それらの引用符は隣接した 2 つの引用部を使用して表されます。

Qlik Sense 項目名は、大文字と小文字を区別します。データベースの項目名は、データベースに応じて大文字と小文字を区別することも、しないこともできます。Direct Discovery クエリは、すべての項目識別子およびエイリアスの大文字と小文字の区別情報を保持します。次の例では、エイリアス "MyState" は内部で使用され、データベース列 "STATEID" からデータを保存します。

```
DIRECT QUERY Dimension STATEID as MyState Measure AMOUNT from SALES_TABLE;
                
```

```
 
```

これは、エイリアスを持つ SQL Select ステートメントの結果とは異なります。エイリアスが明示的に引用されてない場合、結果には参照先データベースが返した列のデフォルトの文字設定 (大文字/小文字の) に従った列が含まれています。次の例では、SQL Select ステートメントは Oracle データベースに対し "MYSTATE," をエイリアスが大文字小文字混合として指定されているにもかかわらず、すべて大文字で内部 Qlik Sense エイリアスとして生成しています。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;

この例では、"STATEID" 列は Qlik Sense によって "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;

SUMは、LOADステートメントに含めることはできません。

また、Direct Discovery は Qlik Sense 関数 (Direct Query ステートメント内) に対応していません。例えば、DIMENSION 項目に対する次のような指定は、"Mth" 項目がビジュアライゼーションの軸として使用されている場合には失敗します。

month(ModifiedDate) as Mth