QlikWorld 2020 グローバル会議データを最大限活用する方法を探索するために参加 今すぐ行動するすぐに登録して保存

先行する LOAD

先行する LOAD 機能を使用すると、1 つのパスでテーブルをロードし、複数の連続した変換を定義できます。基本的に、通常指定する From または Resident などのソース修飾子を指定せずに、下記の LOAD または SELECT ステートメントからロードするのが LOAD ステートメントです。このようにして任意の数の LOAD ステートメントを積み上げることができます。ステートメントの評価は、最下部のステートメントから順番に、上に向かって実行されます。

Resident を使用しても同じ結果を得られますが、ほとんどの場合、先行する LOAD の方が時間がかかりません。

先行する Load のもう 1 つの利点は、計算を 1 か所に維持して、その上に配置された LOAD ステートメントで再利用できるという点にあります。

注: JoinCrosstableIntervalmatch のプレフィックスは、先行する LOAD とは併用できません。

Example 1: SELECT ステートメントでロードされたデータの変換

SELECT ステートメントを使用してデータベースからデータをロードすると、QlikView 関数を使用して SELECT ステートメントでデータを解釈することができなくなります。この問題を解決するには、データの変換を行う場所、SELECT ステートメントの上に LOAD ステートメントを追加します。

この例では、前の SELECT ステートメントをソースとして使用し、QlikView の関数 Date#LOAD ステートメントで使用することで、保存された日付を文字列として解釈しています。

LOAD Date#(OrderDate,’YYYYMMDD’) as OrderDate;
SQL SELECT OrderDate FROM … ;

Example 2: 計算の再利用によるスクリプトの簡素化

この例では、スクリプトで計算を複数回使用しています。

LOAD ..., Age( FromDate + IterNo() – 1, BirthDate ) as Age, Date( FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() <= ToDate - FromDate + 1 ;

最初のパスで計算を導入すると、先行する LOAD で Age 関数を再利用できます。

LOAD ..., ReferenceDate, Age( ReferenceDate, BirthDate ) as Age; LOAD *, Date( FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() <= ToDate - FromDate + 1 ;