Files
superset2/docs/developer_docs_versioned_docs/version-6.1.0/api/schemas/chartdataqueryobject.Schema.json
2026-07-28 21:39:01 +07:00

464 lines
17 KiB
JSON

{
"schema": {
"properties": {
"annotation_layers": {
"description": "Annotation layers to apply to chart",
"items": {
"properties": {
"annotationType": {
"description": "Type of annotation layer",
"enum": ["FORMULA", "INTERVAL", "EVENT", "TIME_SERIES"],
"type": "string"
},
"color": {
"description": "Layer color",
"nullable": true,
"type": "string"
},
"descriptionColumns": {
"description": "Columns to use as the description. If none are provided, all will be shown.",
"items": { "type": "string" },
"type": "array"
},
"hideLine": {
"description": "Should line be hidden. Only applies to line annotations",
"nullable": true,
"type": "boolean"
},
"intervalEndColumn": {
"description": "Column containing end of interval. Only applies to interval layers",
"nullable": true,
"type": "string"
},
"name": { "description": "Name of layer", "type": "string" },
"opacity": {
"description": "Opacity of layer",
"enum": ["", "opacityLow", "opacityMedium", "opacityHigh", null],
"nullable": true,
"type": "string"
},
"overrides": {
"additionalProperties": { "nullable": true },
"description": "which properties should be overridable",
"nullable": true,
"type": "object"
},
"show": {
"description": "Should the layer be shown",
"type": "boolean"
},
"showLabel": {
"description": "Should the label always be shown",
"nullable": true,
"type": "boolean"
},
"showMarkers": {
"description": "Should markers be shown. Only applies to line annotations.",
"type": "boolean"
},
"sourceType": {
"description": "Type of source for annotation data",
"enum": ["", "line", "NATIVE", "table"],
"type": "string"
},
"style": {
"description": "Line style. Only applies to time-series annotations",
"enum": ["dashed", "dotted", "solid", "longDashed"],
"type": "string"
},
"timeColumn": {
"description": "Column with event date or interval start date",
"nullable": true,
"type": "string"
},
"titleColumn": {
"description": "Column with title",
"nullable": true,
"type": "string"
},
"value": {
"description": "For formula annotations, this contains the formula. For other types, this is the primary key of the source object."
},
"width": {
"description": "Width of annotation line",
"minimum": 0,
"type": "number"
}
},
"required": ["name", "show", "showMarkers", "value"],
"type": "object",
"title": "AnnotationLayer"
},
"nullable": true,
"type": "array"
},
"applied_time_extras": {
"description": "A mapping of temporal extras that have been applied to the query",
"example": { "__time_range": "1 year ago : now" },
"nullable": true,
"type": "object"
},
"apply_fetch_values_predicate": {
"description": "Add fetch values predicate (where clause) to query if defined in datasource",
"nullable": true,
"type": "boolean"
},
"columns": {
"description": "Columns which to select in the query.",
"items": {},
"nullable": true,
"type": "array"
},
"datasource": {
"allOf": [
{
"properties": {
"id": { "description": "Datasource id or uuid" },
"type": {
"description": "Datasource type",
"enum": ["table", "dataset", "query", "saved_query", "view"],
"type": "string"
}
},
"required": ["id"],
"type": "object",
"title": "ChartDataDatasource"
}
],
"nullable": true
},
"extras": {
"allOf": [
{
"properties": {
"column_order": {
"description": "Ordered list of column names for result ordering. Used to preserve user's column reordering (including mixed dimension columns and metrics)",
"items": { "type": "string" },
"nullable": true,
"type": "array"
},
"having": {
"description": "HAVING clause to be added to aggregate queries using AND operator.",
"type": "string"
},
"instant_time_comparison_range": {
"description": "This is only set using the new time comparison controls that is made available in some plugins behind the experimental feature flag.",
"nullable": true,
"type": "string"
},
"relative_end": {
"description": "End time for relative time deltas. Default: `config[\"DEFAULT_RELATIVE_START_TIME\"]`",
"enum": ["today", "now"],
"type": "string"
},
"relative_start": {
"description": "Start time for relative time deltas. Default: `config[\"DEFAULT_RELATIVE_START_TIME\"]`",
"enum": ["today", "now"],
"type": "string"
},
"time_grain_sqla": {
"description": "To what level of granularity should the temporal column be aggregated. Supports [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Durations) durations.",
"enum": [
"PT1S",
"PT5S",
"PT30S",
"PT1M",
"PT5M",
"PT10M",
"PT15M",
"PT30M",
"PT1H",
"PT6H",
"P1D",
"P1W",
"P1M",
"P3M",
"P1Y",
"1969-12-28T00:00:00Z/P1W",
"1969-12-29T00:00:00Z/P1W",
"P1W/1970-01-03T00:00:00Z",
"P1W/1970-01-04T00:00:00Z",
null
],
"example": "P1D",
"nullable": true,
"type": "string"
},
"transpile_to_dialect": {
"description": "If true, WHERE/HAVING clauses will be transpiled to the target database dialect using SQLGlot.",
"nullable": true,
"type": "boolean"
},
"where": {
"description": "WHERE clause to be added to queries using AND operator.",
"type": "string"
}
},
"type": "object",
"title": "ChartDataExtras"
}
],
"description": "Extra parameters to add to the query.",
"nullable": true
},
"filters": {
"items": {
"properties": {
"col": {
"description": "The column to filter by. Can be either a string (physical or saved expression) or an object (adhoc column)",
"example": "country"
},
"grain": {
"description": "Optional time grain for temporal filters",
"example": "PT1M",
"type": "string"
},
"isExtra": {
"description": "Indicates if the filter has been added by a filter component as opposed to being a part of the original query.",
"type": "boolean"
},
"op": {
"description": "The comparison operator.",
"enum": [
"==",
"!=",
">",
"<",
">=",
"<=",
"LIKE",
"NOT LIKE",
"ILIKE",
"NOT ILIKE",
"IS NULL",
"IS NOT NULL",
"IN",
"NOT IN",
"IS TRUE",
"IS FALSE",
"TEMPORAL_RANGE"
],
"example": "IN",
"type": "string"
},
"val": {
"description": "The value or values to compare against. Can be a string, integer, decimal, None or list, depending on the operator.",
"example": ["China", "France", "Japan"],
"nullable": true
}
},
"required": ["col", "op"],
"type": "object",
"title": "ChartDataFilter"
},
"nullable": true,
"type": "array"
},
"granularity": {
"description": "Name of temporal column used for time filtering. ",
"nullable": true,
"type": "string"
},
"granularity_sqla": {
"deprecated": true,
"description": "Name of temporal column used for time filtering for SQL datasources. This field is deprecated, use `granularity` instead.",
"nullable": true,
"type": "string"
},
"group_others_when_limit_reached": {
"default": false,
"description": "When true, groups remaining series into an 'Others' category when series limit is reached. Prevents incomplete data.",
"nullable": true,
"type": "boolean"
},
"groupby": {
"description": "Columns by which to group the query. This field is deprecated, use `columns` instead.",
"items": {},
"nullable": true,
"type": "array"
},
"having": {
"deprecated": true,
"description": "HAVING clause to be added to aggregate queries using AND operator. This field is deprecated and should be passed to `extras`.",
"nullable": true,
"type": "string"
},
"is_rowcount": {
"description": "Should the rowcount of the actual query be returned",
"nullable": true,
"type": "boolean"
},
"is_timeseries": {
"description": "Is the `query_object` a timeseries.",
"nullable": true,
"type": "boolean"
},
"metrics": {
"description": "Aggregate expressions. Metrics can be passed as both references to datasource metrics (strings), or ad-hoc metricswhich are defined only within the query object. See `ChartDataAdhocMetricSchema` for the structure of ad-hoc metrics.",
"items": {},
"nullable": true,
"type": "array"
},
"order_desc": {
"description": "Reverse order. Default: `false`",
"nullable": true,
"type": "boolean"
},
"orderby": {
"description": "Expects a list of lists where the first element is the column name which to sort by, and the second element is a boolean.",
"example": [
["my_col_1", false],
["my_col_2", true]
],
"items": {},
"nullable": true,
"type": "array"
},
"post_processing": {
"description": "Post processing operations to be applied to the result set. Operations are applied to the result set in sequential order.",
"items": {
"allOf": [
{
"properties": {
"operation": {
"description": "Post processing operation type",
"enum": [
"aggregate",
"boxplot",
"compare",
"contribution",
"cum",
"diff",
"escape_separator",
"flatten",
"geodetic_parse",
"geohash_decode",
"geohash_encode",
"histogram",
"pivot",
"prophet",
"rank",
"rename",
"resample",
"rolling",
"select",
"sort",
"unescape_separator"
],
"example": "aggregate",
"type": "string"
},
"options": {
"description": "Options specifying how to perform the operation. Please refer to the respective post processing operation option schemas. For example, `ChartDataPostProcessingOperationOptions` specifies the required options for the pivot operation.",
"example": {
"aggregates": {
"age_mean": { "column": "age", "operator": "mean" },
"age_q1": {
"column": "age",
"operator": "percentile",
"options": { "q": 0.25 }
}
},
"groupby": ["country", "gender"]
},
"type": "object"
}
},
"required": ["operation"],
"type": "object",
"title": "ChartDataPostProcessingOperation"
}
],
"nullable": true
},
"nullable": true,
"type": "array"
},
"result_type": {
"enum": [
"columns",
"full",
"query",
"results",
"samples",
"timegrains",
"post_processed",
"drill_detail",
null
],
"nullable": true
},
"row_limit": {
"description": "Maximum row count (0=disabled). Default: `config[\"ROW_LIMIT\"]`",
"minimum": 0,
"nullable": true,
"type": "integer"
},
"row_offset": {
"description": "Number of rows to skip. Default: `0`",
"minimum": 0,
"nullable": true,
"type": "integer"
},
"series_columns": {
"description": "Columns to use when limiting series count. All columns must be present in the `columns` property. Requires `series_limit` and `series_limit_metric` to be set.",
"items": {},
"nullable": true,
"type": "array"
},
"series_limit": {
"description": "Maximum number of series. Requires `series` and `series_limit_metric` to be set.",
"nullable": true,
"type": "integer"
},
"series_limit_metric": {
"description": "Metric used to limit timeseries queries by. Requires `series` and `series_limit` to be set.",
"nullable": true
},
"time_offsets": {
"items": { "type": "string" },
"nullable": true,
"type": "array"
},
"time_range": {
"description": "A time rage, either expressed as a colon separated string `since : until` or human readable freeform. Valid formats for `since` and `until` are: \n- ISO 8601\n- X days/years/hours/day/year/weeks\n- X days/years/hours/day/year/weeks ago\n- X days/years/hours/day/year/weeks from now\n\nAdditionally, the following freeform can be used:\n\n- Last day\n- Last week\n- Last month\n- Last quarter\n- Last year\n- No filter\n- Last X seconds/minutes/hours/days/weeks/months/years\n- Next X seconds/minutes/hours/days/weeks/months/years\n",
"example": "Last week",
"nullable": true,
"type": "string"
},
"time_shift": {
"description": "A human-readable date/time string. Please refer to [parsdatetime](https://github.com/bear/parsedatetime) documentation for details on valid values.",
"nullable": true,
"type": "string"
},
"timeseries_limit": {
"description": "Maximum row count for timeseries queries. This field is deprecated, use `series_limit` instead.Default: `0`",
"nullable": true,
"type": "integer"
},
"timeseries_limit_metric": {
"description": "Metric used to limit timeseries queries by. This field is deprecated, use `series_limit_metric` instead.",
"nullable": true
},
"url_params": {
"additionalProperties": {
"description": "The value of the query parameter",
"type": "string"
},
"description": "Optional query parameters passed to a dashboard or Explore view",
"nullable": true,
"type": "object"
},
"where": {
"deprecated": true,
"description": "WHERE clause to be added to queries using AND operator.This field is deprecated and should be passed to `extras`.",
"nullable": true,
"type": "string"
}
},
"type": "object",
"title": "ChartDataQueryObject"
},
"schemaType": "response"
}