AVERAGE(Products[Price]) : The average of the all values in the Price column of the Products table. Equivalent to AVERAGE(SELECT(Products[Price], TRUE)). See also SELECT().

AVERAGE([Discounts]) : The average of the all items in the Discounts column value, where Discounts is of type List for some numeric type.

AVERAGE(LIST(1, 2, 3)) : 2.00

AVERAGE(LIST(0) - LIST(0)) (a valid constructed list with a type but no items): 0.00

Average of Select Rows

Compute average product rating from customer feedback within the past month, excluding feedback with no rating:

    Feedback[Product Rating],
      ([Product Rating] > 0),
      ([Submitted] >= (EOMONTH(TODAY(), -2) + DAY(TODAY())))
  • SELECT(Feedback[Product Rating], ...) gets a list of Product Rating values from select rows of the Feedback table.

  • AND(..., ...) limits the SELECT() results to only those rows that match all of the conditions.

  • ([Product Rating] > 0) limits the selection to only rows with a Product Rating value greater than zero, where 0 is the default value and indicates "no rating".

  • ([Submitted] >= ...) further limits the rows to those with a submission date on or after the computed date.

  • (EOMONTH(TODAY(), -2) + DAY(TODAY())) computes the date one month prior to today.

  • AVERAGE(...) computes the average of the selected values.

See also: AND(), DAY(), EOMONTH(), SELECT(), TODAY()

Common Problems

AVERAGE(1, 2, 3) : the arguments are not in list form. To fix, wrap them in LIST() to construct a list: AVERAGE(LIST(1, 2, 3)).


AVERAGE( some-list )


  • some-list (list of any numeric type)

Return Value

Decimal: the computed average of the values of some-list

See Also


Did this answer your question?