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 ]
[order by orderbyfieldlist ]
引数 | 説明 |
---|---|
distinct | 一意のレコードのみをロードする場合、distinct を述語として使用できます。重複するレコードがある場合は、1 つめのインスタンスがロードされます。 先行する LOAD を使用している場合、distinct はロード先のテーブルにのみ反映されるので、Load ステートメントの先頭に distinct を配置する必要があります。 |
fieldlist | fieldlist ::= ( * | 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 は終了位置として使用されます。
expression は、同じテーブルにある 1 つまたは複数の項目に基づいた数値関数または文字列関数です。詳細については、数式の構文を参照してください。 |
from | from は、フォルダを使用してファイルからデータをロードする必要がある場合に使用します。 Qlik Cloud Analytics のスペース内のファイルからロードする場合は、有効なパスを使用する必要があります。「有効なスペース フォルダー パスのルール」を参照してください。 file ::= [ path ] filename Qlik Cloud Analytics では、階層的なフォルダー構造がサポートされており、ステートメント内で参照できます。
詳細および例については、「Qlik Cloud Analytics のスペースからのファイルのロード」を参照してください。 |
from_field | 事前にロードされた項目からデータをロードする場合は、from_field を使用します。 fieldassource::=(tablename, fieldname) 項目は、事前にロードされた tablename と fieldname の名前です。 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 ステートメントの前に配置されるラベルです。ラベルの最後にはコロン (:) を記述します。 |
autogenerate | Qlik Sense でデータを自動生成する場合は、autogenerate を使用します。 size ::= number Number は、生成するレコード数を示す整数です。 Peek 関数を使用して、以前にロードされたテーブルの 1 つの項目値を参照しない限り、項目のリストには、外部データ ソースまたは以前にロードされたテーブルからデータを取得する必要のある数式を記述できません。 |
where | where 節は、レコードを選択に含めるかどうかを示します。criterion が True の場合は選択が含まれます。 criterion は論理式です。 |
while | while は、レコードを繰り返し読み取るかどうかを示す節です。criterion が True の場合は、同じレコードが読み取られます。通常、while 節には IterNo( ) 関数が含まれていなければなりません。 criterion は論理式です。 |
group by | データを集計 (グループ化) すべき項目を定義するには、group by 節を使用します。 集計項目は、ロードする数式に挿入しなければなりません。集計項目以外の項目は、ロードした数式に含まれる集計関数の外部で使用できます。 groupbyfieldlist ::= (fieldname { ,fieldname } ) |
order by | order by 節は、load ステートメントで処理される前に、常駐テーブルのレコードをソートします。1 つ以上の項目の昇順または降順で、常駐テーブルをソートできます。最初に数値、次に各国の照合順でソートされます。この節は、データ ソースが常駐テーブルの場合に限り使用できます。 順序項目は、常駐テーブルをソートする項目を指定します。項目は、名前または常駐テーブル内での番号 (最初の項目が番号 1) で指定できます。 orderbyfieldlist ::= fieldname [ sortorder ] { , fieldname [ sortorder ] } sortorder は、昇順の asc または降順の desc のどちらかになります。sortorder を指定しない場合は、asc と見なされます。 fieldname、path、filename、aliasname は、それぞれの名前を示すテキスト文字列です。ソース テーブルのフィールドは fieldname として使用できます。ただし、as 節 (aliasname) を使用して作成された項目は範囲外になり、同じ load ステートメント内では使用できません。 |
from、inline、resident、from_field、extension、または autogenerate 節でデータのソースが指定されない場合、データは直後の SELECT または LOAD ステートメントの結果からロードされます。後続のステートメントには、プレフィックスを記述できません。
Qlik Cloud Analytics のスペースからのファイルのロード
Qlik Cloud Analytics では、ロード スクリプト内でデータ ファイルからデータをロードするときに、LOAD ステートメントを使用したり、QVS コードを挿入したりできます。どちらの場合も、階層的なスペース フォルダー構造をスクリプト ステートメントで参照できます。有効なスペース フォルダー パスのルールに従ってください。さらに、ファイルと参照されるすべてのフォルダーが、指定された場所に既に存在している必要があります。存在していない場合、リロードは失敗します。
スペースのトップレベル パスにあるファイルへの参照
この例では、個人スペースからファイル orders.csv をロードします。ファイルは特定のフォルダー内ではなく、スペース内のトップレベル パスに配置されます。
LOAD * FROM [lib://DataFiles/orders.csv];
この例では、共有スペース、管理スペース、またはデータ スペースからファイル orders.csv をロードします。スペースの名前は TeamSharedSpace です。ファイルは特定のフォルダー内ではなく、スペース内のトップレベル パスに配置されます。
LOAD * FROM [lib://TeamSharedSpace:DataFiles/orders.csv];
スペース内の特定のフォルダー パスへの参照
この例では、個人スペース内のフォルダー Orders By Region からファイル orders_Europe.csv をロードします。
LOAD * FROM [lib://DataFiles/Orders By Region/orders_Europe.csv];
この例では、共有スペース、管理スペース、またはデータ スペース内のフォルダー Orders By Region からファイル orders_Europe.csv をロードします。スペースの名前は SalesSpace です。
LOAD * FROM [lib://SalesSpace:DataFiles/Orders By Region/orders_Europe.csv];
ロード スクリプトでスペース フォルダー構造を参照する方法の詳細については、「アプリおよびスクリプト開発におけるスペース フォルダー構造の参照」を参照してください。