

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

檢查主資料集中資料欄集值在多大程度上為參考資料集中資料欄集的值子集。

**語法**

```
ReferentialIntegrity <PRIMARY_COLS> <REFERENCE_DATASET_COLS> <EXPRESSION>
```
+ **PRIMARY\$1COLS**：主資料集中以逗號分隔的資料欄名稱清單。

  **支援的資料欄類型**：位元組、小數、雙精度浮點數、浮點數、整數、長整數、短整數
+ **REFERENCE\$1DATASET\$1COLS**：此參數包含以句號分隔的兩個部分。第一部分是參考資料集的別名。第二部分是在以大括號括住的參考資料集中以逗號分隔的資料欄名稱清單。

  **支援的欄類型**：位元組、小數、雙精度浮點數、浮點數、整數、長整數、短整數
+ **EXPRESSION** – 針對規則類型回應執行的運算式，以產生布林值。如需詳細資訊，請參閱[表達式](dqdl.md#dqdl-syntax-rule-expressions)。

**範例：檢查郵遞區號資料欄的參照完整性**

下列範例規則會檢查在主資料集的 `zipcode` 資料欄中，是否有超過 90% 的值存在於 `reference` 資料集的 `zipcode` 資料欄中。

```
ReferentialIntegrity "zipcode" "reference.zipcode" >= 0.9
```

**範例：檢查城市和州/省資料欄的參照完整性**

在下列範例中，包含城市和州/省資訊的資料欄存在於主資料集和參考資料集中。這兩個資料集中的資料欄名稱各不相同。該規則會檢查主資料集中的資料欄值集是否與參考資料集中的資料欄值集完全相等。

```
ReferentialIntegrity "city,state" "reference.{ref_city,ref_state}" = 1.0
```

 **動態規則範例** 
+ `ReferentialIntegrity "city,state" "reference.{ref_city,ref_state}" > avg(last(10))`
+ `ReferentialIntegrity "city,state" "reference.{ref_city,ref_state}" between min(last(10)) - 1 and max(last(10)) + 1`