メイン コンテンツをスキップする

Load

LOAD ステートメントは、ファイル、スクリプトで定義されたデータ、事前にロードされたテーブル、Web ページ、後続の SELECT ステートメントの結果、または自動生成されたデータから項目をロードします。 分析接続からデータをロードすることもできます。

構文:  

LOAD [ distinct ] fieldlist

[( from file [ format-spec ] |

from_field fieldassource [format-spec]|

inline data [ format-spec ] |

resident table-label |

autogenerate size ) |extension pluginname.functionname([script] tabledescription)]

[ where criterion | while criterion ]

[ group by groupbyfieldlist ]

[order by orderbyfieldlist ]

引数
引数説明
distinct

一意のレコードのみをロードする場合、distinct を述語として使用できます。重複するレコードがある場合は、1 つめのインスタンスがロードされます。

先行する LOAD を使用している場合、distinct はロード先のテーブルにのみ反映されるので、Load ステートメントの先頭に distinct を配置する必要があります。

先行する LOAD

fieldlistfieldlist ::= ( * | field{, * | field } )

ロードする項目のリスト。項目リストとして * を使用すると、テーブルのすべての項目が指定されます。

field ::= ( fieldref | expression ) [as aliasname ]

項目定義には、リテラル、既存項目への参照、または数式を含める必要があります。

fieldref ::= ( fieldname |@fieldnumber |@startpos:endpos [ I | U | R | B | T] )

fieldname は、テーブル内の項目名と同じテキストです。項目名にスペースなどが含まれる場合は、ストレート二重引用符または角括弧で囲む必要があります。明示的に表現できない項目名については、次のような表記規則を使用します。

@fieldnumber は、区切り記号付きテーブル ファイルの項目番号を表します。「@」が前に付いた正の整数でなければなりません。常に 1 から項目の数まで、番号が振られています。

@startpos:endpos は、固定長レコードが含まれるファイル内の項目の開始および終了位置を表します。位置はどちらも正の整数でなければなりません。2 つの番号の前に「@」を付け、コロン (:) で区切る必要があります。常に 1 から位置の数までの番号が付けられます。最後の項目で、n は終了位置として使用されます。

  • @startpos:endpos の直後に IU の文字が続く場合は、バイトの読み取りは符号付き (I) バイナリまたは符号なし (U) の整数 (Intel のバイト順) と解釈されます。読み取られる位置の数は、1、2、または 4 です。
  • @startpos:endposの直後に文字 R が続く場合は、読み取られるバイトはバイナリの実数 (IEEE 32 ビットまたは 64 ビットの浮動小数点) として解釈されます。読み取られる位置の数は、4 または 8 です。
  • @startpos:endpos の直後に文字 B が続く場合は、読み取られるバイトは COMP-3 標準に従った BCD (Binary Coded Decimal) 数として解釈されます。任意のバイト数を指定できます。

expression は、同じテーブルにある 1 つまたは複数の項目に基づいた数値関数または文字列関数です。詳細については、数式の構文を参照してください。

項目に新しい名前を割り当てるには、as を使用します。

from

from は、データをフォルダーまたは Web ファイル データ接続を使用するファイルからロードする必要がある場合に使用します

file ::= [ path ] filename

'lib://Table Files/'

パスを省略すると、Qlik Sense は、Directory ステートメントで指定されたディレクトリのファイルを検索します。Directory ステートメントがない場合、Qlik Sense は作業ディレクトリ C:\Users\{user}\Documents\Qlik\Sense\Apps を検索します。

Directory

情報メモQlik Sense の場合、作業ディレクトリは Qlik Sense Repository Service で指定されています。これはデフォルトで、C:\ProgramData\Qlik\Sense\Apps です。詳細については、Qlik 管理コンソール ヘルプを参照してください。

filename には、標準の DOS ワイルドカード文字 (* および ?) が含まれる場合があります。これにより、指定されたディレクトリ内にあるすべての一致ファイルがロードされます。

format-spec ::= ( fspec-item { , fspec-item } )

この書式指定は、括弧に囲まれた複数の書式指定アイテムのリストで構成されます。

書式指定アイテム

ヒント メモURL is 書式指定を使用して、Web ファイル データ接続の URL を上書きすることができます。例えば、ロードされた別のデータに基づく動的 URL を作成する必要のある場合が該当します。

レガシー スクリプト モードは、次のパス形式にも対応しています。

  • 絶対パス

    c:\data\

  • Qlik Sense アプリ作業ディレクトリへの相対パス。

    data\

  • インターネットまたはイントラネット上の位置を示す URL アドレス (HTTP あるいは FTP)。

    http://www.qlik.com

from_field事前にロードされた項目からデータをロードする場合は、from_field を使用します。

fieldassource::=(tablename, fieldname)

項目は、事前にロードされた tablenamefieldname の名前です。

format-spec ::= ( fspec-item {, fspec-item } )

この書式指定は、括弧に囲まれた複数の書式指定アイテムのリストで構成されます。詳細については、「書式指定アイテム」を参照してください。

情報メモfrom_field は、テーブルの項目を区切るときのリスト区切り記号として、カンマのみをサポートします。
inlineスクリプト内でデータを入力し、ファイルからロードしない場合は、inline を使用します。

data ::= [ text ]

inline 句を通じて入力されるデータは、角括弧、引用符、またはバックティックなどの特定の文字で囲む必要があります。括弧で囲まれたテキストは、ファイルのコンテンツと同じ方法で解釈されます。そのため、テキスト ファイル内で新しい行を挿入する場合は、inline 句のテキスト内でも新しい行を挿入する必要があります。つまり、スクリプトを入力するときに Enter キーを押します。

単純なインライン ロードでは、列の数は最初の行で定義されます。

format-spec ::= ( fspec-item {, fspec-item } )

他のロードされたテーブルで使用できる同じ書式指定アイテムの多くを使用して、インライン ロードをカスタマイズできます。これらのアイテムは括弧内にリストされています。詳細については、「書式指定アイテム」を参照してください。

インライン ロードの詳細については、「インライン ロードを使用したデータのロード」 を参照してください。

resident事前にロード済みのテーブルからデータをロードする場合は、resident を使用します。

table label は、元のテーブルを作成した LOAD または SELECT ステートメントの前に配置されるラベルです。ラベルの最後にはコロン (:) を記述します。

事前にロードされているテーブルからのデータのロード

テーブル ラベル

autogenerateQlik Sense でデータを自動生成する場合は、autogenerate を使用します。

size ::= number

Number は、生成するレコード数を示す整数です。

Peek 関数を使用して、以前にロードされたテーブルの 1 つの項目値を参照しない限り、項目のリストには、外部データ ソースまたは以前にロードされたテーブルからデータを取得する必要のある数式を記述できません。

extension

分析接続からデータをロードすることができます。サーバーサイド拡張 (SSE) プラグインで定義されている関数を呼び出す、またはスクリプトを評価する extension 節を使用する必要があります。

SSE プラグインに単一のテーブルを送ることができます。単一のデータ テーブルが返されます。返す項目名が SSE プラグインで指定されていない場合、項目には Field1, Field2 などの名前が付けられます。

Extension pluginname.functionname( tabledescription );

  • SSE プラグインの関数を使用したデータのロード

    tabledescription ::= (table { ,tablefield} )

    テーブルの項目を記述していない場合、項目はロードの順で使用されます。

  • SSE プラグイン内のスクリプト評価によるデータのロード

    tabledescription ::= ( script, table { ,tablefield} )

データ型は、分析接続で自動的に検出されます。データに数値が含まれず、少なくとも 1 個の非 NULL テキスト文字列が含まれる場合、その項目はテキストとみなされます。それ以外の場合は数値とみなされます。

String() または Mixed() で項目名を囲むことで、データ型を強制的に指定できます。

  • String() は項目をテキストに指定します。項目が数値の場合、デュアル値のテキスト部分が抽出され、変換は実行されません。
  • Mixed() は項目をデュアルに指定します。

拡張テーブル項目定義以外では、String()Mixed() は使用できず、テーブル項目定義では他の Qlik Sense 関数を使用できません。

分析接続は、使用する前に設定が必要です。

Qlik Sense Enterprise: 分析接続の作成

Qlik Sense DesktopQlik Sense Desktopにおける分析接続の構成

GitHub リポジトリでは分析接続に関する詳細を閲覧できます。qlik-oss/server-side-extension

wherewhere 節は、レコードを選択に含めるかどうかを示します。criterionTrue の場合は選択が含まれます。

criterion は論理式です。

while

while は、レコードを繰り返し読み取るかどうかを示す節です。criterionTrue の場合は、同じレコードが読み取られます。通常、while 節には IterNo( ) 関数が含まれていなければなりません。

criterion は論理式です。

group by

データを集計 (グループ化) すべき項目を定義するには、group by 節を使用します。 集計項目は、ロードする数式に挿入しなければなりません。集計項目以外の項目は、ロードした数式に含まれる集計関数の外部で使用できます。

groupbyfieldlist ::= (fieldname { ,fieldname } )

order byorder by 節は、load ステートメントで処理される前に、常駐テーブルのレコードをソートします。1 つ以上の項目の昇順または降順で、常駐テーブルをソートできます。最初に数値、次に各国の照合順でソートされます。この節は、データ ソースが常駐テーブルの場合に限り使用できます。

順序項目は、常駐テーブルをソートする項目を指定します。項目は、名前または常駐テーブル内での番号 (最初の項目が番号 1) で指定できます。

orderbyfieldlist ::= fieldname [ sortorder ] { , fieldname [ sortorder ] }

sortorder は、昇順の asc または降順の desc のどちらかになります。sortorder を指定しない場合は、asc と見なされます。

fieldnamepathfilenamealiasname は、それぞれの名前を示すテキスト文字列です。ソース テーブルのフィールドは fieldname として使用できます。ただし、as 節 (aliasname) を使用して作成された項目は範囲外になり、同じ load ステートメント内では使用できません。

frominlineresidentfrom_field、extension、または autogenerate 節でデータのソースが指定されない場合、データは直後の SELECT または LOAD ステートメントの結果からロードされます。後続のステートメントには、プレフィックスを記述できません。

事前にロードされているテーブルからのデータのロード

 

情報メモDataFiles 接続のファイル拡張子は大文字と小文字を区別します。例: .qvd

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。