Compare、Not Empty、Range、Regular Expression、String Match など、テスト演算の条件について取り上げます。
Compare は、文字列値または数値を比較する条件です。文字列値を比較する場合、大文字と小文字を区別するかどうかを指定できます。
Compare 条件のパラメーターについて次の表で説明します。
パラメーター | 説明 | デフォルト |
---|---|---|
Case Sensitive | true または false。Type が LEXICAL の場合にのみ使用されます。false に設定した場合、大文字と小文字は区別されません。 | true |
コメント | (オプション)条件についてのメモ。 | コメント |
Input A | 比較対象となる 2 つの値の 1 つ目。この値は、条件の左辺オペランドを表します。 | |
Input B | 比較対象となる 2 つの値の 2 つ目。この値は、条件の右辺オペランドを表します。 | |
操作 | 比較演算。利用可能な演算(とその意味)を次に示します。
|
= |
タイプ | 実行する比較のタイプ。LEXICAL、NUMERIC、DATETIME のいずれかを選択できます。タイプの説明については、テスト演算のテストタイプを参照してください。 | LEXICAL |
この例では、Compare条件を使用してLog Entry Conditionを定義しています。 Data Workbench サーバーは、各イベントデータレコードを読み取る際、数値である x-age と 55 を比較します。特定のログエントリについて、x-age が 55 以下である場合、そのログエントリはデータセットの構築プロセスに含められます。
Not Empty は、フィールドに値が格納されているかどうかをチェックする条件です。Input フィールドの値が空以外であれば、ログエントリがこの条件を満たしていると見なされます。
Not Empty 条件のパラメーターについて次の表で説明します。
パラメーター | 説明 | デフォルト |
---|---|---|
コメント | (オプション)条件についてのメモ。 | コメント |
Input | 特定のログエントリに関して、値が格納されているかどうかのチェック対象となるフィールドの名前。 |
この例では、x-some-field を入力として受け取り、そのフィールドに値が格納されている(空でない)かどうかをテストします。フィールドに値が格納されていれば、条件を満たしたことになります。
Range は、入力フィールドを受け取り、その値が、指定された下限値(Min)パラメーターと上限値(Max)パラメーターの範囲(両端の値を含む)に含まれているかどうかを判断する条件です。
Range 条件のパラメーターについて次の表で説明します。
パラメーター | 説明 | デフォルト |
---|---|---|
大文字と小文字の区別 | true または false。Type が LEXICAL の場合にのみ使用されます。false に設定した場合、大文字と小文字は区別されません。 | true |
コメント | (オプション)条件についてのメモ。 | コメント |
入力 | ログエントリからの入力として使用するフィールドの名前。 | |
Min | 範囲の下限。 このパラメーターの値は、リテラル値または文字列(つまりフィールド名以外)であることが必要です。このフィールドの日付を使用する場合、タイムゾーンを指定する必要があります。サポートされているタイムゾーンの略称一覧については、 タイムゾーンのコード. |
|
Max | 範囲の上限。
注意:このパラメーターの値は、リテラル値または文字列(つまりフィールド名以外)であることが必要です。このフィールドの日付を使用する場合、タイムゾーンを指定する必要があります。サポートされているタイムゾーンの略称一覧については、 タイムゾーンのコード. |
|
タイプ | 実行する比較のタイプ。LEXICAL、NUMERIC、DATETIME のいずれかを選択できます。タイプの説明については、テスト演算のテストタイプを参照してください。 |
この例では、Range条件を使用してLog Entry Conditionを定義しています。 Data Workbenchサーバーは、各event dataレコードを読み取る際に、x-ageと55の数値を比較します。 特定のログエントリについて、x-age が 55 以上である場合、そのログエントリはデータセットの構築プロセスに含められます。この例で実行される機能は、Compare 条件で取り上げた例と同じです。Compare を参照してください。
MinまたはMaxパラメーターが空白の場合、使用可能な最小または最大の整数値が代わりに使用されます。 最小値はゼロ(0)で、最大値は無限です。
Regular Expression条件テストでは、正規表現のパターンマッチング(正規表現を参照)を使用して、指定した入力フィールドの値に、 Matchesパラメーターで指定したパターンの1つに一致する文字列が含まれているかどうかを判定します。
入力データが文字列ベクトルである場合、ベクトル内の 1 つ目の値だけがテストに使用されます。Regular Expression条件は、完全な文字列の比較を実行します。 文字列を部分的に識別する必要がある場合は、文字列の前後に「.*」を付加する必要があります。
Regular Expression 条件のパラメーターについて次の表で説明します。
パラメーター | 説明 | デフォルト |
---|---|---|
大文字と小文字の区別 | true または false。false に設定した場合、大文字と小文字は区別されません。 | true |
コメント | (オプション)条件についてのメモ。 | コメント |
入力 | ログエントリからの入力として使用するフィールドの名前。 | |
Matches | 入力フィールドの値と突き合わせる正規表現パターン(複数可)。 正規表現パターンを追加するには
|
以下に示したのは、Web サイトトラフィックから収集したデータのフィールドに、Regular Expression 条件を適用して、一致しているかどうかを判断する例です。この条件は、cs(referrer-query)フィールドに正規表現campaign=C[1-9][0-9]{4}
と一致する文字列が含まれている場合にのみtrueを返します。 この正規表現は、campaign=C12345
を含む任意の文字列と一致します。 ただし、C
の後の最初の文字が1-9
の範囲に含まれていないので、このパターンは文字列campaign=C0123&
と一致しません。
String Match条件は、文字列の等価性をテストします。 指定されたフィールドを入力として受け取り、各ログエントリ内のフィールドの値と、この条件演算の Matches パラメーターに指定された文字列とを比較します。Matches に指定されたいずれかの文字列が、指定された入力フィールドの値と同じ(大文字と小文字が区別されます)である場合、true を返します。StringCondition に一致文字列が存在しない場合は、false を返します。入力データが文字列ベクトルである場合、ベクトル内の 1 つ目の値(文字列)だけがテストに使用されます。
パラメーター | 説明 | デフォルト |
---|---|---|
大文字と小文字の区別 | true または false。false に設定した場合、大文字と小文字は区別されません。 | true |
コメント | (オプション)条件についてのメモ。 | コメント |
入力 | ログエントリからの入力として使用するフィールドの名前。 | |
一致 | 入力フィールドの値と突き合わせる文字列(複数可)。 文字列を追加するには
|
以下に示したのは、Web サイトトラフィックから収集したデータに String Match 条件を適用する例です。この条件は、入力フィールド(cs-uri-stem)がMatchesパラメータで指定された2つの文字列のいずれかと一致するかどうかをテストし、フィールドcs-uri-stemが正確な文字列/navigation/footer.aspか正確な文字列/navigation/header.aspのどちらかである場合に成功します。