View Source Ash.Query.Aggregate (ash v3.4.2)
Represents an aggregated association value
Summary
Functions
Create a new aggregate, used with Query.aggregate or Ash.aggregate
Types
@type kind() ::
  :custom | :exists | :avg | :min | :max | :list | :sum | :first | :count
      @type t() :: %Ash.Query.Aggregate{ agg_name: term(), authorize?: term(), constraints: term(), context: term(), default_value: term(), field: term(), filterable?: term(), implementation: term(), include_nil?: term(), join_filters: term(), kind: term(), load: term(), name: term(), query: term(), read_action: term(), relationship_path: term(), resource: term(), sensitive?: term(), sortable?: term(), type: term(), uniq?: term() }
Functions
Create a new aggregate, used with Query.aggregate or Ash.aggregate
Options:
- :path(list of- atom/0) - The relationship path to aggregate over. Only used when adding aggregates to a query. The default value is- [].
- :query(- term/0) - A base query to use for the aggregate, or a keyword list to be passed to- Ash.Query.build/2
- :field- The field to use for the aggregate. Not necessary for all aggregate types.
- :expr(- term/0) - An expression to aggregate, cannot be used with- field.
- :expr_type- The type of the expression, required if- expris used.
- :arguments(- map/0) - Arguments to pass to the field, if field is a calculation.
- :default(- term/0) - A default value to use for the aggregate if it returns- nil.
- :filterable?(- boolean/0) - Whether or not this aggregate may be used in filters. The default value is- true.
- :sortable?(- boolean/0) - Whether or not this aggregate may be used in sorts. The default value is- true.
- :type(- term/0) - A type to use for the aggregate.
- :constraints(- term/0) - Type constraints to use for the aggregate. The default value is- [].
- :implementation(- term/0) - The implementation for any custom aggregates.
- :read_action(- atom/0) - The read action to use for the aggregate, defaults to the primary read action.
- :uniq?(- boolean/0) - Whether or not to only consider unique values. Only relevant for- countand- listaggregates. The default value is- false.
- :include_nil?(- boolean/0) - Whether or not to include- nilvalues in the aggregate. Only relevant for- listand- firstaggregates. The default value is- false.
- :join_filters(map of one or a list of- atom/0keys and- term/0values) - A map of relationship paths (an atom or list of atoms), to an expression to apply when fetching the aggregate data. See the aggregates guide for more. The default value is- %{}.
- :sensitive?(- boolean/0) - Whether or not references to this aggregate will be considered sensitive The default value is- false.
- :authorize?(- boolean/0) - Whether or not the aggregate query should authorize based on the target action.
 See- Ash.Resource.Dsl.aggregates.countfor more information. The default value is- true.