# Filter

This JSON represents an advanced query configuration for retrieving data from a dataset. It consists of the following components:

1. **Condition Group**:
   * **Connector**: The logical connector "And" implies that all conditions within this group must be satisfied.
   * **Conditions**: Two conditions within this group:
     * Filter by "Category" equal to "Electronics" (Text condition).
     * Filter by "Price" greater than 100 (Numeric condition).
2. **Orders**:
   * Specifies the sorting order for the retrieved data.
   * Two sorting directives:
     * Sort products by "ProductName" in ascending order.
     * Sort products by "Price" in descending order.
3. **Page**:
   * Specifies pagination parameters for the query.
   * Requests the first page with a page number of 1 and a page size of 20.

This JSON structure defines a sophisticated query for extracting specific data from a dataset, including filtering by category and price, sorting results by product name and price, and limiting the number of results per page for efficient data retrieval.&#x20;

```json
{
  "ConditionGroup": {
    "Connector": "And",
    "Conditions": [
      {
        "Sort": 1,
        "Field": "Category",
        "DataType": "Text",
        "Operator": "Equal",
        "Values": ["Electronics"]
      },
      {
        "Sort": 2,
        "Field": "Price",
        "DataType": "Number",
        "Operator": "GreaterThan",
        "Values": ["100"]
      }
    ]
  },
  "Orders": [
    {
      "Sort": 1,
      "Field": "ProductName",
      "Direction": "Ascending"
    },
    {
      "Sort": 2,
      "Field": "Price",
      "Direction": "Descending"
    }
  ],
  "Page": {
    "PageNumber": 1,
    "PageSize": 20
  }
}
```
