Skip to main content

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, an n ≥ 1 must be provided. If no n is provided or n < 1, a BAD_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, and THIS_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, and PREVIOUS_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, and NEXT_MONTH is selected, then data for July 2022 would be returned. It excludes the current unit of time.

      LAST_N - The last n units of time, including the current one. For example, if today is June 8, 2022 and LAST_N_YEARS with n = 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 and or. 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 over or.

    • 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.