

# ColumnValues
<a name="dqdl-rule-types-ColumnValues"></a>

列内の値に対して式を実行します。

**[Syntax]** (構文)

```
ColumnValues <COL_NAME> <EXPRESSION>
```
+ **COL\$1NAME** – データ品質ルールを評価する対象となる列の名前。

  **列でサポートされている型**: 任意の型
+ **EXPRESSION** – ルールタイプの応答に対して実行し、論地値を生成するための式。詳細については、「[表現](dqdl.md#dqdl-syntax-rule-expressions)」を参照してください。

**例: 許可される値**

次のルール例では、指定された列の各値が、許可された値 (null、空、空白のみの文字列を含む) のセットの中に含まれているかどうかを確認します。

```
ColumnValues "Country" in [ "US", "CA", "UK", NULL, EMPTY, WHITESPACES_ONLY ]
ColumnValues "gender" in ["F", "M"] where "weightinkgs < 10"
```

**例: 正規表現**

次のルール例では、列内の値が正規表現と照合されます。

```
ColumnValues "First_Name" matches "[a-zA-Z]*"
```

**例: 日付値**

次のルール例では、日付列内の値が日付表現に適合しているかをチェックします。

```
ColumnValues "Load_Date" > (now() - 3 days)
```

**例: 数値**

次のルール例では、列内の値が特定の数値制約に適合しているかどうかをチェックします。

```
ColumnValues "Customer_ID" between 1 and 2000
```

**Null 動作**

 すべての `ColumnValues` ルール (`!=` および `NOT IN` 以外) では、`NULL` 行はルールを満たしません。null 値が原因でルールが失敗した場合、失敗理由には次の内容が表示されます。

```
Value: NULL does not meet the constraint requirement!
```

 次の複合ルールの例では、`NULL` 値を明示的に満たす方法が示されています。

```
(ColumnValues "Age" > 21) OR (ColumnValues "Age" = NULL)
```

 `!=` および `not in` 構文を使用する否定 ColumnValues ルールは、`NULL` 行に渡されます。例: 

```
ColumnValues "Age" != 21
```

```
ColumnValues "Age" not in [21, 22, 23]
```

 次の例では、`NULL` 値を明示的に満たさない方法を示されています。

```
(ColumnValues "Age" != 21) AND (ColumnValues "Age" != NULL)
```

```
ColumnValues "Age" not in [21, 22, 23, NULL]
```