# 13.6 Aggregation functions

Source: https://ravindrabagale.com/mr/powerbi/ch13-dax-data-analysis-expressions/13-6-aggregation-functions.html
Language: mr (Marathi with English technical terms)

SUM, AVERAGE, MIN, MAX

Column चा sum, average, smallest / largest value मिळतो. MIN / MAX दोन scalar valuesही स्वीकारतात, उदा. MAX([Total Sales],0).

Avg Line Value = AVERAGE(Orders[Amount])

Largest Order Line = MAX(Orders[Amount])

Fastest Delivery (mins) = MIN(Orders[Delivery Time Mins])

Slowest Delivery (mins) = MAX(Orders[Delivery Time Mins])

First Order Date = MIN(Orders[Order Date])

Last Order Date = MAX(Orders[Order Date])

Lines With Delivery Time = COUNT(Orders[Delivery Time Mins])   -- non-blank values

Order Lines = COUNTROWS(Orders)                 -- number of rows (order lines)

Total Orders = DISTINCTCOUNT(Orders[Order ID])  -- unique orders

Dark Stores With Orders = DISTINCTCOUNT(Orders[Store ID])

Missing Delivery Times = COUNTBLANK(Orders[Delivery Time Mins])

Gross Sales (before discount) = SUMX(Orders, Orders[Amount] + Orders[Discount])

Sales at List Price = SUMX(Orders, Orders[Quantity] * RELATED(Product[Unit Price]))

Avg Sales per Customer = AVERAGEX(VALUES(Customer[Customer ID]), [Total Sales])

Avg Items per Order = AVERAGEX(VALUES(Orders[Order ID]), [Total Quantity])

Busiest Store Orders = MAXX(VALUES(DarkStore[Store Name]), [Total Orders])

Counts मधला फरक

COUNT supported nonblank values मोजतो; column चा data type महत्त्वाचा.

COUNTA nonblank values, Booleanसह, मोजण्यासाठी उपयोगी.

COUNTROWS table च्या rows मोजतो.

DISTINCTCOUNT वेगवेगळ्या values मोजतो; BLANK असेल तर तोही एक value.

COUNTBLANK रिकाम्या values मोजतो.

X functions

SUMX, AVERAGEX, MINX, MAXX, COUNTX यांना table आणि expression लागतात. प्रत्येक row वर expression calculate होतो आणि मग aggregate. Quantity × price आधी प्रत्येक line ला काढून मग sum करायचा असेल तर SUMX वापरा. साध्या column sum साठी SUM स्पष्ट आणि पुरेसा.

Avg Items per Order VALUES(Order ID) वर quantity measure evaluate करतो. Busiest Store मध्ये duplicate store names असतील तर unique Store ID वर iterate करणं योग्य.

रवींद्र बागले यांची tip

Text Amount वर SUM चालवण्याऐवजी Power Query मध्ये type दुरुस्त करा. Rows, nonblank values आणि distinct orders हे वेगळे counts आहेत.
