インライン ロードを使用したデータのロード このページ上 表示するリンクを増やす
スクリプトにデータを手動で入力してインライン テーブルを定義し、アプリ に読み込むことができます。データ ロード エディター および スクリプト でインライン ロードを操作できます。
インライン テーブルを作成するには、ファイルやデータベースに接続するのではなく、スクリプトにデータを手動で入力します。必要な構文を使用して、スクリプト テキストがインライン データとして解釈されることを示します。アプリがエクスポートされる場合、インライン ロードで追加されたデータはアプリに含まれます。インライン テーブルは、ロード スクリプト内で読み取りおよび編集可能です。
基本的なインライン ロードはテーブルを作成し、データ項目とレコードを挿入します。
データ ロード エディタでのインライン ロード
基本的な構文の例
次のスクリプトには、単純なインライン ロードが含まれています。
MyTable:
Load * Inline [
Country, Year, Sales
Argentina, 2014, 66295.03
Argentina, 2015, 140037.89
Austria, 2014, 54166.09
Austria, 2015, 182739.87
];
上記のインライン ロードには、次の構文が使用されます。
Load * Inline は Qlik Sense に対して、後続のインライン テーブルからすべての項目をロードするように指示します。
MyTable: はテーブルの名前を定義します。アプリ内のテーブルのリストには、データ モデル ビューア などからアクセスできます。
角括弧でデータを囲みます。
Load ステートメントの最初の行は、データ項目を定義します。
コンマはデータ項目とレコードを区切ります。
セミコロンは Load ステートメントを閉じます。
インライン テーブルのロード 次の手順を実行します。
アプリ で データ ロード エディター を開きます。
新しい行で、必要な構文を使用してテーブルを定義します。
基本的な構文の例
完了したら、データのロード をクリックします。
インライン ロードを使用する理由 インライン ロードは、次のようなさまざまなユース ケースで役立ちます。
外部ソースに接続する必要がなく、データを管理および編集できます。
データ モデル内の既存のデータを補足します。たとえば、主にデータベース ソースから得られるデータ モデルに追加のテーブルを追加できます。
外部ソースからの継続的なロードを避けたいデータを追加します。データ ソースが将来変更される可能性があるが、データ値は同じままであることがわかっている場合、これにより時間を節約できます。
他のファイルからコンテンツをコピーしてスクリプトに貼り付けるのが簡単です。たとえば、ワード プロセッサ ドキュメントの .csv ファイルや表などです。
すぐにコピーして貼り付けることができるテスト スクリプトを作成します。
構文の概要 テーブルの名前付け ロードされた他のテーブルの場合と同様に、インライン テーブルの名前を追加できます。テーブル名の定義はオプションです。
テーブル名の後にコロンを挿入します。
LOAD と inline ステートメントLOAD スクリプト ステートメントを使用すると、インライン テーブルが inline 句とともにロードされます。inline 句は、テーブル内の後続のテキストにエディターに手動で入力されたデータが含まれることを示します。特に指定しない限り、インライン テーブルでは区切りテキスト ファイルの構造に従う txt 形式が使用されます。
LOAD ステートメントの詳細については、「 Load 」を参照してください。
エンクロージャーとデータ入力inline 句を通じて入力されるデータは、特定の文字で囲む必要があります。データを囲むために使用できる文字の組み合わせは次のとおりです。
角括弧:[ および]
二重引用符:" および"
単一引用符:' および'
バックティック:` および`
エンクロージャーとして選択した文字は、競合する文字を含むインライン データをロードするのに役立ちます。たとえば、データに角括弧で囲まれたレコードが含まれている場合は、代わりに引用符またはバックティックで囲むことができます。
代替エンクロージャーの例については、「例 - 代替データ エンクロージャー 」を参照してください。
代替のテーブル形式 (デフォルトは txt ) を指定しない限り、エンクロージャー間のテキストはファイルの内容と同じように解釈されます。そのため、テキスト ファイル内で新しい行を挿入する場合は、inline 句のテキスト内でも新しい行を挿入する必要があります。つまり、スクリプトを入力するときに Enter キーを押します。
インライン ロードの終了 インライン ロード ステートメントの終わりはセミコロンで示されます。
Data transformation変換を行わない単純なインライン ロードでは、列の数は最初の行で定義されます。次の例でロードされるテーブルには 3 つの列があります。Product_ID 、Supplier_Name 、Product_Category 。
Products:
Load * Inline [
Product_ID, Supplier_Name, Product_Category
1, Paracel, Home Decor
2, PageWave, Electronics
3, Talarian, Software
4, Userland, Appliances
];
変換を実行して、同じインライン テーブル内に新しい列を作成することもできます。先行ロード を使用したり、複数の LOAD ステートメントを使用して同じテーブルをロードしたりできます。
具体的な例については、「例 - 変換を伴うインライン ロード 」を参照してください。
インライン ロードでの書式指定の構成他のロードされたテーブルと同様に、書式指定アイテムを使用してインライン テーブルの書式指定を変更できます。書式指定は括弧内に追加されます。データ エンクロージャーの後、LOAD ステートメントを終了するセミコロンの前に追加する必要があります。追加できるカスタマイズには次のようなものがあります。
同じテーブル内で複数の書式指定アイテムを使用する場合は、カンマで区切ります。例: (Delimiter is '|', no labels)
書式指定の詳細については、「書式指定アイテム 」を参照してください。
演算子とその他の句 さらに、インライン ロードは LOAD ステートメントであるため、LOAD ステートメントの他の引数をインライン ロードに組み合わせることができます。たとえば、where または while 句を使用して、その行内のテキストに基づいて特定の行をロードするかどうかを定義します。
同様に、テキスト コンテンツ自体の外側で演算子を使用することもできます。演算子を使用すると、インライン データの変換方法をカスタマイズしたり、特定のデータをいつロードするかどうかを定義したりできます。
具体的な例については、「例 - 変換と句の演算子 」を参照してください。
例 - 代替データ エンクロージャー角括弧、引用符、またはバックティックを使用してインライン ロードを囲むことができます。このセクションでは、例を示してこれを説明します。詳細については、「エンクロージャーとデータ入力 」を参照してください。
ロード スクリプトと結果 この例では、バックティックを使用してインライン データを囲む方法を示します。この例のデータには角括弧文字が含まれているため、角括弧は LOAD ステートメントの囲みとして互換性がありません。
概要
データ ロード エディター を開き、次のロード スクリプトを新しいタブに追加します。
ロード スクリプト
DataTable:
Load * inline
`
custom_property, date, amount
[11402], 1/1/2024, 92.99
[11403], 1/2/2024, 102.34
[11404], 1/3/2024, 50.26
[11405], 1/4/2024, 153.69
[11406], 1/5/2024, 75.62
`;
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
custom_property
date
amount
結果テーブル [11402] 1/1/2024 92.99 [11403] 1/2/2024 102.34 [11404] 1/3/2024 50.26 [11405] 1/4/2024 153.69 [11406] 1/5/2024 75.62
例 - 代替区切り文字カンマ以外の文字を使用して、テーブル内の列の値を区切ることができます。詳細については、「インライン ロードでの書式指定の構成 」を参照してください。
ロード スクリプトと結果 概要
区切り文字の交換は、テーブル内のデータにカンマが含まれている場合に便利です。カンマが含まれていないと、テーブル内の次の列への切り替えの信号が送られてしまいます。
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
Table1:
LOAD * INLINE [
ID|Phrase
1 | 'The transaction was complete, but the order has not yet shipped.'
2 | 'We need to confirm the following details: sales rep number, order status, and shipping priority.'
] (Delimiter is '|');
Table2:
LOAD * INLINE [
Num1:Chr1
1:A
2:B ] (Delimiter is ':');
Table3:
LOAD * INLINE [
Num2\Chr2
1\A
2\B ] (Delimiter is \\);
Table4:
LOAD * INLINE [
Num3 Chr3
1 A
2 B ] (Delimiter is '\t');
結果
データをロードしてシートを開きます。4 つのテーブルを作成し、次のように軸を追加します。
Table1 : ID , Phrase
Table2 : Num1 , Chr1
Table3 : Num2 , Chr2
Table4 : Num3 , Chr3
結果テーブル: Table1 1 The transaction was complete, but the order has not yet shipped. 2 We need to confirm the following details: sales rep number, order status, and shipping priority.
例 - インライン ロードと他のデータ ソースからのロードの混合 ロード スクリプトと結果 概要
次のスクリプトは、まずコネクタから一連の項目を読み込み、次に共通項目と追加項目を含むインライン テーブルをロードします。この新しい項目は、データ接続を通じてロードされなかった行項目に関する別のプロパティを提供します。これは、2 つのテーブル間に共通する項目名が 1 つある場合にのみスムーズに機能することに注意してください。共通の項目名が複数ある場合は、合成キー が生成されます。
この切り詰められた例では、データ接続 から注文の詳細のテーブルをロードします。次に、インライン テーブルを使用して追加項目、Supplemental Info を追加します。これには、たとえば、特定の注文 ID に関する特別なコメントに関する詳細が含まれる場合があります。
ロード スクリプト
SET DateFormat='MM/DD/YYYY';
Orders:
LIB CONNECT TO 'My_Generic_Connection';
LOAD PRODUCT_DIVISION_A_ORDER_ID as Order ID,
PRODUCT_DIVISION_A_ORDER_DATE as ISSUE_KEY as Order Date,
PRODUCT_DIVISION_A_TYPE as Product Type,
PRODUCT_DIVISION_A_SALES_MANAGER as Manager,
PRODUCT_DIVISION_A_SHIPPED_STATUS as Shipped Status;
SELECT PRODUCT_DIVISION_A_ORDER_ID,
PRODUCT_DIVISION_A_ORDER_DATE,
PRODUCT_DIVISION_A_TYPE,
PRODUCT_DIVISION_A_SALES_MANAGER,
PRODUCT_DIVISION_A_SHIPPED_STATUS
FROM SourceTable
WITH PROPERTIES (
[...]
);
Orders_Inline_Info:
load * inline [
Order ID,Supplemental Info
PSF-001014,'Bulk order, pending deal with Paracel.'
PSF-001625,'NOTE: Product damaged. Investigation required.'
];
結果
データをロードした後、次の軸をテーブルに追加するとします。
Order ID
Order Date
Product Type
Manager
Shipped Status
Supplemental Info
結果のチャートは次のようになります。
結果テーブル: Orders PSF-000998 1/13/2024 Electronics Amanda Honda Shipped - PSF-000999 1/15/2024 Automotive Molly McKenzie Not Shipped - PSF-001014 1/17/2024 Home Appliances Amalia Craig Undefined Bulk order, pending deal with Paracel. PSF-001625 1/21/2024 Electronics Amanda Honda Undefined Product damaged. Investigation required.
両方のテーブルのすべての項目を同じビジュアライゼーション にどのように追加できるかに注目してください。テーブルはデータ モデル内で互いに関連付けられています。
例 - 列ヘッダーの省略書式指定を編集して、列ヘッダーを定義せずにインライン テーブルをロードします。これは labels 指定 (no labels の値に設定) で行われます。詳細については、「インライン ロードでの書式指定の構成 」を参照してください。
列名を定義せずにテーブルをロードすると、システム定義の列名が自動的に使用されます。
ロード スクリプトと結果 概要
この例では、列名を定義せずにインライン テーブルをロードする方法を示します。
データ ロード エディター を開き、次のロード スクリプトを新しいタブに追加します。
ロード スクリプト
Expenses:
Load * inline
[
1,Category1,40566.49
2,Category2,3504.54
3,Category3,593206.30
] (no labels);
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
結果テーブル 1 Category1 40566.49 2 Category2 3504.54 3 Category3 593206.30
例 - 別のデータ型のロードこの例では、固定レコード形式でインライン テーブルをロードする方法を示します。「インライン ロードでの書式指定の構成 」を参照してください。
ロード スクリプトと結果 概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
テーブル DataTable を定義するインライン ロード ステートメント。 (Table format 仕様の一部として) fix を使用して、ロードするデータが固定レコード形式であることを示します。 ロード スクリプト
DataTable:
LOAD
"@1:4",
"@5:8",
"@9:12",
"@13:16"
INLINE [
a b c d
1 2 3 4
x y z w
] (fix, utf8, embedded labels);
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
例 - 複数行のコンテンツこの例では、複数行の項目の内容をインライン テーブルに入力する方法を示します。「インライン ロードでの書式指定の構成 」を参照してください。
ロード スクリプトと結果 概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
T1 テーブルを定義するための単純なインライン ロード。
複数行のコンテンツをサポートするには、Quotes 指定子 (値 msq を指定) を使用します。
長さの値はフィートとインチで指定します。
二重引用符記号 (" ) は、複数行のエントリの終わりを示します。この例では、インチ値を示すために同じ記号も使用されています。これは、同じ LOAD ステートメントで両方を使用する必要がある場合に、構文とその結果の動作を示すために行われます。基本的に、連続する 2 文字 ("" ) の " 記号を入力すると、コードが記号の単一のテキスト インスタンスとして解釈されることを示します。
ロード スクリプト
T1:
Load *, recno() as ID inline [
Length
"1' 2""
22' 10"""
14' 8" ] (msq);
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
複数行のコンテンツを意図したとおりに表示するには、プロパティ パネルで [セル内でテキストを折り返す ] 設定をオンにする必要があります。さらに、アプリのテーマ (またはビジュアライゼーション 設定) では、十分な行の高さ (行単位) を考慮する必要があります。
結果テーブル 1 1' 2"
22' 10"
2 14' 8"
上のテーブルでは、ID 値が 1 のレコードには複数行のコンテンツが含まれています。
例 - 変換を伴うインライン ロードこれらの例は、インラインでロードされた項目に対して計算を実行して、データ モデルに新しい項目を作成する方法を示しています。
詳細については、「Data transformation 」を参照してください。
例: 項目の単純な名前変更 概要
データ ロード エディター を開き、次のロード スクリプトを新しいタブに追加します。
ロード スクリプト
ORDERS:
Load Original as Updated,
* Inline
[
Original
ProductA
ProductB
ProductC
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
結果テーブル ProductA ProductA ProductB ProductB ProductC ProductC
例: ID 項目の単純な挿入 概要
この例では、各 ID 値を手動で入力せずに、各データ行の ID を示す計算された項目を定義する方法を示します。
データ ロード エディター を開き、次のロード スクリプトを新しいタブに追加します。
ロード スクリプト
ORDERS:
Load RowNo() as ID,
* Inline
[
ProductName
A
B
C
D
E
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
例: 変換を処理するための LOAD ステートメントの構成 概要
この例では、単純な変換をインライン データに適用するいくつかの方法を示します。1 つまたは複数の LOAD ステートメントを使用し、さまざまな方法で構文を構成して、変換によって元の項目 を置き換えるかどうか、または元の項目と新しい項目の両方をロードするかどうかを定義できます。
特に、以下のバリエーションと、それが出力にどのような影響を与えるかに注意してください。
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
DerivedYears1:
Load *,
Year(initial_date1) as derived_year1
;
Load
* inline [
initial_date1
'1/1/2022'
'1/1/2023'
'1/1/2024'
];
DerivedYears2:
Load
Year(initial_date2) as derived_year2
;
Load
* inline [
initial_date2
'1/1/2022'
'1/1/2023'
'1/1/2024'
];
DerivedYears3:
Load Year(initial_date3) as derived_year3,
* inline [
initial_date3
'1/1/2022'
'1/1/2023'
'1/1/2024'
];
DerivedYears4:
Load Year(initial_date4) as derived_year4
inline [
initial_date4
'1/1/2022'
'1/1/2023'
'1/1/2024'
];
結果
データをロードしてシートを開きます。3 つのテーブルを作成し、次のように軸 を追加します。
DerivedYears1 : initial_date1 , derived_year1
DerivedYears2 : initial_date2
DerivedYears3 : initial_date3 , derived_year3
結果テーブル: DerivedYears1 1/1/2022 2022 1/1/2023 2023 1/1/2024 2024
結果テーブル: DerivedYears2 2022 2023 2024
結果テーブル: DerivedYears3 1/1/2022 2022 1/1/2023 2023 1/1/2024 2024
結果テーブル: DerivedYears4 2022 2023 2024
例: 項目の内容の変更 概要
大きなテキスト ファイルからスクリプト エディターに情報を貼り付けているが、データセット内のレコードに対して追加の処理を実行したいとします。たとえば、特定の文字と接頭辞を削除し、各単語を大文字にしたいとします。
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
Transformations:
Load
Capitalize(TextBetween(OrigColumn, '{','}')) as ProductName_Trimmed;
Load * inline [
OrigColumn
Product: {soft drinks and other beverages}
Product: {snack food}
Product: {electronics and video games}
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します: ProductName_Trimmed 。
結果テーブル Soft Drinks And Other Beverages Snack Food Electronics And Video Games
例 - 変換と句の演算子演算子を使用して、LOAD ステートメント内の変換と特定の句を定義できます。詳細については、「演算子とその他の句 」を参照してください。
演算子
ロード スクリプトと結果 概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
Purchases テーブルを定義するための単純なインライン ロード。
計算された項目 (OrderSize ) の挿入。この項目は、インライン データセットの amount 項目を変換したものです。金額が $2000.00 を超えるかどうかに応じて、購入を小規模または大規模に分類します。
amount が $0.05 未満の場合にレコードがロードされないようにする where 句。
ロード スクリプト
Purchases:
Load
If(amount<2000,'Small Purchase','Large Purchase') as OrderSize,
* inline
[
ID, amount
1,2660.39
2,100.01
3,500.42
4,5023.99
5,0.04
6,2002.39
7,31034.53
8,1643.58
9,3993.65
10,614.34
11,675.93
]
WHERE
amount>0.05
;
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
結果テーブル 1 2660.39 Large Purchase 2 100.01 Small Purchase 3 500.42 Small Purchase 4 5023.99 Large Purchase 6 2002.39 Large Purchase 7 31034.53 Large Purchase 8 1643.58 Small Purchase 9 3993.65 Large Purchase 10 614.34 Small Purchase 11 675.93 Small Purchase
上のテーブルでは、5 の ID を持つトランザクションはテーブルにロードされませんでした。これは、amount 値が $0.05 未満であるためです。
例 - インライン テーブルに null 値を作成 この例では、NullInterpret 変数を使用してインライン データに null 値を作成する方法を示します。
NullInterpret
ロード スクリプトと結果 概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
set nullinterpret = '';
T2:
Load * inline [
Test
''
x ];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します: Test 。
上のテーブルでは、最初のレコードは null 値です。したがって、ビジュアライゼーションには含まれていません。追加の軸を持つテーブルに存在する null 値は、- 記号で示されます。
他の例 追加の例については、「 Load 」を参照してください。