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

IntervalMatch

IntervalMatch プレフィックスを使うと、不連続数値を 1 つ以上の数値間隔に一致させるテーブル、そしてオプションとして 1 つ以上の追加キーの値を一致させるテーブルを作成できます。

構文:  

IntervalMatch (matchfield)(loadstatement | selectstatement )

IntervalMatch (matchfield,keyfield1 [ , keyfield2, ... keyfield5 ] ) (loadstatement | selectstatement )

 

IntervalMatch プレフィックスは、間隔をロードする LOAD または SELECT ステートメントの前に配置する必要があります。不連続データ ポイントを含む項目 (以下の例では Time) および追加キーは、IntervalMatch プレフィックスを含むステートメントの前に QlikView にロードされていなければなりません。このプレフィックスはデータベース テーブルからこの項目を読み取るのではなく、ロードされた間隔テーブルとキーを変換して追加列 (不連続数値データ点) を含むテーブルを生成します。また、新しいテーブルで不連続データ ポイントと間隔、キー項目の値の組み合わせごとにレコードが 1 つ存在するようレコード数を増やします。

間隔は重なる場合があり、不連続値は一致する間隔すべてにリンクされます。

拡張された IntervalMatch プレフィックスを使うと、不連続数値を 1 つ以上の数値間隔に一致させると同時に 1 つ以上の追加キーの値を一致させるテーブルを作成できます。これは強力かつ柔軟な機能で、時間の経過に伴って変化する軸(ゆっくり変化する軸) のあるトランザクションを連結するために使用できます。

未定義の間隔範囲が無視されないようにするには、間隔の下限または上限を構成する項目への NULL 値のマッピングを許可しなければならない可能性があります。その場合は、NullAsValue ステートメントを使用するか、不連続数値データ ポイントの前または後で NULL 値を数値に置き換える明示的なテストを実施します。

引数:  

IntervalMatch 引数
引数 説明
matchfield 間隔にリンクする不連続の数値が含まれた項目。
keyfield 変換で一致させる追加属性が含まれた項目。
loadstatement or selectstatement 最初の項目に各間隔の下限、2 つ目の項目に各間隔の上限を含むテーブルが生成されます。キー一致を使用している場合、3 つ目以降の項目には IntervalMatch ステートメントのキー項目が含まれます。間隔は常に閉じているので、終端は間隔に含まれます。数値以外の範囲では間隔が無視されます (未定義として対処)。

例1:  

下記の 2 つのテーブルのうち、最初のテーブルは注文の製造開始時間と終了時間を定義します。2 つ目のテーブルには、個々のイベントが掲載されます。IntervalMatch プレフィックスを使用すると、2 つのテーブルが論理的に接続され、イベントの影響を受けた注文を特定したり、どのシフトでどの注文が処理されたかを確認することができます。

EventLog:
LOAD * Inline [
Time, Event, Comment
00:00, 0, Start of shift 1
01:18, 1, Line stop
02:23, 2, Line restart 50%
04:15, 3, Line speed 100%
08:00, 4, Start of shift 2
11:43, 5, End of production
];

OrderLog:
LOAD * INLINE [
Start, End, Order
01:00, 03:35, A
02:30, 07:58, B
03:04, 10:27, C
07:23, 11:43, D
];

//Link the field Time to the time intervals defined by the fields Start and End.
Inner Join IntervalMatch ( Time )
LOAD Start, End
Resident OrderLog;

結果

OrderLog テーブルには現在と追加の列:Time が含まれます。レコードの数もまた増えます。

Example 1
Time Start End Order

00:00

- - -
01:18 01:00 03:35 A
02:23 01:00 03:35 A
04:15 02:30 07:58 B
04:15 03:04 10:27 C
08:00 03:04 10:27 C
08:00 07:23 11:43 D
11:43 07:23

11:43

D

例2: (keyfield の使用)

前述の例と同じで、ProductionLine をキー項目として追加します。

EventLog:
LOAD * Inline [
Time, Event, Comment, ProductionLine
00:00, 0, Start of shift 1, P1
01:00, 0, Start of shift 1, P2
01:18, 1, Line stop, P1
02:23, 2, Line restart 50%, P1
04:15, 3, Line speed 100%, P1
08:00, 4, Start of shift 2, P1
09:00, 4, Start of shift 2, P2
11:43, 5, End of production, P1
11:43, 5, End of production, P2
];
 
OrderLog:
LOAD * INLINE [
Start, End, Order, ProductionLine
01:00, 03:35, A, P1
02:30, 07:58, B, P1
03:04, 10:27, C, P1
07:23, 11:43, D, P2
];
 
//Link the field Time to the time intervals defined by the fields Start and End and match the values
// to the key ProductionLine.
Inner Join
IntervalMatch ( Time, ProductionLine )
LOAD Start, End, ProductionLine
Resident OrderLog;

結果

次のようなテーブル ボックスが作成されます。

Example 2
ProductionLineTime EventCommentOrderStart End
P1

00:00

0Start of shift 1-- -
P201:000Start of shift 1---
P101:18 1Line stopA01:00 03:35
P102:23 2Line restart 50%A01:00 03:35
P104:15 3Line speed 100%B02:30 07:58
P104:15 3Line speed 100%C03:04 10:27
P108:00 4Start of shift 2C03:04 10:27
P209:00 4Start of shift 2D07:23 11:43
P111:43 5End of production-- -
P211:43 5End of productionD07:23 11:43

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

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

分析の近代化プログラムに参加する

Remove banner from view

分析最新化プログラムにより、重要な QlikView app を危険にさらすことなく最新化しましょう。 ここをクリック して詳細を表示するか、次にお問い合わせください。 ampquestions@qlik.com