

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Estrutura e elementos das expressões de filtro
<a name="creating-filter-expressions"></a>

Esta seção inclui informações sobre a estrutura de expressões de filtro e os respectivos elementos.

**Topics**
+ [Estrutura das expressões de filtro](#filter-expression-structure)
+ [Filtrar elementos de expressão](#filter-expression-elements)

## Estrutura das expressões de filtro
<a name="filter-expression-structure"></a>

A estrutura geral de uma expressão de filtro é a seguinte: 

```
EXCLUDE/INCLUDE ItemID/ActionID/UserID WHERE dataset type.field IN/NOT IN (value/parameter)
```

Você pode criar manualmente expressões de filtro ou obter ajuda com a sintaxe e a estrutura da expressão usando o [construtor de expressões](filter-real-time.md#using-filter-expression-builder) no console. 

## Filtrar elementos de expressão
<a name="filter-expression-elements"></a>

Use os seguintes elementos para criar expressões de filtro:

**INCLUIR ou EXCLUIR**  
Use `INCLUDE` para limitar as recomendações somente aos itens que atendam aos critérios do filtro *OU* use `EXCLUDE` para remover todos os itens que atendem aos critérios do filtro.

**ItemID/ActionID/UserID**  
Use um desses elementos após o elemento `INCLUDE` ou `EXCLUDE`. O elemento usado está condicionado ao tipo de dados filtrados, ou seja, itens (para recomendações de itens), ações (para recomendações de ações) ou usuários (para segmentos de usuários). 

**WHERE**  
Use `WHERE` para conferir as condições de itens, ações ou usuários. É necessário usar o elemento `WHERE` após `ItemID`, `ActionID` ou `UserID`. 

**E/OU**  
Para encadear várias condições na mesma expressão de filtro, use `AND` ou `OR`. Condições encadeadas com `AND` ou `OR` podem afetar os campos do conjunto de dados usado na primeira condição.

**Dataset.field**  
Forneça o conjunto de dados e o campo de metadados pelos quais você deseja filtrar as recomendações no formato `dataset`.`field`. Por exemplo, para filtrar recomendações de itens com base no campo de gêneros no conjunto de dados de itens, você usará Items.genres na expressão de filtro. 

**Condição IF**  
Use uma condição `IF` *somente* para verificar as condições de `CurrentUser` e somente *uma vez* no final de uma expressão. No entanto, você pode estender uma condição `IF` usando `AND`. 

**CurrentUser.atributo**  
 Para filtrar as recomendações de itens com base no usuário para o qual você está recebendo recomendações, *somente* em uma condição IF, use `CurrentUser` e forneça o campo do usuário. Por exemplo, .`CurrentUser.AGE` 

**CurrentItem.atributo**  
 Somente para fórmulas de itens relacionados e casos de uso, use `CurrentItem`.`attribute` para filtrar itens com base em um atributo do item especificado na sua solicitação de recomendações de itens relacionados. Por exemplo, `CurrentItem.GENRE` ou `CurrentItem.PRICE`.   
 Você pode aplicar um filtro com o CurrentItem elemento somente se seu caso de uso de domínio ou receita personalizada gerar recomendações de itens relacionados, como a receita de itens semelhantes ou o caso de uso do domínio *More Like X.* Na primeira vez que você cria um filtro com um elemento `CurrentItem`, a criação do filtro pode levar alguns minutos. Se você usa AWS KMS para criptografia, a criação do filtro pode levar até 15 minutos. 

**IN/NOT IN**  
Use `IN` ou `NOT IN` como operadores de comparação para filtrar com base na correspondência (ou não correspondência) de um ou mais valores de string. O Amazon Personalize filtra somente em strings exatas.

**Operadores de comparação**  
Use operadores =, <, <=, >, >= e \$1= para testar dados numéricos, incluindo dados transmitidos em um parâmetro de espaço reservado, para verificar a igualdade.

**Caractere asterisco (\$1)**  
Use `*` para incluir ou excluir interações de todos os tipos. Use `*` *somente* para expressões de filtro que usam o campo `EVENT_TYPE` de um conjunto de dados de `Interactions`.

**Separador de pipes**  
Use o separador de pipes (`|`) para encadear várias expressões. Para obter mais informações, consulte [Como combinar várias expressões](multiple-expression-example.md).

**Parâmetros**  
Para expressões que usam operadores de comparação ou o operador `IN`, use o cifrão (\$1) e um nome de parâmetro para adicionar um parâmetro de espaço reservado como um valor. Por exemplo, .`$GENRES` Neste exemplo, ao receber recomendações, você fornece o gênero ou gêneros pelos quais filtrar.  
Você define um nome de parâmetro ao adicioná-lo a uma expressão. O nome do parâmetro não precisa corresponder ao nome do campo. Recomendamos que você use um nome de parâmetro semelhante ao nome do campo e que seja fácil de lembrar. Você usa o nome do parâmetro (com distinção entre maiúsculas e minúsculas) ao aplicar o filtro às solicitações de recomendações. Para ver um exemplo que mostra como aplicar um filtro com parâmetros de espaço reservado ao usar os AWS SDKS, consulte. [Como aplicar um filtro (AWS SDKs)](filter-real-time.md#applying-filter-sdk)