openapi: 3.2.0
info:
title: Visier Data Out Data Query API
description: Visier APIs for getting data out of Visier, such as aggregate data and data version information.
license:
name: Apache License, Version 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: 22222222.99201.3040
security:
- ApiKeyAuth: []
BearerAuth: []
- ApiKeyAuth: []
CookieAuth: []
- ApiKeyAuth: []
OAuth2Auth: []
tags:
- name: Data Query
x-displayName: Data Query
description: Query against your data in Visier to get aggregate and list data.
paths:
/v1/data/query/aggregate:
post:
tags:
- Data Query
summary: Query aggregate data
description: 'To retrieve aggregated values from your data in Visier, you can perform an aggregation. Usually, an aggregation
retrieves values over a period of time, such as multiple months. You can also group and filter your data in an
aggregation query to retrieve detailed information.'
operationId: DataQuery_Aggregate
parameters:
- name: TargetTenantID
in: header
description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
schema:
type: string
- name: ProjectID
in: header
description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
schema:
type: string
format: uuid
- name: DataVersionID
in: header
description: Optionally, specify a data version against which to execute the query. If omitted, the request uses the current project's data version or the production version if no project is specified.
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/dataservices.query.AggregationQueryExecutionDTO'
required: true
responses:
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
'200':
description: Aggregate query response
content:
application/json:
schema:
$ref: '#/components/schemas/dataservices.query.CellSetOrErrorDTO'
application/jsonlines:
schema:
type: string
text/csv:
schema:
type: string
/v1/data/query/connector-version:
get:
tags:
- Data Query
summary: Retrieve a data out connector's latest version
description: Retrieve the latest released version of a data out connector. Use this endpoint to automate checking connector release versions.
operationId: DataQuery_ConnectorVersion
parameters:
- name: connectorId
in: query
description: "The name of the connector for which to retrieve the latest version. Valid values:\n - `powerbi`: Retrieve the latest version of Visier's Power BI connector.\n - `tableau`: Retrieve the latest version of Visier's Tableau connector."
schema:
enum:
- powerbi
- tableau
type: string
format: enum
responses:
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/dataservices.query.ConnectorVersionDTO'
security:
- {}
/v1/data/query/list:
post:
tags:
- Data Query
summary: Query a list of details
description: 'To retrieve a list of values for specific objects, you can perform a list query. A list query provides information
about values for selected data points, and is not an aggregated value. In Visier''s interface, a list query is
comparable to View Details for a specific data point in a visualization.'
operationId: DataQuery_List
parameters:
- name: TargetTenantID
in: header
description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
schema:
type: string
- name: ProjectID
in: header
description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
schema:
type: string
format: uuid
- name: DataVersionID
in: header
description: Optionally, specify a data version against which to execute the query. If omitted, the request uses the data version released by the current project or production version, if no project is specified.
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/dataservices.query.ListQueryExecutionDTO'
required: true
responses:
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
'200':
description: List query response
content:
application/json:
schema:
$ref: '#/components/schemas/data_out.ListResponse'
application/jsonlines:
schema:
type: string
text/csv:
schema:
type: string
/v1/data/query/snapshot:
post:
tags:
- Data Query
summary: Query a series of detailed snapshots
description: 'To retrieve a collection of `list` query-style snapshots taken at the defined intervals, execute a `snapshot` query.
Each snapshot in the result is associated with a timestamp, or the "effective date" at which date snapshot data was valid.
This API allows you to request a detailed time series from Visier.
Structurally, a `snapshot` query is similar to a `list` query, but has the following differences:
* The `snapshot` query may contain a column, `effectiveDateProperty`, that specifies the time for each snapshot. To include the `effectiveDateProperty` column, add the following object to the columns array:
```json
{
"columnName": "Snapshot_Date",
"columnDefinition": {
"effectiveDateProperty": {}
}
}
```
* The `snapshot` query uses `timeIntervals` (like an `aggregate` query) instead of `timeInterval` (like a `list` query) because the `snapshot` query
must specify the number of snapshots to generate. To specify the number of snapshots to generate, use the `intervalCount` property in the `timeIntervals` object, as shown next.
```json
{
"timeIntervals": {
"fromDateTime": "2022-01-01",
"intervalPeriodType": "MONTH",
"intervalPeriodCount": 6,
"intervalCount": 4
}
```'
operationId: Query_Snapshot
parameters:
- name: TargetTenantID
in: header
description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
schema:
type: string
- name: ProjectID
in: header
description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
schema:
type: string
format: uuid
- name: DataVersionID
in: header
description: Optionally, specify a data version against which to execute the query. If omitted, the request uses the data version released by the current project or production version, if no project is specified.
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/dataservices.query.SnapshotQueryExecutionDTO'
required: true
responses:
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
'200':
description: List query response
content:
application/json:
schema:
$ref: '#/components/schemas/data_out.ListResponse'
application/jsonlines:
schema:
type: string
text/csv:
schema:
type: string
/v1/data/query/sql:
post:
tags:
- Data Query
summary: Query aggregate or list data using SQL-like syntax
description: 'To retrieve a list of values for specific objects or aggregate values from metrics, you can write queries using SQL-like syntax.
The response format matches the query type whether aggregate or list. If requested, aggregate query results may be flattened into tabular format.
A SQL-like query is an aggregate if it contains at least one metric. Aggregate queries must specify a time interval divided into periods; for example:
```sql
SELECT
employeeCount() AS "Employee Count",
level(Gender, "Gender") AS Gender
FROM
Employee
WHERE
Visier_Time IN periods(date("2023-01-01"), 4, period(3, Month));
```
A SQL-like query is a list if it does not contain any metrics. List queries define time intervals as simple intervals; for example:
```sql
SELECT
EmployeeID AS "Employee ID",
level(Gender, "Gender") AS Gender
FROM
Employee
WHERE
Visier_Time BETWEEN date("2022-01-01") AND date("2023-01-01");
```'
operationId: DataQuery_SqlLike
parameters:
- name: TargetTenantID
in: header
description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
schema:
type: string
- name: ProjectID
in: header
description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
schema:
type: string
format: uuid
- name: DataVersionID
in: header
description: Optionally, specify a data version against which to execute the query. If omitted, the request uses the data version released by the current project or production version, if no project is specified.
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/dataservices.query.SqlLikeQueryExecutionDTO'
required: true
responses:
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
'200':
description: List query response
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TableResponseDTO'
- $ref: '#/components/schemas/dataservices.query.CellSetDTO'
application/jsonlines:
schema:
type: string
text/csv:
schema:
type: string
components:
schemas:
dataservices.query.NumericParameterValueDTO:
type: object
properties:
parameterId:
type: string
description: The unique ID of the numeric parameter qualified by the object.
value:
type: number
description: The numeric value of the parameter.
format: double
description: The value of a numeric parameter, including the parameter ID and the numeric value passed into the parameter.
dataservices.query.QueryDimensionDataMemberSelectionDTO:
type: object
properties:
dimension:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.DimensionReferenceDTO'
description: A dimension and its qualifying path to query.
description: "A QueryDimensionLeafSelection allows you to define a member set consisting exclusively\n of leaf-level, including data, members for the given dimension. Leaf members are those members that have\n no descendents. A member may be a leaf member regardless of the level it is positioned at."
dataservices.datamodel.DimensionReferenceDTO:
type: object
properties:
name:
type: string
description: The ID of the dimension. To get a dimension's ID, call the Data Model API.
qualifyingPath:
type: string
description: "The qualifying path to the dimension in Visier, such as the analytic object or event the dimension is\n associated with. If the path has multiple objects, each object is separated by a period."
description: The name and qualifying path of a dimension to query.
dataservices.datamodel.SelectionConceptReferenceDTO:
type: object
properties:
name:
type: string
description: The ID of the selection concept.
qualifyingPath:
type: string
description: "The qualifying path to the selection concept in Visier, such as the analytic object or event the selection\n concept is associated with. If the path has multiple objects, each object is separated by a period."
description: The name and qualifying path of a selection concept to query.
dataservices.query.KeyGroupFilterDTO:
type: object
properties:
filters:
type: array
items:
$ref: '#/components/schemas/dataservices.query.KeyGroupFilterItemDTO'
description: A collection of related filters that define a key group.
dataservices.common.MemberValuesDTO:
type: object
properties:
included:
type: array
items:
$ref: '#/components/schemas/dataservices.common.DimensionMemberReferenceDTO'
description: The unique IDs of members to include when evaluating the metric.
excluded:
type: array
items:
$ref: '#/components/schemas/dataservices.common.DimensionMemberReferenceDTO'
description: The unique IDs of members to exclude when evaluating the metric.
description: "Member filter values are discrete member references in a dimension filter. You can define\n included and excluded members simultaneously. This is typically done with filtering applied on\n dimensions with multiple levels. For example, a Location parameter may include \"South\n America\" and exclude \"Brazil\" which results in the metric being evaluated for all South American\n countries except Brazil."
dataservices.query.SubjectMemberSetParameterValueDTO_ListOfNamePathDTO:
type: object
properties:
namePaths:
type: array
items:
$ref: '#/components/schemas/dataservices.query.SubjectMemberSetParameterValueDTO_NamePathDTO'
description: The name paths for subject member parameter key values.
description: A list of name paths.
dataservices.query.CohortFilterDTO:
type: object
properties:
keyGroup:
allOf:
- $ref: '#/components/schemas/dataservices.query.KeyGroupFilterDTO'
description: A key group is a collection of filters that define the shape of the analysis population.
exclude:
type: boolean
description: If true, the population is defined by those excluded by the filters. Default is false.
timeInterval:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryTimeIntervalDTO'
description: The time at which to apply the key group, such as a specific day or period of months.
description: "Use a cohort filter to define a population as it existed during a specific time period.\n Cohort filters allow you to define a population in terms of a collection of filters, known as a key group.\n The cohort's defined time interval is independent of the query's time. The cohort's time interval is the\n time at which the key group should be applied.\n Cohorts are typically used to follow populations and understand changes to the population over time,\n such as promotion and resignation rates."
dataservices.query.QueryAxisOptionsDTO:
type: object
properties:
memberDisplayMode:
enum:
- UNCHANGED
- DEFAULT
- COMPACT
- DISPLAY
- MDX
type: string
description: "Options to override the display mode for the axis. This overrides the query-level `memberDisplayMode` options value in the query.\n Only available for non-time axes. Use the QueryAxisMemberDisplayMode `memberDisplayMode` to apply different display modes to different axes.\n For example, let's say your query has the `memberDisplayMode` as `DISPLAY` but you want to fetch the object name for a specific dimension.\n With QueryAxisMemberDisplayMode `memberDisplayMode`, you can override that dimension's `memberDisplayMode` to `DEFAULT` instead of `DISPLAY`.\n\n Valid values are `UNCHANGED`, `DEFAULT`, `COMPACT`, `DISPLAY`, or `MDX`. Default is `UNCHANGED`."
format: enum
columnName:
type: string
description: If specified, returns the column name of the axis in the response.
description: "QueryAxisOptions allows you to customize an axis in the query, such as changing the display mode for its cell set values or providing a custom column name.\n Only available when the Accept header is a table format, such as text/csv or application/jsonlines."
dataservices.query.QueryMemberMapSelectionDTO:
type: object
properties:
memberMap:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.DimensionReferenceDTO'
description: A member map and its qualifying path to query.
targetDimensionName:
type: string
description: The name of the member map's dimension that you want to query. The member selection is based on this dimension.
members:
type: array
items:
$ref: '#/components/schemas/dataservices.common.DimensionMemberReferenceDTO'
description: A collection of the selected dimension members from the `targetDimension`. This must contain at least one member.
description: "A QueryMemberMapSelection groups data in a query by dimension members in a member map.\n This allows grouping by a dimension that isn't typically valid on the analytic object being\n queried by selecting a valid member map on the analytic object.\n Note: This is unique to the data query API and cannot be reproduced in Visier's interface."
dataservices.query.SnapshotQueryExecutionDTO:
type: object
properties:
source:
allOf:
- $ref: '#/components/schemas/dataservices.query.ListQuerySourceDTO'
description: The source data that you want to query.
columns:
type: array
items:
$ref: '#/components/schemas/dataservices.query.PropertyColumnDTO'
description: The columns to include in the result. This must contain at least one column.
sortOptions:
type: array
items:
$ref: '#/components/schemas/dataservices.query.SortOptionDTO'
description: The index and direction to sort a column in the `columns` array.
filters:
type: array
items:
$ref: '#/components/schemas/dataservices.query.QueryFilterDTO'
description: The filters of this query. Omit `filters` if no filtering is required.
timeIntervals:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryTimeIntervalsDTO'
description: The time intervals to query.
parameterValues:
type: array
items:
$ref: '#/components/schemas/dataservices.query.QueryParameterValueDTO'
description: The parameter values for either member or numeric parameters.
options:
allOf:
- $ref: '#/components/schemas/dataservices.query.SnapshotQueryExecutionOptionsDTO'
description: Additional instructions for your query, such as a calendar type or conversion information.
dataservices.query.LineageDTO:
type: object
properties:
cellSets:
type: array
items:
$ref: '#/components/schemas/dataservices.query.CellSetDTO'
description: The cell sets that constitute this lineage.
op:
type: string
description: The operation used to combine the cell sets of this lineage.
description: Lineage information for a given cell set. This describes how a cell set is created from other cell sets.
dataservices.query.ConnectorVersionDTO:
type: object
properties:
version:
type: string
description: The version number; for example, 1.0.1.
id:
type: string
description: The unique identifier of the connector.
description: The version information of a connector.
dataservices.query.QueryPropertyDTO:
type: object
properties:
formula:
type: string
description: A formula-based property.
property:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.PropertyReferenceDTO'
description: A property reference.
selectionConcept:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.SelectionConceptReferenceDTO'
description: A selection concept-based property that returns true or false.
dimension:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.DimensionReferenceDTO'
description: A dimension-based property that returns the full name path of the dimension member that the data point is mapped to.
memberMapProperty:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryMemberMapPropertyDTO'
description: A member map-based property that uses an existing member map in Visier.
effectiveDateProperty:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryEffectiveDatePropertyDTO'
description: A property that yields the effective date for the record
dimensionLevelSelection:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryDimensionLevelPropertyDTO'
description: A dimension-based property that returns the member values of the dimension level.
description: "A QueryProperty defines a property of a data point returned from a query.\n This is not the same as a `property` in Visier's data mode."
dataservices.query.QueryParameterValueDTO:
type: object
properties:
memberValue:
allOf:
- $ref: '#/components/schemas/dataservices.query.MemberParameterValueDTO'
description: A value for a member parameter.
numericValue:
allOf:
- $ref: '#/components/schemas/dataservices.query.NumericParameterValueDTO'
description: A value for a numeric parameter.
planValue:
allOf:
- $ref: '#/components/schemas/dataservices.query.PlanParameterValueDTO'
description: A value for a plan parameter.
aggregationTypeValue:
allOf:
- $ref: '#/components/schemas/dataservices.query.AggregationTypeParameterValueDTO'
description: A value for an aggregation parameter.
subjectMemberSetValue:
allOf:
- $ref: '#/components/schemas/dataservices.query.SubjectMemberSetParameterValueDTO'
description: A value for a subject member set parameter.
description: An object that contains parameter values for either member or numeric parameters.
dataservices.query.ListQuerySourceDTO:
type: object
properties:
formula:
type: string
description: An ad-hoc metric formula. The response returns the individual data points that make up the aggregate.
metric:
type: string
description: The ID of an existing metric in your Visier solution.
analyticObject:
type: string
description: "The ID of an existing analytic object in your Visier solution.\n An analytic object source cannot have filters or time handling."
textConcept:
type: string
description: "The ID of an existing text concept in your Visier solution.\n A concept that defines how long text data can be analyzed. It links to a property with the Large Text data type and contains required filters and optional filters to enforce threshold requirements.\n
**Note:** This field is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM)."
description: A ListQuerySource defines the source data to query in a list query.
dataservices.query.SubjectMemberSetParameterValueDTO:
type: object
properties:
parameterId:
type: string
description: The unique ID of the subject member set parameter.
keyNamePaths:
type: array
items:
$ref: '#/components/schemas/dataservices.query.SubjectMemberSetParameterValueDTO_NamePathDTO'
description: The name path keys for the subject member set parameter; for example, `["Java"]`.
valueNamePaths:
type: array
items:
$ref: '#/components/schemas/dataservices.query.SubjectMemberSetParameterValueDTO_ListOfNamePathDTO'
description: The name path values for each subject member set parameter key; for example, `["5.0"]`.
description: The value for a subject member set parameter.
dataservices.query.SubjectMemberSetParameterValueDTO_NamePathDTO:
type: object
properties:
namePath:
type: array
items:
type: string
description: The name path for dimension members.
description: The name path for dimension members.
dataservices.query.CellDistributionOptionsDTO:
type: object
properties:
binCount:
type: integer
description: The number of bins to return, minimum of 2, and a maximum of 100.
format: int32
description: "Cell distribution options for queries.\n Include with aggregation queries to enable distribution calculation per cell."
dataservices.query.QueryAxisDTO:
type: object
properties:
formula:
type: string
description: An axis expressed as a formula.
selectionConcept:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.SelectionConceptReferenceDTO'
description: "An axis that uses an existing selection concept in Visier.\n The resulting axis consists of 3 positions: True, False, and Unknown."
dimensionMemberSelection:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryDimensionMemberSelectionDTO'
description: An axis that uses existing dimension members in Visier.
memberMapSelection:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryMemberMapSelectionDTO'
description: An axis that uses an existing member map in Visier.
numericRanges:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryNumericRangesDTO'
description: An axis that uses an existing range dimension in Visier and defines the ranges to query.
dimensionLevelSelection:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryDimensionLevelSelectionDTO'
description: An axis that uses levels of existing dimensions in Visier.
dimensionLeafMemberSelection:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryDimensionLeafSelectionDTO'
description: An axis comprised of all non-data leaf members of an existing dimension in Visier.
dimensionDataMemberSelection:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryDimensionDataMemberSelectionDTO'
description: An axis comprised of all leaf, including data, members of an existing dimension in Visier.
dimensionLevelWithUncategorizedValueSelection:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryDimensionLevelSelectionDTO'
description: An axis that uses existing dimension levels in Visier, including uncategorized levels.
tableAxisOptions:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryAxisOptionsDTO'
description: Additional transformations to perform on this axis. Only available when the Accept header is a table format, such as text/csv or application/jsonlines.
sortAndLimitOptions:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryAxisSortAndLimitOptionsDTO'
description: Optional sorting and limits to apply to the axis.
description: An axis of a query used to group data points.
dataservices.query.QueryDimensionLevelSelectionDTO:
type: object
properties:
dimension:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.DimensionReferenceDTO'
description: A dimension and its qualifying path to query.
levelIds:
type: array
items:
type: string
description: A list of level IDs for the dimension levels that you want to query. For example, ["Level_1", "Level_2"]. To get a dimension's level IDs, call the Data Model API.
levelDepths:
type: array
items:
type: integer
format: int32
description: A list of level depths for the dimension levels that you want to query. For a parent-child dimension, depth must be greater than 0. For example, [1, 2]. To get a dimension's level depths, call the Data Model API.
description: "A QueryDimensionLevelSelection allows you to select a dimension level and its members without\n explicitly listing each member."
dataservices.query.AggregationQuerySourceDTO:
type: object
properties:
formula:
type: string
description: "An ad-hoc metric formula. The response returns the results of the aggregate.\n See the formula dictionary in Visier to find functions and objects you can use in a formula."
metric:
type: string
description: The ID of an existing metric in your Visier solution.
metrics:
allOf:
- $ref: '#/components/schemas/dataservices.query.AggregationQuerySourceMetricsDTO'
description: "The IDs of metrics to aggregate. All metrics in the query must reference the same analytic object.\n For example, you cannot query Headcount and Applicant Count because one uses the Employee subject and\n the other uses the Applicant subject. You can query Headcount and Employee Count for Women because both\n reference the Employee subject. Only available when the Accept header is `text/csv`."
description: An AggregationQuerySource defines the source data to query in an aggregation query.
dataservices.datamodel.PropertyReferenceDTO:
type: object
properties:
name:
type: string
description: The ID of the property.
qualifyingPath:
type: string
description: "The qualifying path to the property in Visier, such as the analytic object or event the property is associated with.\n If the path has multiple objects, each object is separated by a period."
description: The name and qualifying path of a property to query.
dataservices.query.CellDistributionBinDTO:
type: object
properties:
value:
type: string
support:
type: string
description: "A cell distribution bin.\n Each bin has a metric value (of the bin) and the number of observations contributing to the bin."
dataservices.query.QueryExecutionErrorDTO:
type: object
properties:
errorCode:
type: string
description: A brief identifier of the type of error.
message:
type: string
description: The details of the error.
allErrors:
type: array
items:
$ref: '#/components/schemas/dataservices.query.QueryExecutionErrorsDTO'
description: All errors
description: "An error that occurred during query execution. A QueryExecutionError returns as part of a\n successful batch aggregation query for any queries that failed. This is different from errors,\n which return for failed requests."
dataservices.query.AggregationQuerySourceMetricDTO:
type: object
properties:
columnName:
type: string
description: The column name in the CSV file. Default is to use id as the column name.
id:
type: string
description: "The unique ID of the metric.\n If `columnName` is omitted, `id` is the column name in the CSV file."
formula:
type: string
description: "An ad-hoc metric formula. The response returns the results of the aggregate.\n See the formula dictionary in Visier to find functions and objects you can use in a formula."
qualifyingPath:
type: string
description: "The base qualifying path to prefix the axes and filters' qualifying paths with.\n You must specify the qualifying path on a metric if the convergent analytic object of the metric doesn't match the\n starting object in the qualifying paths of the axes and filters.\n\n For example, consider a multi-metric query that contains metrics that count the number of applicants and requisitions,\n grouped by the country of the recruiter's direct manager. The following sample shows how to use qualifyingPath to specify\n the object reference traversal path from each metric's convergent analytic object to the start of the path for the axes.\n In this example, there is only one convergent analytic object.\n ```\n \"source\": {\n \"metrics\": {\n \"columns\": [\n {\n \"id\": \"employeeCount\"\n },\n {\n \"id\": \"applicantCount\",\n \"qualifyingPath\": \"Applicant.Requisition.Recruiter\"\n },\n {\n \"id\": \"requisitionCount\",\n \"qualifyingPath\": \"Requisition.Recruiter\"\n }\n ]\n }\n },\n \"axes\": [\n {\n \"dimensionLevelSelection\": {\n \"dimension\": {\n \"name\": \"Location\",\n \"qualifyingPath\": \"Employee.Direct_Manager\"\n },\n \"levelIds\": [\n \"Location_1\"\n ]\n }\n }\n ]\n ```\n **Note:**\n * `employeeCount` doesn't need a `qualifyingPath` because it's already convergent with the start of the axis path.\n * The metrics' qualifying paths must provide the reference name that resolves to the first object of the axis' qualifying path as their last path segment. In this case, Recruiter is a named reference pointing to Employee. The final qualifying paths for the metrics are:\n * `employeeCount`: Employee.Direct_Manager\n * `applicantCount`: Applicant.Requisition.Recruiter.Direct_Manager\n * `requisitionCount`: Requisition.Recruiter.Direct_Manager"
description: The column definition for a single metric within a `metrics` query.
dataservices.query.QueryTimeIntervalDTO:
type: object
properties:
intervalPeriodType:
enum:
- MONTH
- DAY
- WEEK
- QUARTER
- YEAR
type: string
description: The time period type for each interval. Default is MONTH.
format: enum
intervalPeriodCount:
type: integer
description: The number of time periods per interval.
format: int32
direction:
enum:
- BACKWARD
- FORWARD
type: string
description: The direction to extend. Default is BACKWARD. BACKWARD is useful when the time instant is the current date or with `dynamicDateFrom` because the query continuously retrieves the newest data from current date backwards.
format: enum
shift:
allOf:
- $ref: '#/components/schemas/dataservices.query.TimeShiftDTO'
description: The amount of time to shift the time interval by, such as backward by one year. Default is none.
description: "A QueryTimeInterval defines the time interval to query, including the \"from\" time, period type,\n period count, time direction, and shift to apply"
oneOf:
- title: QueryTimeIntervalDTO with fromInstant
required:
- fromInstant
properties:
fromInstant:
type: string
description: "The instant from which to extend in the specified `direction`, in milliseconds since 1970-01-01T00:00:00Z.\n Events that occur on this date are excluded. Subject-based data that ends on this date is included.\n Note: Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to\n JSON's inherent limitation in representing large numbers."
intervalPeriodType:
enum:
- MONTH
- DAY
- WEEK
- QUARTER
- YEAR
type: string
description: The time period type for each interval. Default is MONTH.
format: enum
intervalPeriodCount:
type: integer
description: The number of time periods per interval.
format: int32
direction:
enum:
- BACKWARD
- FORWARD
type: string
description: The direction to extend. Default is BACKWARD. BACKWARD is useful when the time instant is the current date or with `dynamicDateFrom` because the query continuously retrieves the newest data from current date backwards.
format: enum
shift:
allOf:
- $ref: '#/components/schemas/dataservices.query.TimeShiftDTO'
description: The amount of time to shift the time interval by, such as backward by one year. Default is none.
- title: QueryTimeIntervalDTO with fromDatetime
required:
- fromDateTime
properties:
fromDateTime:
type: string
description: "The instant from which to extend in the specified `direction`, as an ISO-8601 formatted date time string.\n Valid formats: yyyy-MM-dd, yyyy-MM-dd'T'HH:mm:ss, yyyy-MM-dd'T'HH:mm:ss.SSS.\n Events that occur on this date are excluded. Subject-based data that ends on this date is included."
intervalPeriodType:
enum:
- MONTH
- DAY
- WEEK
- QUARTER
- YEAR
type: string
description: The time period type for each interval. Default is MONTH.
format: enum
intervalPeriodCount:
type: integer
description: The number of time periods per interval.
format: int32
direction:
enum:
- BACKWARD
- FORWARD
type: string
description: The direction to extend. Default is BACKWARD. BACKWARD is useful when the time instant is the current date or with `dynamicDateFrom` because the query continuously retrieves the newest data from current date backwards.
format: enum
shift:
allOf:
- $ref: '#/components/schemas/dataservices.query.TimeShiftDTO'
description: The amount of time to shift the time interval by, such as backward by one year. Default is none.
- title: QueryTimeIntervalDTO with dynamicDateFrom
required:
- dynamicDateFrom
properties:
dynamicDateFrom:
enum:
- SOURCE
- COMPLETE_PERIOD
type: string
description: "Dynamically select the date from which to extend in the specified `direction`. Valid values are `SOURCE` or `COMPLETE_PERIOD`. Both options determine the date using the request's `source` field. Whether the source is a metric, formula, or metrics, each source has earliest and latest data available dates to use. The `direction` determines whether the earliest or latest date is used.\n\n * If `dynamicDateFrom` is `SOURCE`, the query returns data from a date determined by the `source` query definition element. If `dynamicDateFrom` is `COMPLETE_PERIOD`, the query returns data starting from the latest or earliest date with a complete period of data. `COMPLETE_PERIOD` returns periods defined by `intervalPeriodType`. If the period type is MONTH, it returns full months of data. If the period type is YEAR, it returns full years of data. When `dynamicDateFrom` is specified:\n * If `source` is `metric`, then `dynamicDateFrom` considers the date range of available data for the metric.\n * If `source` is `formula`, then `dynamicDateFrom` considers the date range of available data for the metric in the formula.\n * If `source` is `analyticObject`, then `dynamicDateFrom` considers the date range of available data for the analytic object.\n Then, if `direction` is `BACKWARD`, query backward from the data **end** date and if `direction` is `FORWARD`, query forward from the data **start** date.\n This allows you to keep getting the latest or earliest data without changing your query every time there's new or updated data. \n\n Example: If a tenant has Headcount metric data available from 2023-01-01 to 2024-01-01 (End date exclusive), specifying `dynamicDateFrom`: `SOURCE` with `direction`: `BACKWARD`\n means the query will retrieve data backward from 2024-01-01. The effect is the same as if specifying a `fromDateTime` of 2024-01-01'T'00:00:00.000. \n\n Example: If a tenant has Employee subject data available from 2023-01-01 to 2024-01-01 (End date exclusive), specifying `dynamicDateFrom`: `SOURCE` with `direction`: `FORWARD` \n means the query will retrieve data forward from 2023-01-01. The effect is the same as if specifying a `fromDateTime` of 2023-01-01'T'00:00:00.000.\n\n Example: If a tenant has Employee subject data available from 2023-01-10 to 2023-04-01 (End date exclusive), specifying `dynamicDateFrom`: `COMPLETE_PERIOD` with `direction`: `FORWARD` \n means the query will retrieve data forward from 2023-02-01. The effect is the same as if specifying a `fromDateTime` of 2023-02-01'T'00:00:00.000.\n\n Example: If a tenant has Employee subject data available from 2023-01-01 to 2023-03-15 (End date exclusive), specifying `dynamicDateFrom`: `COMPLETE_PERIOD` with `direction`: `BACKWARD` \n means the query will retrieve data backward from 2023-03-01. The effect is the same as if specifying a `fromDateTime` of 2023-03-01'T'00:00:00.000.\n\n Example: Retrieve a list of EmployeeIDs for the formula extending 1 month backward from the dynamic source date\n\n ```\n {\n \"source\": {\n \"formula\": \"on Employee validUntil instant filterBy(isActiveEmployee) aggregate count(Employee.EmployeeID)\"\n },\n \"columns\": [\n {\n \"columnDefinition\": {\n \"property\": {\n \"name\": \"Employee.EmployeeID\",\n \"qualifyingPath\": \"Employee\"\n }\n }\n },\n {\n \"columnDefinition\": {\n \"effectiveDateProperty\": {}\n }\n }\n ],\n \"timeInterval\": {\n \"dynamicDateFrom\": \"SOURCE\",\n \"intervalPeriodType\": \"MONTH\",\n \"intervalPeriodCount\": 1,\n \"direction\": \"BACKWARD\"\n }\n }\n ```"
format: enum
intervalPeriodType:
enum:
- MONTH
- DAY
- WEEK
- QUARTER
- YEAR
type: string
description: The time period type for each interval. Default is MONTH.
format: enum
intervalPeriodCount:
type: integer
description: The number of time periods per interval.
format: int32
direction:
enum:
- BACKWARD
- FORWARD
type: string
description: The direction to extend. Default is BACKWARD. BACKWARD is useful when the time instant is the current date or with `dynamicDateFrom` because the query continuously retrieves the newest data from current date backwards.
format: enum
shift:
allOf:
- $ref: '#/components/schemas/dataservices.query.TimeShiftDTO'
description: The amount of time to shift the time interval by, such as backward by one year. Default is none.
dataservices.query.SnapshotQueryExecutionOptionsDTO:
type: object
properties:
limit:
type: integer
description: "The maximum number of entries to return. Default is to return all entries. If `page` is defined but\n limit is not defined, limit will be set to a default value of 1000."
format: int32
queryMode:
enum:
- DEFAULT
- FILL
- FAIL
type: string
description: Determines how the query should handle column definitions that the query is unable to resolve. Default is DEFAULT.
format: enum
omitHeader:
type: boolean
description: "Option to omit the header from the result.\n If true, queryMode must be either FILL or FAIL.\n Default is false."
calendarType:
enum:
- TENANT_CALENDAR
- GREGORIAN_CALENDAR
type: string
description: "The calendar type to use. This will be used for all time calculations unless explicitly overridden in\n the calculation itself. Default is TENANT_CALENDAR."
format: enum
currencyConversionDate:
type: string
description: The currency conversion date to use. If defined, the currency conversion will use the exchange rates as of this date.
page:
type: integer
description: "A page defines a subset of the overall result set. The number of rows per page is equal to limit\n with the exception of the last page in the result set which may contain fewer rows. `Page` is an index\n that begins at 0. The index to start retrieving results is calculated by multiplying `page` by `limit`."
format: int32
multipleTables:
type: boolean
description: "Option to return multiple table files as zipped archive for derived metrics.\n Default is false. If false, one table is returned for the drill-through metric."
currencyConversionCode:
type: string
description: "The optional target currency for all currency conversions.\n If not specified, the tenant default currency will be used."
dateTimeDisplayMode:
enum:
- EPOCH
- DATETIME
type: string
description: "Control how date-time values are displayed in the result set.\n Supported values:\n * `EPOCH`: The number of elapsed milliseconds since January 1, 1970 in UTC timezone. This is the default.\n * `DATETIME`: The date-time value displayed in `yyyy-MM-dd HH:mm:ssZZ` format."
format: enum
description: A SnapshotQueryExecutionOptions provides additional instructions to perform a snapshot query.
dataservices.query.AggregationTypeParameterValueDTO:
type: object
properties:
parameterId:
type: string
description: The unique ID of the aggregation parameter.
aggregationOptionId:
type: string
description: The unique ID of the aggregation option.
description: The value for an aggregation parameter.
dataservices.query.MemberFilterDTO:
type: object
properties:
dimension:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.DimensionReferenceDTO'
description: The dimension in which the members belong.
values:
allOf:
- $ref: '#/components/schemas/dataservices.common.MemberValuesDTO'
description: The dimension members to filter by.
description: "Member filters are dimension member values to filter by in your query. The member filters are\n defined within the filters section of a query definition. You can filter by dimension members in\n aggregate and list queries."
dataservices.query.CellSetAxisPositionDTO:
type: object
properties:
path:
type: array
items:
type: string
description: "A list of strings representing the members within a dimension path. For example,\n a dimension for Location may have the paths \"Canada, BC, Vancouver\" and \"US, California, San Francisco\"."
displayName:
type: string
description: The display name of the position. This is optional and is omitted if unavailable or not requested.
displayNamePath:
type: array
items:
type: string
description: Optional display name path of the member.
description: The position along the axis of a cell set.
data_out.ListResponse:
type: object
properties:
header:
$ref: '#/components/schemas/google.protobuf.Any'
rows:
type: array
items:
$ref: '#/components/schemas/google.protobuf.Any'
dataservices.query.QueryAxisSortDTO:
type: object
properties:
sortType:
enum:
- CONFIGURED
- METRIC_VALUE
type: string
description: "The order in which to return axis members in the response. Valid values:\n - `CONFIGURED`: Sorts axis members by their configuration:\n - For parent-child dimensions, sorts axis members alphabetically by name.\n - For all other dimensions, sorts axis members by their configured order in Studio.\n - Unknown members are always placed at the end of the axis.\n - `METRIC_VALUE`: Sorts axis members by their metric values. Applicable if there is only one query axis and only one time axis member."
format: enum
sortDirection:
enum:
- SORT_ASCENDING
- SORT_DESCENDING
type: string
description: "The direction in which to return axis members in the response. Valid values:\n - `SORT_ASCENDING`: Sorts axis members in ascending order.\n - `SORT_DESCENDING`: Sorts axis members in descending order."
format: enum
description: Sort the axis members returned in the response by type and direction.
dataservices.query.QueryExecutionErrorDetailsDTO:
type: object
properties:
objectType:
type: string
description: Query request object type.
queryIndex:
type: integer
description: The position of the query within the request query list.
format: int32
columnIndex:
type: integer
description: The position of the column within the request column list.
format: int32
error:
type: string
description: The details of the error.
description: The details of a error that occurred during query execution.
dataservices.query.KeyGroupFilterItemDTO:
type: object
properties:
formula:
type: string
description: A filter expressed as a formula.
selectionConcept:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.SelectionConceptReferenceDTO'
description: A filter that uses an existing selection concept in Visier.
memberSet:
allOf:
- $ref: '#/components/schemas/dataservices.query.MemberFilterDTO'
description: A filter that includes or excludes dimension members.
description: An individual filter in a key group.
Status:
type: object
properties:
localizedMessage:
type: string
description: Localized error message describing the root cause of the error.
code:
type: string
description: Error classification.
message:
type: string
description: Not used.
rci:
type: string
description: Optional root cause identifier.
userError:
type: boolean
description: Indicates whether the error is a user error.
description: The response structure for errors.
dataservices.query.AggregationQueryExecutionDTO:
type: object
properties:
query:
allOf:
- $ref: '#/components/schemas/dataservices.query.AggregationQueryDTO'
description: "The data to perform an aggregation on, such as a metric or formula. The query must include a time interval,\n and may optionally include filters and axes."
options:
allOf:
- $ref: '#/components/schemas/dataservices.query.AggregateQueryExecutionOptionsDTO'
description: Additional instructions for your query, such as a calendar type or conversion information.
description: An AggregationQueryExecution provides instructions to perform your aggregation query.
dataservices.query.QueryNumericRangesDTO:
type: object
properties:
property:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryPropertyDTO'
description: The name and qualifying path of a numeric property. Non-numeric properties are not accepted.
ranges:
type: string
description: The ranges to group data into, expressed as a space-separated string of range-bound values.
includeNegative:
type: boolean
description: If `true`, negative ranges are included. Default is false.
includeIndependentZeroRange:
type: boolean
description: If `true`, 0 is an independent range. Default is false.
includeAllMember:
type: boolean
description: If `true`, a member is included that represents all members on the axis. Default is false.
description: A QueryNumericRanges groups data into specified ranges based on a property value.
dataservices.query.QueryDimensionLeafSelectionDTO:
type: object
properties:
dimension:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.DimensionReferenceDTO'
description: A dimension and its qualifying path to query.
description: "A QueryDimensionLeafSelection allows you to define a member set consisting exclusively\n of leaf-level members for the given dimension. Leaf members are those members that have\n no descendents. A member may be a leaf member regardless of the level it is positioned at.\n This member selection option, excludes data members."
dataservices.query.TimeShiftDTO:
type: object
properties:
periodType:
enum:
- MONTH
- DAY
- WEEK
- QUARTER
- YEAR
type: string
description: The time period type for the shift.
format: enum
periodCount:
type: integer
description: The number of intervals. Default is 1.
format: int32
direction:
enum:
- BACKWARD
- FORWARD
type: string
description: The direction to extend. Default is BACKWARD.
format: enum
description: The amount of time to shift the time interval by, such as backward by one year.
dataservices.query.QueryMemberMapPropertyDTO:
type: object
properties:
memberMap:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.DimensionReferenceDTO'
description: A member map and its qualifying path to query.
targetDimensionName:
type: string
description: The name of the member map's dimension that you want to query. The member selection is based on this dimension.
description: A QueryMemberMapProperty defines an existing member map and its dimension to query.
dataservices.query.CellSetOrErrorDTO:
type: object
properties:
cellSet:
allOf:
- $ref: '#/components/schemas/dataservices.query.CellSetDTO'
description: The resulting cell set from a successful query execution.
error:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryExecutionErrorDTO'
description: An error for a failed query execution.
description: A result that is either a cell set for a successful query execution, or an error for a failed query execution.
dataservices.query.AggregationQuerySourceMetricsDTO:
type: object
properties:
columns:
type: array
items:
$ref: '#/components/schemas/dataservices.query.AggregationQuerySourceMetricDTO'
description: An array of metric columns.
description: "The IDs and column names of multiple metrics.\n\n **Note:**\n Only available when the `Accept` header is `text/csv`."
TableResponseDTO:
type: object
properties:
header:
type: object
additionalProperties:
type: string
description: Description of the columns in the result set.
rows:
type: array
description: Result rows in key-value format.
items:
type: object
additionalProperties:
type: string
dataservices.common.DimensionMemberReferenceDTO:
type: object
properties:
path:
type: array
items:
type: string
description: "A list of strings representing the members within a dimension path. For example, a dimension for Location\n may have the paths \"Canada, BC, Vancouver\" and \"US, California, San Francisco\"."
memberId:
deprecated: true
type: string
description: "This will be removed as of Spring 2027. Use `path` to identify dimension members instead.\n\n The unique identifier of the dimension member."
description: The members of a dimension.
dataservices.query.SqlLikeQueryExecutionDTO:
type: object
properties:
query:
type: string
description: The SQL-like query string
options:
deprecated: true
allOf:
- $ref: '#/components/schemas/dataservices.query.AggregateQueryExecutionOptionsDTO'
description: "This will be removed as of Spring 2026. Use `aggregateQueryOptions` instead.\n If both `options` and `aggregateQueryOptions` are specified, `aggregateQueryOptions` takes precedence.\n\n Optional aggregate query options.\n **Note**: `enableDescendingSpace` is not supported in SQL-like aggregate queries."
aggregateQueryOptions:
allOf:
- $ref: '#/components/schemas/dataservices.query.AggregateQueryExecutionOptionsDTO'
description: "Options to apply to a SQL-like aggregate query. The query is aggregate if it contains at least one metric.\n **Note**: `enableDescendingSpace` is not supported in SQL-like aggregate queries."
listQueryOptions:
allOf:
- $ref: '#/components/schemas/dataservices.query.ListQueryExecutionOptionsDTO'
description: "Options to apply to a SQL-like list query. The query is list if it contains no metrics and has only properties.\n **Note**: `multipleTables` is not supported in SQL-like list queries."
description: "*\n Request body for SQL-like query executions, which can be either an aggregate or list query.\n For examples that distinguish between aggregate and list queries, see the `POST /v1/data/query/sql` description."
dataservices.query.QueryTimeIntervalsDTO:
type: object
properties:
intervalPeriodType:
enum:
- MONTH
- DAY
- WEEK
- QUARTER
- YEAR
type: string
description: The time period type for each interval. Default is MONTH.
format: enum
intervalPeriodCount:
type: integer
description: The number of time periods per interval. Default is 1.
format: int32
intervalCount:
type: integer
description: The number of intervals. Default is 1.
format: int32
direction:
enum:
- BACKWARD
- FORWARD
type: string
description: The direction to extend. Defaults is BACKWARD.
format: enum
shift:
allOf:
- $ref: '#/components/schemas/dataservices.query.TimeShiftDTO'
description: The amount of time to shift the time interval by, such as backward by one year.
trailingPeriodType:
enum:
- MONTH
- DAY
- WEEK
- QUARTER
- YEAR
type: string
description: "The time period type for each trailing period. If `trailingPeriodCount` is defined and `trailingPeriodType` is undefined, the default trailing period type is `MONTH`.\n If both `trailingPeriodType` and `trailingPeriodCount` are undefined, `intervalPeriodCount` is used as the trailing period count.\n Note: This parameter is only applicable to metrics that can calculate trailing time. If defined on a metric that doesn't have trailing time, the platform ignores the parameter."
format: enum
trailingPeriodCount:
type: integer
description: "The number of time periods per trailing period. If `trailingPeriodType` is defined and `trailingPeriodCount` is undefined, the default trailing period count is 1.\n Note: This parameter is only applicable to metrics that can calculate trailing time. If defined on a metric that doesn't have trailing time, the platform ignores the parameter."
format: int32
description: "A QueryTimeIntervals defines a series of time intervals to query, including the \"from\" time, period type, period count,\n number of intervals, time direction, and shift to apply to each time interval."
oneOf:
- title: QueryTimeIntervalsDTO with fromInstant
required:
- fromInstant
properties:
fromInstant:
type: string
description: "The instant from which to extend, in milliseconds since 1970-01-01T00:00:00Z.\n Events that occur on this date are excluded. Subject-based data that ends on this date is included.\n Note: Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's\n inherent limitation in representing large numbers."
intervalPeriodType:
enum:
- MONTH
- DAY
- WEEK
- QUARTER
- YEAR
type: string
description: The time period type for each interval. Default is MONTH.
format: enum
intervalPeriodCount:
type: integer
description: The number of time periods per interval. Default is 1.
format: int32
intervalCount:
type: integer
description: The number of intervals. Default is 1.
format: int32
direction:
enum:
- BACKWARD
- FORWARD
type: string
description: The direction to extend. Defaults is BACKWARD.
format: enum
shift:
allOf:
- $ref: '#/components/schemas/dataservices.query.TimeShiftDTO'
description: The amount of time to shift the time interval by, such as backward by one year.
trailingPeriodType:
enum:
- MONTH
- DAY
- WEEK
- QUARTER
- YEAR
type: string
description: "The time period type for each trailing period. If `trailingPeriodCount` is defined and `trailingPeriodType` is undefined, the default trailing period type is `MONTH`.\n If both `trailingPeriodType` and `trailingPeriodCount` are undefined, `intervalPeriodCount` is used as the trailing period count.\n Note: This parameter is only applicable to metrics that can calculate trailing time. If defined on a metric that doesn't have trailing time, the platform ignores the parameter."
format: enum
trailingPeriodCount:
type: integer
description: "The number of time periods per trailing period. If `trailingPeriodType` is defined and `trailingPeriodCount` is undefined, the default trailing period count is 1.\n Note: This parameter is only applicable to metrics that can calculate trailing time. If defined on a metric that doesn't have trailing time, the platform ignores the parameter."
format: int32
- title: QueryTimeIntervalsDTO with fromDatetime
required:
- fromDateTime
properties:
fromDateTime:
type: string
description: "The instant from which to extend, as an ISO-8601 formatted date time string. This value is exclusive.\n Valid formats: yyyy-MM-dd, yyyy-MM-dd'T'HH:mm:ss, yyyy-MM-dd'T'HH:mm:ss.SSS.\n Events that occur on this date are excluded. Subject-based data that ends on this date is included."
intervalPeriodType:
enum:
- MONTH
- DAY
- WEEK
- QUARTER
- YEAR
type: string
description: The time period type for each interval. Default is MONTH.
format: enum
intervalPeriodCount:
type: integer
description: The number of time periods per interval. Default is 1.
format: int32
intervalCount:
type: integer
description: The number of intervals. Default is 1.
format: int32
direction:
enum:
- BACKWARD
- FORWARD
type: string
description: The direction to extend. Defaults is BACKWARD.
format: enum
shift:
allOf:
- $ref: '#/components/schemas/dataservices.query.TimeShiftDTO'
description: The amount of time to shift the time interval by, such as backward by one year.
trailingPeriodType:
enum:
- MONTH
- DAY
- WEEK
- QUARTER
- YEAR
type: string
description: "The time period type for each trailing period. If `trailingPeriodCount` is defined and `trailingPeriodType` is undefined, the default trailing period type is `MONTH`.\n If both `trailingPeriodType` and `trailingPeriodCount` are undefined, `intervalPeriodCount` is used as the trailing period count.\n Note: This parameter is only applicable to metrics that can calculate trailing time. If defined on a metric that doesn't have trailing time, the platform ignores the parameter."
format: enum
trailingPeriodCount:
type: integer
description: "The number of time periods per trailing period. If `trailingPeriodType` is defined and `trailingPeriodCount` is undefined, the default trailing period count is 1.\n Note: This parameter is only applicable to metrics that can calculate trailing time. If defined on a metric that doesn't have trailing time, the platform ignores the parameter."
format: int32
- title: QueryTimeIntervalsDTO with dynamicDateFrom
required:
- dynamicDateFrom
properties:
dynamicDateFrom:
enum:
- SOURCE
- COMPLETE_PERIOD
type: string
description: "Dynamically select the date from which to extend. Valid values are `SOURCE` or `COMPLETE_PERIOD`. Both options use the `source` query definition element to determine the date.\n\n If `dynamicDateFrom` is `SOURCE`, the query returns data from a date determined by the `source` query definition element. If `dynamicDateFrom` is `COMPLETE_PERIOD`, the query returns data starting from the latest or earliest date with a complete period of data. When `dynamicDateFrom` is specified:\n * If `source` is `metric`, then `dynamicDateFrom` considers the date range of available data for the metric.\n * If `source` is `formula`, then `dynamicDateFrom` considers the date range of available data for the metric in the formula.\n * If `source` is `metrics`, then `dynamicDateFrom` considers the date range of available data for the metric in the formula.\n Then, if `direction` is `BACKWARD`, query backward from the data **end** date and if `direction` is `FORWARD`, query forward from the data **start** date. \n This allows you to keep getting the latest or earliest data without changing your query every time there's new or updated data.\n\n Note: For multi-metric queries, if `direction` is `BACKWARD`, query backward from the earliest data end date of all metrics and if `direction` is `FORWARD`, query forward from the latest data start date of all metrics. \n This ensures that all metrics have data in the specified time range.\n\n Example: If a tenant has Headcount metric data available from 2023-01-01 to 2024-01-01 (End date exclusive), specifying `dynamicDateFrom`: `SOURCE` with `direction`: `BACKWARD` \n means the query will retrieve data backward from 2024-01-01. The effect is the same as if specifying a `fromDateTime` of 2024-01-01'T'00:00:00.000. \n\n Example: If a tenant has Employee subject data available from 2023-01-10 to 2023-04-01 (End date exclusive), specifying `dynamicDateFrom`: `COMPLETE_PERIOD` with `direction`: `FORWARD` \n means the query will retrieve data forward from 2023-02-01. The effect is the same as if specifying a `fromDateTime` of 2023-02-01'T'00:00:00.000. \n\n Example: If a tenant has Employee subject data available from 2023-01-01 to 2023-03-15 (End date exclusive), specifying `dynamicDateFrom`: `COMPLETE_PERIOD` with `direction`: `BACKWARD` \n means the query will retrieve data backward from 2023-03-01. The effect is the same as if specifying a `fromDateTime` of 2023-03-01'T'00:00:00.000. \n\n Example: If a tenant has Headcount data available from 2023-01-01 to 2024-09-01 and Exit Count data available from 2023-01-01 to 2024-01-01, specifying `dynamicDateFrom`: `SOURCE` with `direction`: `BACKWARD` means the query will retrieve data backward from 2024-01-01. \n Exit Count has an earlier data end date than Headcount, so `dynamicDateFrom` retrieves data backward from Exit Count's data end date to ensure both metrics have data in the specified time range.\n\n Example: Retrieve Headcount (employeeCount) extending 1 month backward from Headcount's dynamic source date\n\n ```\n {\n \"query\": {\n \"source\": {\n \"metric\": \"employeeCount\"\n },\n \"timeIntervals\": {\n \"dynamicDateFrom\": \"SOURCE\",\n \"intervalPeriodType\": \"MONTH\",\n \"intervalCount\": 1,\n \"direction\": \"BACKWARD\"\n }\n }\n }\n ```"
format: enum
intervalPeriodType:
enum:
- MONTH
- DAY
- WEEK
- QUARTER
- YEAR
type: string
description: The time period type for each interval. Default is MONTH.
format: enum
intervalPeriodCount:
type: integer
description: The number of time periods per interval. Default is 1.
format: int32
intervalCount:
type: integer
description: The number of intervals. Default is 1.
format: int32
direction:
enum:
- BACKWARD
- FORWARD
type: string
description: The direction to extend. Defaults is BACKWARD.
format: enum
shift:
allOf:
- $ref: '#/components/schemas/dataservices.query.TimeShiftDTO'
description: The amount of time to shift the time interval by, such as backward by one year.
trailingPeriodType:
enum:
- MONTH
- DAY
- WEEK
- QUARTER
- YEAR
type: string
description: "The time period type for each trailing period. If `trailingPeriodCount` is defined and `trailingPeriodType` is undefined, the default trailing period type is `MONTH`.\n If both `trailingPeriodType` and `trailingPeriodCount` are undefined, `intervalPeriodCount` is used as the trailing period count.\n Note: This parameter is only applicable to metrics that can calculate trailing time. If defined on a metric that doesn't have trailing time, the platform ignores the parameter."
format: enum
trailingPeriodCount:
type: integer
description: "The number of time periods per trailing period. If `trailingPeriodType` is defined and `trailingPeriodCount` is undefined, the default trailing period count is 1.\n Note: This parameter is only applicable to metrics that can calculate trailing time. If defined on a metric that doesn't have trailing time, the platform ignores the parameter."
format: int32
dataservices.query.QueryDimensionMemberSelectionDTO:
type: object
properties:
dimension:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.DimensionReferenceDTO'
description: A dimension and its qualifying path to query.
members:
type: array
items:
$ref: '#/components/schemas/dataservices.common.DimensionMemberReferenceDTO'
description: A collection of dimension members to select in the query. This must contain at least one member.
description: A QueryDimensionMemberSelection defines dimension members to select in the query.
google.protobuf.Any:
type: object
properties:
'@type':
type: string
description: The type of the serialized message.
additionalProperties: true
description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
dataservices.query.SortOptionDTO:
type: object
properties:
columnIndex:
type: integer
description: The index of the column of the list query, staring from 0.
format: int32
sortDirection:
enum:
- SORT_ASCENDING
- SORT_DESCENDING
type: string
description: The sort direction.
format: enum
description: Sort option for a column of a list query.
dataservices.query.QueryFilterDTO:
type: object
properties:
formula:
type: string
description: A filter expressed as a formula.
selectionConcept:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.SelectionConceptReferenceDTO'
description: A filter that uses an existing selection concept in Visier.
memberSet:
allOf:
- $ref: '#/components/schemas/dataservices.query.MemberFilterDTO'
description: A filter that includes or excludes dimension members.
cohort:
allOf:
- $ref: '#/components/schemas/dataservices.query.CohortFilterDTO'
description: A filter that identifies a population at a specific time.
description: A QueryFilter selects specific data points within a population.
dataservices.query.CellSetAxisDTO:
type: object
properties:
dimension:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.DimensionReferenceDTO'
description: The dimension associated with the axis.
positions:
type: array
items:
$ref: '#/components/schemas/dataservices.query.CellSetAxisPositionDTO'
description: A list of paths that represent the data's positions along the axis.
description: The axis of a cell set associated with a dimension.
dataservices.query.PlanParameterValueDTO:
type: object
properties:
parameterId:
type: string
description: The unique ID of the plan parameter qualified by the object.
planId:
type: string
description: The unique ID of the plan the parameter is based on.
scenarioId:
type: string
description: The unique ID of the scenario the parameter is based on.
snapshotId:
type: string
description: The unique ID of the snapshot the parameter is based on.
description: The value for a parameter on a planning metric, including the parameter ID and the plan the parameter is based on.
dataservices.query.CellDTO:
type: object
properties:
value:
type: string
description: The value of the cell.
support:
type: string
description: The number of data points contributing to this cell.
coordinates:
type: array
items:
type: integer
format: int32
description: A list of integers representing the coordinates of this cell, identifying its position along each axis.
distribution:
type: array
items:
$ref: '#/components/schemas/dataservices.query.CellDistributionBinDTO'
description: "The optional distribution of this cell.\n This will be populated if distribution calculation is requested, and supported by the query."
description: An individual value in a cell set.
dataservices.query.QueryAxisLimitDTO:
type: object
properties:
limitType:
enum:
- FIRST_N
- LAST_N
type: string
description: "The type of limit to apply to the axis. Valid values:\n - `FIRST_N`: Limits the axis to the first N members.\n - `LAST_N`: Limits the axis to the last N members."
format: enum
n:
type: integer
description: If `limitType` is defined, the number of axis members to include. `n` must be at least `1`. If less than `1`, no limit is applied.
format: int32
showOthers:
type: boolean
description: If `true`, includes an `Others` member that aggregates all members not included in the limited set. Default is `false`.
description: Limit the number of axis members returned in the response.
dataservices.query.QueryEffectiveDatePropertyDTO:
type: object
properties: {}
description: A special property that yields the effective date for the record
dataservices.query.CellSetDTO:
type: object
properties:
cells:
type: array
items:
$ref: '#/components/schemas/dataservices.query.CellDTO'
description: The set of cells that represent the result of your query.
axes:
type: array
items:
$ref: '#/components/schemas/dataservices.query.CellSetAxisDTO'
description: The set of axes for the cell set that represent the objects the data is grouped by.
lineage:
allOf:
- $ref: '#/components/schemas/dataservices.query.LineageDTO'
description: Lineage information for this cell set. This can be omitted if the cell has no lineage or the user did not request lineage information.
description: "The set of cells returned from executing an aggregation query.\n A CellSet represents a structured, multidimensional array of values."
dataservices.query.MemberParameterValueDTO:
type: object
properties:
parameterId:
type: string
description: The unique ID of the member parameter qualified by the object.
dimensionId:
type: string
description: The unique ID of the dimension on which the parameter is based.
referencePath:
type: array
items:
type: string
description: The analytic object reference path from the metric to the dimension.
values:
allOf:
- $ref: '#/components/schemas/dataservices.common.MemberValuesDTO'
description: The included and excluded member references in a dimension filter.
description: "The member value of a parameter, including the parameter ID, dimension that the parameter is based on,\n and the included and excluded members for the parameter."
dataservices.query.AggregateQueryExecutionOptionsDTO:
type: object
properties:
calendarType:
enum:
- TENANT_CALENDAR
- GREGORIAN_CALENDAR
type: string
description: "The calendar type to use. This will be used for all time calculations unless explicitly overridden in\n the calculation itself. Default is TENANT_CALENDAR."
format: enum
currencyConversionMode:
deprecated: true
enum:
- TENANT_CURRENCY_CONVERSION
- VISIER_CURRENCY_CONVERSION
type: string
description: "This will be removed as of Winter 2026. Use `currencyConversionCode` instead. \n\n The currency conversion mode to use. This will be used for all currency conversion calculations unless explicitly overridden in the calculation itself. Default is TENANT_CURRENCY_CONVERSION."
format: enum
currencyConversionDate:
type: string
description: "The currency conversion date to use. If defined, the currency conversion will use the exchange rates as of this date.\n Default is the exchange rate at the end of the query time interval. Format is the number of milliseconds since\n midnight 01 January, 1970 UTC as a string. Note: Epochs are expressed as 64-bit integers and represented as\n stringified longs in JSON due to JSON's inherent limitation in representing large numbers."
lineageDepth:
type: integer
description: The max number of levels of nesting to unwind when determining the lineage for a derived metric value.
format: int32
zeroVisibility:
enum:
- SHOW
- HIDE
- ELIMINATE
type: string
description: Show or hide zeros in the result. Default is SHOW.
format: enum
nullVisibility:
enum:
- SHOW
- HIDE
- ELIMINATE
type: string
description: Show or hide null or N/A values in the result. Default is SHOW.
format: enum
cellDistributionOptions:
$ref: '#/components/schemas/dataservices.query.CellDistributionOptionsDTO'
axisVisibility:
enum:
- SIMPLE
- VERBOSE
type: string
description: The amount of information to return about each axis. Default is SIMPLE.
format: enum
enableSparseResults:
type: boolean
description: "Retrieve sparse cell sets. Sparse results only retrieve non-zero and non-null cells. Whether a result is truly sparse\n or not is determined by the Visier server."
internal:
$ref: '#/components/schemas/dataservices.query.InternalQueryExecutionOptionsDTO'
enableDescendingSpace:
type: boolean
description: If true, filter non-time axis member sets to only include members that are in aggregate positions or whose previous position is a leaf
currencyConversionCode:
type: string
description: Overrides the tenant's default currency for currency conversions.
memberDisplayMode:
enum:
- DEFAULT
- COMPACT
- DISPLAY
- MDX
- COMPACT_DISPLAY
type: string
description: "Control how member values are displayed. You can override the `memberDisplayMode` on a per-axis basis, if required.\n\n Valid values are `DEFAULT`, `COMPACT`, `DISPLAY`, or `MDX`. Default is `DEFAULT`.\n\n * `DEFAULT`: The default member name representation. For non-time members, this returns the technical member name path.\n For time members, this includes a bracketed member index.\n For example, Time instant member: `2019-06-01T00:00:00.000Z - [0]`\n For example, Time interval member: `2022-06-01T00:00:00.000Z/2022-07-01T00:00:00.000Z - [12]`\n * `COMPACT`: Shortens the member name representation. For time intervals, the member name is the end time of the interval.\n For example, Time instant member: `2019-06-01T00:00:00.000Z`\n For example, Time interval member: `2022-07-01T00:00:00.000Z` where the interval member name was `2022-06-01T00:00:00.000Z/2022-07-01T00:00:00.000Z - [12]`\n * `DISPLAY`: Emits the members' display names whenever possible. When combined with `axisVisibility = VERBOSE`, the full display name path will be emitted.\n * `MDX`: Emits member name paths where each element is enclosed in square brackets, `[]`. Multidimensional expression (MDX) display mode automatically encloses time members in square brackets and puts them in `COMPACT` format.\n For example, Location member `North America.United States.California` becomes `[North America].[United States].[California]` in MDX display mode.\n For example, Time instant member `2019-06-01T00:00:00.000Z - [0]` becomes `[2019-06-01T00:00:00.000Z]` in MDX display mode.\n * `COMPACT_DISPLAY`: Emit the members' display names after compacting. This applies primarily to time members for event-based metrics. Compact display is required when\n running multi-metric queries containing both event-based and subject-based metrics. Multi-metric queries with `DISPLAY` mode are changed\n automatically to `COMPACT_DISPLAY`.\n For example, Time interval member `2022-06-01T00:00:00.000Z/2022-07-01T00:00:00.000Z - [12]` becomes `Jun 30, 2022` in `COMPACT_DISPLAY` mode.\n The exact format of the compacted time member display name depends on the the user's locale."
format: enum
axesOverallValueMode:
enum:
- NONE
- AGGREGATE
- OVERALL
type: string
description: "If `axes` is defined, use `axesOverallValueMode` to specify the type of overall values to return across the axes. Valid values:\n\n * `NONE`: Returns the metric's values for the selected axes and doesn't return overall values. This is the default.\n * `AGGREGATE`: Returns the metric's overall values for the selected axes members.\n * `OVERALL`: Returns the metric's overall values for all axes members.\n\n **Note**: `AGGREGATE` is not supported for lookup overlays because the overall values of selected members cannot be calculated directly from the data.\n\n Example: Let's say you want to know the Headcount of the locations Canada and US and the genders Male and Female. \n\n When `axesOverallValueMode` is `NONE`, the query returns these values:\n * 100 (Canada, Male)\n * 100 (US, Male)\n * 100 (Canada, Female)\n * 100 (US, Female)\n \n When `axesOverallValueMode` is `AGGREGATE`, the query returns these values:\n * 100 (Canada, Male)\n * 100 (US, Male)\n * 100 (Canada, Female)\n * 100 (US, Female)\n * 400 (Overall, Overall)\n * 200 (Overall, Male)\n * 200 (Overall, Female)\n * 200 (Canada, Overall)\n * 200 (US, Overall)\n\n When `axesOverallValueMode` is `OVERALL`, the query returns these values:\n * 100 (Canada, Male)\n * 100 (US, Male)\n * 100 (Canada, Female)\n * 100 (US, Female)\n * 800 (Overall, Overall)\n * 400 (Overall, Male)\n * 400 (Overall, Female)\n * 400 (Canada, Overall)\n * 400 (US, Overall)\n \n In this example, `OVERALL` returns higher overall values than `AGGREGATE` because `AGGREGATE` returns the overall values for the selected locations (Canada, US) and genders (Male, Female), whereas `OVERALL` returns the overall values across all locations and genders in the data."
format: enum
description: An AggregateQueryExecutionOptions provides additional instructions to perform an aggregate query.
dataservices.query.QueryAxisSortAndLimitOptionsDTO:
type: object
properties:
sort:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryAxisSortDTO'
description: Sort the order that axis members returned in the response. For no sorting, omit `sort`.
limit:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryAxisLimitDTO'
description: Limit the number of axis members returned in the response. For no limit, omit `limit`.
description: Sort and limit the axis members returned in the response.
dataservices.query.ListQueryExecutionOptionsDTO:
type: object
properties:
limit:
type: integer
description: "The maximum number of entries to return. Default is to return all entries. If `page` is defined but\n limit is not defined, limit will be set to a default value of 1000."
format: int32
queryMode:
enum:
- DEFAULT
- FILL
- FAIL
type: string
description: Determines how the query should handle column definitions that the query is unable to resolve. Default is DEFAULT.
format: enum
omitHeader:
type: boolean
description: "Option to omit the header from the result.\n If true, queryMode must be either FILL or FAIL.\n Default is false."
calendarType:
enum:
- TENANT_CALENDAR
- GREGORIAN_CALENDAR
type: string
description: "The calendar type to use. This will be used for all time calculations unless explicitly overridden in\n the calculation itself. Default is TENANT_CALENDAR."
format: enum
currencyConversionMode:
deprecated: true
enum:
- TENANT_CURRENCY_CONVERSION
- VISIER_CURRENCY_CONVERSION
type: string
description: "This will be removed as of Winter 2026. Use `currencyConversionCode` instead.\n\n The currency conversion mode to use. This will be used for all currency conversion calculations unless explicitly overridden in the calculation itself. Default is TENANT_CURRENCY_CONVERSION."
format: enum
currencyConversionDate:
type: string
description: The currency conversion date to use. If defined, the currency conversion will use the exchange rates as of this date.
page:
type: integer
description: "A page defines a subset of the overall result set. The number of rows per page is equal to limit\n with the exception of the last page in the result set which may contain fewer rows. `Page` is an index\n that begins at 0. The index to start retrieving results is calculated by multiplying `page` by `limit`."
format: int32
multipleTables:
type: boolean
description: "Option to return multiple table files as zipped archive for derived metrics.\n Default is false. If false, one table is returned for the drill-through metric."
currencyConversionCode:
type: string
description: Overrides the tenant's default currency for currency conversions.
recordMode:
enum:
- NORMAL
- CHANGES
type: string
description: "Influences the type of records used to build the result set, such as whether to return\n one record per entity that is valid in the provided time range or each change record\n falls in the time frame."
format: enum
dateTimeDisplayMode:
enum:
- EPOCH
- DATETIME
type: string
description: "Control how date-time values are displayed in the result set.\n Supported values:\n * `EPOCH`: The number of elapsed milliseconds since January 1, 1970 in UTC timezone. This is the default.\n * `DATETIME`: The date-time value displayed in `yyyy-MM-dd HH:mm:ssZZ` format."
format: enum
description: A ListQueryExecutionOptions provides additional instructions to perform a list query.
dataservices.query.PropertyColumnDTO:
type: object
properties:
columnName:
type: string
description: "The name of the column. This is optional.\n If not specified, the name of the property is used, or a generic column name if the property is unnamed."
columnDefinition:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryPropertyDTO'
description: The definition of the property to query on.
description: A named, result column of a list query.
dataservices.query.InternalQueryExecutionOptionsDTO:
type: object
properties:
sparseHandlingMode:
enum:
- ALLOW
- DISALLOW
- FORCE
type: string
format: enum
alignTimeAxisToPeriodEnd:
type: boolean
description: "If true, shifts the time axis members back by one millisecond.\n Shifting the time axis members back by one millisecond makes them valid at the end of the period instead of at the start of the next period.\n This aligns the returned data timestamps with the timestamps in the Visier application.\n\n Example: If the timestamps are originally [`2019-06-01T00:00:00.000Z`, `2019-05-01T00:00:00.000Z`],\n then `alignTimeAxisPeriodEnd` turns the timestamps into [`2019-05-31T23:59:59.999Z`, `2019-04-30T23:59:59.999Z`].\n\n Example: If the timestamps are originally [`2019-05-01T00:00:00.000Z/2019-06-01T00:00:00.000Z`, `2019-04-01T00:00:00.000Z/2019-05-01T00:00:00.000Z`],\n then `alignTimeAxisPeriodEnd` turns the timestamps into [`2019-05-01T00:00:00.000Z/2019-05-31T23:59:59.999Z`, `2019-04-01T00:00:00.000Z/2019-04-30T23:59:59.999Z`]."
description: Query options for Visier use. Not supported for customer or partner use.
dataservices.query.QueryExecutionErrorsDTO:
type: object
properties:
errorCode:
type: string
description: A brief identifier of the type of error.
message:
type: string
description: The message of the error.
allErrorDetails:
type: array
items:
$ref: '#/components/schemas/dataservices.query.QueryExecutionErrorDetailsDTO'
description: The list of the error details.
description: The errors that occurred during query execution.
dataservices.query.ListQueryExecutionDTO:
type: object
properties:
source:
allOf:
- $ref: '#/components/schemas/dataservices.query.ListQuerySourceDTO'
description: The source data that you want to query.
columns:
type: array
items:
$ref: '#/components/schemas/dataservices.query.PropertyColumnDTO'
description: The columns to include in the result. This must contain at least one column.
sortOptions:
type: array
items:
$ref: '#/components/schemas/dataservices.query.SortOptionDTO'
description: The index and direction to sort a column in the `columns` array.
filters:
type: array
items:
$ref: '#/components/schemas/dataservices.query.QueryFilterDTO'
description: The filters of this query. Omit `filters` if no filtering is required.
timeInterval:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryTimeIntervalDTO'
description: The time that the data is valid, such as a specific day or period of months.
parameterValues:
type: array
items:
$ref: '#/components/schemas/dataservices.query.QueryParameterValueDTO'
description: The parameter values for either member or numeric parameters.
options:
allOf:
- $ref: '#/components/schemas/dataservices.query.ListQueryExecutionOptionsDTO'
description: Additional instructions for your query, such as a calendar type or conversion information.
description: A ListQueryExecution provides instructions to perform a list query.
dataservices.query.AggregationQueryDTO:
type: object
properties:
source:
allOf:
- $ref: '#/components/schemas/dataservices.query.AggregationQuerySourceDTO'
description: The source data, such as a metric or formula, to query.
filters:
type: array
items:
$ref: '#/components/schemas/dataservices.query.QueryFilterDTO'
description: "The objects by which to filter the query, such as dimensions or concepts.\n A filter defines the population to retrieve data from. Omit `filters` if no filtering is required."
axes:
type: array
items:
$ref: '#/components/schemas/dataservices.query.QueryAxisDTO'
description: "The objects by which to group the query. An axis defines the groups that the data belongs to.\n Omit `axes` if no grouping is required."
timeIntervals:
allOf:
- $ref: '#/components/schemas/dataservices.query.QueryTimeIntervalsDTO'
description: The time intervals to query.
parameterValues:
type: array
items:
$ref: '#/components/schemas/dataservices.query.QueryParameterValueDTO'
description: The values associated with parameters, if defined.
description: "An AggregationQuery defines the data to query in an aggregation query and returns a `cell set` calculated from\n the selected data points."
dataservices.query.QueryDimensionLevelPropertyDTO:
type: object
properties:
dimension:
allOf:
- $ref: '#/components/schemas/dataservices.datamodel.DimensionReferenceDTO'
description: A dimension and its qualifying path to query.
memberValueMode:
enum:
- NAME
- PATH
type: string
description: "Controls how to display member values.\n\n Valid values are `NAME`, `PATH`.\n\n * `NAME`: Returns the member's display name. This is the default.\n * `PATH`: Returns the member's name path."
format: enum
levelId:
type: string
description: The level ID. For example, "Level_1" or "Level_2".
levelDepth:
type: integer
description: The level depth. For a parent-child dimension, depth must be greater than 0. For example, 1 or 2.
format: int32
description: A QueryDimensionLevelPropertyDTO defines an existing dimension level and its dimension to query.
securitySchemes:
CookieAuth:
type: apiKey
name: VisierASIDToken
in: cookie
ApiKeyAuth:
type: apiKey
name: apikey
in: header
BearerAuth:
type: http
scheme: bearer
OAuth2Auth:
type: oauth2
flows:
authorizationCode:
authorizationUrl: /v1/auth/oauth2/authorize
tokenUrl: /v1/auth/oauth2/token
scopes:
read: Grants read access
write: Grants write access
password:
tokenUrl: /v1/auth/oauth2/token
scopes:
read: Grants read access
write: Grants write access
x-tagGroups:
- name: data out
tags:
- DataQuery
- DataVersionExport
- VeeV1
- VeeV2
- Search
- SourceFilesDownload
- Reporting
- DataExportConnectorsAPI