# AccessFilterExpression

- [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#SCHEMA_REPRESENTATION)
- [AccessFilterExpressionList](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessFilterExpressionList)
  - [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessFilterExpressionList.SCHEMA_REPRESENTATION)
- [AccessFilter](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessFilter)
  - [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessFilter.SCHEMA_REPRESENTATION)
- [AccessStringFilter](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessStringFilter)
  - [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessStringFilter.SCHEMA_REPRESENTATION)
- [MatchType](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#MatchType)
- [AccessInListFilter](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessInListFilter)
  - [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessInListFilter.SCHEMA_REPRESENTATION)
- [AccessNumericFilter](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessNumericFilter)
  - [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessNumericFilter.SCHEMA_REPRESENTATION)
- [Operation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#Operation)
- [NumericValue](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#NumericValue)
  - [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#NumericValue.SCHEMA_REPRESENTATION)
- [AccessBetweenFilter](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessBetweenFilter)
  - [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessBetweenFilter.SCHEMA_REPRESENTATION)

Expresses dimension or metric filters. The fields in the same expression need to be either all dimensions or all metrics.

| JSON representation |
|---|
| ``` { // Union field `one_expression` can be only one of the following: "andGroup": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessFilterExpressionList`) }, "orGroup": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessFilterExpressionList`) }, "notExpression": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression`) }, "accessFilter": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessFilter`) } // End of list of possible types for union field `one_expression`. } ``` |

| Fields ||
|---|---|
| Union field `one_expression`. Specify one type of filter expression for `FilterExpression`. `one_expression` can be only one of the following: ||
| `andGroup` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessFilterExpressionList`)`` Each of the FilterExpressions in the andGroup has an AND relationship. |
| `orGroup` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessFilterExpressionList`)`` Each of the FilterExpressions in the orGroup has an OR relationship. |
| `notExpression` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression`)`` The FilterExpression is NOT of notExpression. |
| `accessFilter` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessFilter`)`` A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all dimensions or all metrics. |

## AccessFilterExpressionList

A list of filter expressions.

| JSON representation |
|---|
| ``` { "expressions": [ { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression`) } ] } ``` |

| Fields ||
|---|---|
| `expressions[]` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression`)`` A list of filter expressions. |

## AccessFilter

An expression to filter dimension or metric values.

| JSON representation |
|---|
| ``` { "fieldName": string, // Union field `one_filter` can be only one of the following: "stringFilter": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessStringFilter`) }, "inListFilter": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessInListFilter`) }, "numericFilter": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessNumericFilter`) }, "betweenFilter": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessBetweenFilter`) } // End of list of possible types for union field `one_filter`. } ``` |

| Fields ||
|---|---|
| `fieldName` | `string` The dimension name or metric name. |
| Union field `one_filter`. Specify one type of filter for `Filter`. `one_filter` can be only one of the following: ||
| `stringFilter` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessStringFilter`)`` Strings related filter. |
| `inListFilter` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessInListFilter`)`` A filter for in list values. |
| `numericFilter` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessNumericFilter`)`` A filter for numeric or date values. |
| `betweenFilter` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#AccessBetweenFilter`)`` A filter for two values. |

## AccessStringFilter

The filter for strings.

| JSON representation |
|---|
| ``` { "matchType": enum (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#MatchType`), "value": string, "caseSensitive": boolean } ``` |

| Fields ||
|---|---|
| `matchType` | ``enum (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#MatchType`)`` The match type for this filter. |
| `value` | `string` The string value used for the matching. |
| `caseSensitive` | `boolean` If true, the string value is case sensitive. |

## MatchType

The match type of a string filter.

| Enums ||
|---|---|
| `MATCH_TYPE_UNSPECIFIED` | Unspecified |
| `EXACT` | Exact match of the string value. |
| `BEGINS_WITH` | Begins with the string value. |
| `ENDS_WITH` | Ends with the string value. |
| `CONTAINS` | Contains the string value. |
| `FULL_REGEXP` | Full match for the regular expression with the string value. |
| `PARTIAL_REGEXP` | Partial match for the regular expression with the string value. |

## AccessInListFilter

The result needs to be in a list of string values.

| JSON representation |
|---|
| ``` { "values": [ string ], "caseSensitive": boolean } ``` |

| Fields ||
|---|---|
| `values[]` | `string` The list of string values. Must be non-empty. |
| `caseSensitive` | `boolean` If true, the string value is case sensitive. |

## AccessNumericFilter

Filters for numeric or date values.

| JSON representation |
|---|
| ``` { "operation": enum (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#Operation`), "value": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#NumericValue`) } } ``` |

| Fields ||
|---|---|
| `operation` | ``enum (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#Operation`)`` The operation type for this filter. |
| `value` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#NumericValue`)`` A numeric value or a date value. |

## Operation

The operation applied to a numeric filter.

| Enums ||
|---|---|
| `OPERATION_UNSPECIFIED` | Unspecified. |
| `EQUAL` | Equal |
| `LESS_THAN` | Less than |
| `LESS_THAN_OR_EQUAL` | Less than or equal |
| `GREATER_THAN` | Greater than |
| `GREATER_THAN_OR_EQUAL` | Greater than or equal |

## NumericValue

To represent a number.

| JSON representation |
|---|
| ``` { // Union field `one_value` can be only one of the following: "int64Value": string, "doubleValue": number // End of list of possible types for union field `one_value`. } ``` |

| Fields ||
|---|---|
| Union field `one_value`. One of a numeric value `one_value` can be only one of the following: ||
| `int64Value` | `string (https://developers.google.com/discovery/v1/type-format format)` Integer value |
| `doubleValue` | `number` Double value |

## AccessBetweenFilter

To express that the result needs to be between two numbers (inclusive).

| JSON representation |
|---|
| ``` { "fromValue": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#NumericValue`) }, "toValue": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#NumericValue`) } } ``` |

| Fields ||
|---|---|
| `fromValue` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#NumericValue`)`` Begins with this number. |
| `toValue` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/AccessFilterExpression#NumericValue`)`` Ends with this number. |