Add
スクリプト内の任意の LOAD または SELECT ステートメントに Add プレフィックスを追加して、別のテーブルにレコードを追加するように指定できます。また、このステートメントを部分的なリロードで実行する必要があることも指定します。Add プレフィックスは Map ステートメントでも使用できます。
構文:
Add[only][Concatenate[(tablename)]] (loadstatement | selectstatement)
Add[only]mapstatement
通常 (非パーシャル) のリロードの間、AddLOAD 構文は、通常の LOAD ステートメントとして機能します。レコードが生成され、テーブルに保存されます。
Concatenate プレフィックスが使用されるか、同一の項目セットのあるテーブルが存在する場合、レコードは関連する既存のテーブルに追加されます。それ以外の場合、AddLOAD 構文は新しいテーブルを作成します。
パーシャル リロードの場合も同様です。唯一の相違は、AddLOAD 構文によって新しいテーブルが作成されることは決してない点です。レコードの追加される必要がある以前のスクリプト実行からの関連するテーブルが常に存在します。
その際、重複チェックは行われないため、Add プレフィックスを使用するステートメントには、重複を防ぐ distinct 修飾子または where 句がしばしば含まれます。
Add Map...Using ステートメントでは、パーシャル スクリプトの実行中もマッピングが発生します。
引数:
引数 | 説明 |
---|---|
only | パーシャル リロードではない通常のリロード中にステートメントを無視するよう指定するオプションの修飾子。 |
例と結果:
例 | 結果 |
---|---|
Tab1: LOAD Name, Number FROM Persons.csv; Add LOAD Name, Number FROM newPersons.csv; |
通常のリロードでは、データは Persons.csv からロードされ、QlikView テーブル Tab1 に保存されます。NewPersons.csv のデータは、同じ QlikView テーブルに連結されます。 パーシャル リロードを実行している場合、データは NewPersons.csv からロードされ、QlikView テーブル Tab1 に追加されます。重複チェックは実行されません。 |
Tab1: SQL SELECT Name, Number FROM Persons.csv; Add LOAD Name, Number FROM NewPersons.csv (txt) where not exists(Name); |
重複チェックは、Name が以前にロードされたテーブル データに存在するかどうか確認することで行われます (レコード間関数の exists 関数を参照)。 通常のリロードでは、データは Persons.csv からロードされ、QlikView テーブル Tab1 に保存されます。NewPersons.csv のデータは、同じ QlikView テーブルに連結されます。 パーシャル リロードを実行している場合、データは NewPersons.csv からロードされ、QlikView テーブル Tab1 に追加されます。重複チェックは、Name が以前にロードされたテーブル データに存在するかどうか確認することで行われます。 |
Tab1: LOAD Name, Number FROM Persons.csv; Add Only LOAD Name, Number FROM NewPersons.csv (txt) where not exists(Name); |
通常のリロードでは、データは Persons.csv からロードされ、QlikView テーブル Tab1 に保存されます。NewPersons.csv をロードするステートメントは無視されます。 パーシャル リロードを実行している場合、データは NewPersons.csv からロードされ、QlikView テーブル Tab1 に追加されます。重複チェックは、Name が以前にロードされたテーブル データに存在するかどうか確認することで行われます。 |