MetricReportInput
The fields for querying a Metric Report.
A Metric Report is a table whose columns include dimensions and Metric values, calculated over a given time range.
fields
propeller optional Propeller
Optionally specifies the Propeller to use. Applications may not set this value. Instead, Application Queries always use the Propeller configured on the Application.
A Propeller determines your Application's query processing power. The larger the Propeller, the faster the queries and the higher the cost. Every Propel Application (and therefore every set of API credentials) has a Propeller that determines the speed and cost of queries.
Learn more about Data Sources.
P1_X_SMALL
Max records per second: 5,000,000 records per second
P1_SMALL
Max records per second: 25,000,000 records per second
P1_MEDIUM
Max records per second: 100,000,000 records per second
P1_LARGE
Max records per second: 250,000,000 records per second
P1_X_LARGE
Max records per second: 500,000,000 records per second
timeRange required TimeRangeInput
The time range for calculating the Metric Report.
The fields required to specify the time range for a time series, counter, or leaderboard Metric query.
If no relative or absolute time ranges are provided, Propel defaults to an absolute time range beginning with the earliest record in the Metric's Data Pool and ending with the latest record.
If both relative and absolute time ranges are provided, the relative time range will take precedence.
If a
LAST_N
relative time period is selected, ann
≥ 1 must be provided. If non
is provided orn
< 1, aBAD_REQUEST
error will be returned.timeRange.relative optional RelativeTimeRange
The relative time period.
The Relative time ranges are based on the current date and time.
THIS
- The current unit of time. For example, if today is June 8, 2022, andTHIS_MONTH
is selected, then data for June 2022 would be returned.PREVIOUS
- The previous unit of time. For example, if today is June 8, 2022, andPREVIOUS_MONTH
is selected, then data for May 2022 would be returned. It excludes the current unit of time.NEXT
- The next unit of time. For example, if today is June 8, 2022, andNEXT_MONTH
is selected, then data for July 2022 would be returned. It excludes the current unit of time.LAST_N
- The lastn
units of time, including the current one. For example, if today is June 8, 2022 andLAST_N_YEARS
withn
= 3 is selected, then data for 2020, 2021, and 2022 will be returned. It will include the current time period.THIS_HOUR
Starts at the zeroth minute of the current hour and continues for 60 minutes.
TODAY
Starts at 12:00:00 AM of the current day and continues for 24 hours.
THIS_WEEK
Starts on Monday, 12:00:00 AM of the current week and continues for seven days.
THIS_MONTH
Starts at 12:00:00 AM on the first day of the current month and continues for the duration of the month.
THIS_QUARTER
Starts at 12:00:00 AM on the first day of the current calendar quarter and continues for the duration of the quarter.
THIS_YEAR
Starts on January 1st, 12:00:00 AM of the current year and continues for the duration of the year.
PREVIOUS_HOUR
Starts at the zeroth minute of the previous hour and continues for 60 minutes.
YESTERDAY
Starts at 12:00:00 AM on the day before the today and continues for 24 hours.
PREVIOUS_WEEK
Starts on Monday, 12:00:00 AM, a week before the current week, and continues for seven days.
PREVIOUS_MONTH
Starts at 12:00:00 AM on the first day of the month before the current month and continues for the duration of the month.
PREVIOUS_QUARTER
Starts at 12:00:00 AM on the first day of the calendar quarter before the current quarter and continues for the duration of the quarter.
PREVIOUS_YEAR
Starts on January 1st, 12:00:00 AM, the year before the current year, and continues for the duration of the year.
NEXT_HOUR
Starts at the zeroth minute of the next hour and continues for 60 minutes.
TOMORROW
" Starts at 12:00:00 AM, the day after the current day, and continues for 24 hours.
NEXT_WEEK
Starts on Monday, 12:00:00 AM, the week after the current week, and continues for the duration of the week.
NEXT_MONTH
Starts at 12:00:00 AM on the first day of the next month and continues for the duration of the month.
NEXT_QUARTER
Starts at 12:00:00 AM on the first day of the next calendar quarter and continues for the duration of the quarter.
NEXT_YEAR
Starts on January 1st, 12:00:00 AM of the next year and continues for the duration of the year.
LAST_N_MINUTES
Starts at the zeroth second
n
- 1 minute(s) before the current minute and continues through the current minute. It includes this minute.LAST_N_HOURS
Starts at the zeroth minute of the
n
- 1 hour(s) before the current hour, and continues through the current hour. It includes this hour.LAST_N_DAYS
Starts at 12:00:00 AM,
n
- 1 day(s) before the current day, and continues through the current day. It includes today.LAST_N_WEEKS
Starts on Monday, 12:00:00 AM,
n
- 1 week(s) before the current week, and continues through the current week. It includes this week.LAST_N_MONTHS
Starts at 12:00:00 AM on the first day of the month,
n
- 1 month(s) before the current month, and continues through the current month. It includes this month.LAST_N_QUARTERS
Starts at 12:00:00 AM on the first day of the calendar quarter
n
- 1 quarter(s) before the current quarter and continues through the current quarter. It includes this quarter.LAST_N_YEARS
Starts on January 1st, 12:00:00 AM of the year
n
- 1 year(s) before the current year and continues through the current year. It includes this year.
timeRange.n optional Int
The number of time units for the
LAST_N
relative periods.timeRange.start optional DateTime
The optional start timestamp (inclusive). Defaults to the timestamp of the earliest record in the Data Pool.
timeRange.stop optional DateTime
The optional end timestamp (exclusive). Defaults to the timestamp of the latest record in the Data Pool.
dimensions required array of MetricReportDimensionInput
One or many dimensions to group the Metric values by. Typically, dimensions in a report are what you want to compare and rank.
The fields for specifying a dimension to include in a Metric Report.
dimensions.columnName required String
The column name of the dimension to include in a Metric Report. This must match the name of a Data Pool column.
dimensions.displayName optional String
The name to display in the
headers
array when displaying the report. This defaults to the column name if unspecified.dimensions.sort optional Sort
The sort order for the dimension. It can be ascending (
ASC
) or descending (DESC
) order. Defaults to ascending (ASC
) order when not provided.The sort order options for Metric Queries.
ASC
Sort in ascending order.
DESC
Sort in descending order.
metrics required array of MetricReportMetricInput
One or more Metrics to include in the Metric Report. These will be broken down by
dimensions
.The fields for specifying a Metric to include in a Metric Report.
metrics.uniqueName optional String
The Metric's unique name. If not specified, Propel will lookup the Metric by ID.
metrics.id optional ID
The Metric's ID. If not specified, Propel will lookup the Metric by unique name.
metrics.displayName optional String
The name to display in the
headers
array when displaying the report. This defaults to the Metric's unique name if unspecified.metrics.filters optional array of FilterInput
The Query Filters to apply when calculating the Metric.
metrics.sort optional Sort
The sort order for the Metric. It can be ascending (
ASC
) or descending (DESC
) order. Defaults to descending (DESC
) order when not provided.The sort order options for Metric Queries.
ASC
Sort in ascending order.
DESC
Sort in descending order.
filters optional array of FilterInput
The Query Filters to apply when building the Metric Report. These can be used to filter out rows.
The fields of a filter.
You can construct more complex filters using
and
andor
. For example, to construct a filter equivalent to(value > 0 AND value <= 100) OR status = "confirmed"
you could write
{ "column": "value", "operator": "GREATER_THAN", "value": "0", "and": [{ "column": "value", "operator": "LESS_THAN_OR_EQUAL_TO", "value": "0" }], "or": [{ "column": "status", "operator": "EQUALS", "value": "confirmed" }] }
Note that
and
takes precedence overor
.filters.column required String
The name of the column to filter on.
filters.operator required FilterOperator
The operation to perform when comparing the column and filter values.
The available Filter operators.
EQUALS
Selects values that are equal to the specified value.
NOT_EQUALS
Selects values that are not equal to the specified value.
GREATER_THAN
Selects values that are greater than the specified value.
GREATER_THAN_OR_EQUAL_TO
Selects values that are greater or equal to the specified value.
LESS_THAN
Selects values that are less than the specified value.
LESS_THAN_OR_EQUAL_TO
Selects values that are less or equal to the specified value.
filters.value required String
The value to compare the column to.
filters.and optional array of FilterInput
Additional filters to AND with this one. AND takes precedence over OR.
filters.or optional array of FilterInput
Additional filters to OR with this one. AND takes precedence over OR.
orderByColumn optional Int
The index of the column to order the Metric Report by. The index is 1-based and defaults to the first Metric column. In other words, by default, reports are ordered by the first Metric; however, you can order by the second Metric, third Metric, etc., by overriding the
orderByColumn
input. You can also order by dimensions this way.first optional Int
The number of rows to be returned when paging forward. It can be a number between 1 and 1,000.
after optional String
The cursor to use when paging forward.
last optional Int
The number of rows to be returned when paging forward. It can be a number between 1 and 1,000.
before optional String
The cursor to use when paging backward.