SAQL Statements

A query is made up of statements. Each SAQL statement has an input stream, an operation, and an output stream.

  • arimax

    Uses existing data to predict future data points. The arimax statement must follow a projection statement in your query. Perform any filtering pre-projection or after the arimax statement.

  • cogroup

    Use cogroup to blend data from two or more data streams into a single data stream. The data streams must have at least one common field.

  • fill

    Use fill() to fill in any gaps in date fields. You most often use fill() before using the timeseries statement. By specifying the date fields to check, fill() creates a row that contains the missing month, day, week, quarter, or year and includes a null value. To include values outside the bounds of your data’s date range, specify a start date and end date to override existing limits. The function returns the missing date rows with null values.

  • filter

    Selects rows from a dataset based on a filter predicate.

  • foreach

    Applies a set of expressions to every row in a dataset. This action is often referred to as projection.

  • group-by

    Organizes the rows returned from a query into groups. Within each group, you can apply an aggregate function, such as count() or sum() to get the number of items or sum, respectively.

  • group-by rollup

    rollup is a subclause of group-by that creates and displays aggregations of grouped data. The output of rollup is based on column order in your query.

  • join semi and anti

    Use the join statement with the join_type to create semi-join or anti-join results.

  • limit

    Limits the number of results that are returned. If you don’t set a limit, queries return a maximum of 10,000 rows.

  • load

    Loads a dataset. All SAQL queries start with a load statement.

  • offset

    Use offset to page through the results of your query.

  • order

    Sorts in ascending or descending order on one or more fields.

  • sample

    Returns a random sample from a large dataset, where each data point has an equal probability of being selected. This keyword uses the Bernoulli distribution.

  • timeseries

    Uses existing data to predict future data points. The timeseries statement must follow a projection statement in your query. Perform any filtering pre-projection or after the timeseries statement.

  • union

    Combines multiple result sets into one result set. The result sets must have the same field names and structure. You can use a different dataset to create each result set, or you can use the same dataset.