{ "$schema": "https://json-structure.org/meta/core/v0/#", "$id": "https://raw.githubusercontent.com/api-evangelist/google-analytics/refs/heads/main/json-structure/data-api-order-by-structure.json", "name": "OrderBy", "description": "Order bys define how rows will be sorted in the response. For example, ordering rows by descending event count is one ordering, and ordering rows by the event name string is a different ordering.", "type": "object", "properties": { "desc": { "description": "If true, sorts by descending order.", "type": "boolean" }, "dimension": { "description": "Sorts by dimension values.", "properties": { "dimensionName": { "description": "A dimension name in the request to order by.", "type": "string", "example": "Example Name" }, "orderType": { "description": "Controls the rule for dimension value ordering.", "enum": [ "ORDER_TYPE_UNSPECIFIED", "ALPHANUMERIC", "CASE_INSENSITIVE_ALPHANUMERIC", "NUMERIC" ], "type": "string", "example": "ORDER_TYPE_UNSPECIFIED" } }, "type": "object" }, "metric": { "description": "Sorts by metric values.", "properties": { "metricName": { "description": "A metric name in the request to order by.", "type": "string" } }, "type": "object" }, "pivot": { "description": "Sorts by a pivot column group.", "properties": { "metricName": { "description": "In the response to order by, order rows by this column. Must be a metric name from the request.", "type": "string" }, "pivotSelections": { "description": "Used to select a dimension name and value pivot. If multiple pivot selections are given, the sort occurs on rows where all pivot selection dimension name and value pairs match the row's dimension name and value pair.", "items": { "$ref": "#/components/schemas/PivotSelection" }, "type": "array" } }, "type": "object" } } }