

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 差分プライバシーによるカスタム分析ルール
<a name="custom-diff-privacy"></a>

では AWS Clean Rooms、カスタム分析ルールは差分プライバシーをサポートしています。差分プライバシーは、データプライバシー保護のための数学的に厳格なフレームワークであり、データを再識別されないように保護するのに役立ちます。

差分プライバシーは、広告キャンペーン計画、広告キャンペーン後の測定、金融機関コンソーシアムにおけるベンチマーク、医療研究のための A/B テストなどの集計分析をサポートします。

サポートされているクエリ構造と構文は、「[クエリの構造と構文](#dp-query-structure-syntax)」で定義されています。

## 差分プライバシーを使用したカスタム分析ルールの例
<a name="custom-diff-privacy-example"></a>

**注記**  
AWS Clean Rooms 差分プライバシーは、データが Amazon S3 に保存されているコラボレーションでのみ使用できます。

前のセクションで説明した[カスタム分析ルールの例](analysis-rules-custom.md#custom-example)を考えてみます。この例は、差分プライバシーを使用して再識別の試みからデータを保護すると同時に、パートナーがデータからビジネスクリティカルなインサイトを学べるようにする方法を示しています。閲覧者データを保有している B 社が、差分プライバシーを使用してデータを保護したいと想定します。差分プライバシーの設定を完了するために、B 社は次のステップを実行します。

1. B 社は差分プライバシーを有効にし、設定済み閲覧者数テーブルにカスタム分析ルールを追加します。B 社は `viewershipdata.hashedemail` をユーザー識別子列として選択します。

1. B 社はコラボレーションに[差分プライバシーポリシーを追加し](configure-differential-privacy.md)、閲覧者データテーブルをクエリに使用できるようにします。B 社はデフォルトポリシーを選択し、設定を迅速に完了します。

A社 は、B 社のサイトでの広告キャンペーンの売上増分を把握したいと考えており、分析テンプレートを実行します。クエリは AWS Clean Rooms 差分プライバシーの汎用[クエリ構造](#dp-query-structure-syntax)と互換性があるため、クエリは正常に実行されます。

## クエリの構造と構文
<a name="dp-query-structure-syntax"></a>

差分プライバシーが有効になっているテーブルが 1 つ以上含まれているクエリは、次の構文に従う必要があります。

```
query_statement:
    [cte, ...] final_select

 cte:
    WITH sub_query AS (
       inner_select
       [ UNION | INTERSECT | UNION_ALL | EXCEPT/MINUS ]
       [ inner_select ]
    )
   
 inner_select:
     SELECT [user_id_column, ] expression [, ...] 
     FROM table_reference [, ...] 
     [ WHERE condition ]
     [ GROUP BY user_id_column[, expression] [, ...] ] 
     [ HAVING condition ] 

 final_select:
     SELECT [expression, ...] | COUNT | COUNT_DISTINCT | SUM | AVG | STDDEV
     FROM table_reference [, ...]
     [ WHERE condition ]
     [ GROUP BY expression [, ...] ] 
     [ HAVING COUNT | COUNT_DISTINCT | SUM | AVG | STDDEV | condition ]
     [ ORDER BY column_list ASC | DESC ] 
     [ OFFSET literal ]
     [ LIMIT literal ]

 expression:
    column_name [, ...] | expression AS alias | aggregation_functions | window_functions_on_user_id | scalar_function | CASE | column_name math_expression [, expression]  
    
 window_functions_on_user_id:
    function () OVER (PARTITION BY user_id_column, [column_name] [ORDER BY column_list ASC|DESC])
```

**注記**  
差分プライバシークエリの構造と構文については、次の点に注意してください。  
サブクエリはサポートされていません。
テーブルや CTE に差分プライバシーで保護されたデータが含まれている場合は、テーブル共通式 (CTE) がユーザー識別子列を出力する必要があります。フィルター、グループ化、集計はユーザーレベルで行う必要があります。
Final\_select では、COUNT DISTINCT、COUNT、SUM、AVG、STDDEV 集約関数が使用できます。

差分プライバシーでサポートされる SQL キーワードの詳細については、「[AWS Clean Rooms 差分プライバシーの SQL 機能](dp-sql-capabilities.md)」を参照してください。