QueryData

Updated at:

Calls a DataService Studio API to query data.

Operation description

Prerequisites

Create an API in DataService Studio before calling this operation.

Limits

  • Requires Quick BI Professional Edition.

  • API call timeout: 60s. QPS limit per API: 10.

  • Row-level permissions on the referenced dataset also apply to API calls.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

quickbi-public:QueryData

get

*All Resource

*

None None

Request parameters

Parameter

Type

Required

Description

Example

ApiId

string

Yes

The API ID in DataService Studio.

f4cc43bc3***

UserId

string

No

The Quick BI user ID. Obtain this value from QueryUserInfoByAccount.

Note

Specifies the user identity for DataService Studio, used with row-level and column-level permission configurations.

Important

If omitted, empty, or null, defaults to the Quick BI organization owner's user ID.

b5d8fd9348cc4327****afb604

Conditions

string

No

Filter conditions as a JSON map string. Each key is a request parameter name, and each value is the parameter value.

Note:

  • If the operator of a request parameter is set to Enumeration Filter, the value can contain multiple values. In this case, the value must be in the format of a JSON list. For example: area=["East China","North China","South China"]

  • For dates, use the following formats based on the date type:

    • Year: 2019

    • Quarter: 2019Q1

    • Month: 201901 (with a leading zero)

    • Week: 2019-52

    • Day: 20190101

    • Hour: 14:00:00 (minutes and seconds are 00)

    • Minute: 14:12:00 (seconds are 00)

    • Second: 14:34:34

{ "area": ["test", "test"], "shopping_date": "2019Q1", }

ReturnFields

string

No

A JSON array of field names to return.

["area", "city", "price", "date"]

Response elements

Element

Type

Description

Example

object

Success

boolean

Whether the request succeeded. Valid values:

  • true: The request was successful.

  • false: The request failed.

true

RequestId

string

The request ID.

a4d1a221d-41za1-****

Result

object

The result of the API call. Valid values:

  • true: The call was successful.

  • false: The call failed.

Headers

array<object>

The column headers.

object

Column headers.

Aggregator

string

The aggregate operator. Returned only for measure fields.

  • SUM: The sum.

  • MAX: The maximum value.

  • MIN: The minimum value.

  • AVG: The average value.

  • COUNT: The count.

  • COUNTD: The count of unique values.

  • STDDEV_POP: The population standard deviation.

  • STDDEV_SAMP: The sample standard deviation.

  • VAR_POP: The population variance.

  • VAR_SAMP: The sample variance.

SUM

Column

string

The physical table field name.

test

DataType

string

The field data type. Common types:

  • number

  • string

  • date

  • time

  • datetime

string

Granularity

string

The dimension granularity. Returned only for date or geographic dimensions. Valid values:

  • Date granularity: yearRegion (year), monthRegion (month), weekRegion (week), dayRegion (day), hourRegion (hour), minRegion (minute), secRegion (second)

  • Geographic granularity: COUNTRY (country), PROVINCE (province), CITY (city), XIAN (county/district), REGION (region)

REGION

Label

string

The field alias. Used as the key in each Values map entry.

area

Type

string

Whether the field is a dimension or measure.

  • Dimension

  • Measure

Dimension

OriginalColumn

string

The original field name in the dataset.

area

Sql

string

The SQL statement for the query.

Note

The returned SQL includes both the filter conditions from this call and any row-level or column-level permission rules.

SELECT COMPANY_T_1_.`area` AS D_AREA_2_, COMPANY_T_1_.`city` AS D_CITY_3_, SUM(COMPANY_T_1_.`profit_amt`) AS D_PROFIT_4_ FROM `quickbi_test`.`company_sales_record_copy` AS COMPANY_T_1_ WHERE COMPANY_T_1_.`area` LIKE '%test%' GROUP BY COMPANY_T_1_.`area`, COMPANY_T_1_.`city` HAVING SUM(COMPANY_T_1_.`order_amt`) > 1 LIMIT 0, 10

Values

array<object>

The query results.

object

The returned data rows. Each map represents one row, with keys corresponding to the Headers#Label field.

[{"area":"test","city":"test"},{"area":"test","city":"test"}]

Examples

Success response

JSON format

{
  "Success": true,
  "RequestId": "a4d1a221d-41za1-****",
  "Result": {
    "Headers": [
      {
        "Aggregator": "SUM",
        "Column": "test",
        "DataType": "string",
        "Granularity": "REGION",
        "Label": "area",
        "Type": "Dimension",
        "OriginalColumn": "area"
      }
    ],
    "Sql": "SELECT COMPANY_T_1_.`area` AS D_AREA_2_, COMPANY_T_1_.`city` AS D_CITY_3_, SUM(COMPANY_T_1_.`profit_amt`) AS D_PROFIT_4_ FROM `quickbi_test`.`company_sales_record_copy` AS COMPANY_T_1_ WHERE COMPANY_T_1_.`area` LIKE '%test%' GROUP BY COMPANY_T_1_.`area`, COMPANY_T_1_.`city` HAVING SUM(COMPANY_T_1_.`order_amt`) > 1 LIMIT 0, 10",
    "Values": [
      [
        {
          "area": "test",
          "city": "test"
        },
        {
          "area": "test",
          "city": "test"
        }
      ]
    ]
  }
}

Error codes

HTTP status code

Error code

Error message

Description

400 API.No.Permission You are not authorized to call the data service API operation. You are not authorized to call the data service API operation.
400 API.Not.Exist The data service API operation does not exist. The data service API operation does not exist.
400 Cube.Not.Exist The Cube does not exist. The Cube does not exist.
400 Invalid.Parameter.Conditions The specified Conditions is invalid. %s is not defined. The specified Conditions is invalid. %s is not defined.
400 Invalid.Parameter.ReturnFields The specified returnFields is invalid. %s is not defined. The specified returnFields is invalid. %s is not defined.
400 Missing.Conditions The specified Conditions is invalid. You must specify %s. The specified Conditions is invalid. You must specify %s.
400 Missing.Dimension.Measure The dimension or measure %s does not exist in Cube. The dimension or measure %s does not exist in Cube.
400 Rowlevel.Permission.Forbbiden The request is denied by row level permission. The dataset is %s, %s %s. Request forbidden by row level permission, dataset is %s, %s %s.
400 Datasource.Sql.ExecuteFailed Failed to execute the SQL statement in the data source.
400 DataService.InputParam.Error input parameter error: %s. The parameters entered were incorrect: %s.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.